[JCLOUDS-1430] Aliyun ECS
authorandreaturli <andrea.turli@gmail.com>
Tue, 3 Jul 2018 12:47:43 +0000 (14:47 +0200)
committerAndrea Turli <andrea.turli@gmail.com>
Wed, 12 Sep 2018 04:19:59 +0000 (21:19 -0700)
commit2c7db7e809085a7738d76f5714663231dff0a9f3
tree2361a981fd8b579678fb3c808d21f19976442040
parenta5dbf0065d8fa8cabcaf020b7c10fe2f7ccf8d6a
[JCLOUDS-1430] Aliyun ECS

- add instance API
- add compute abstraction
- add validation for vpc and vSwitch IDs
- add builders for Image and Instance
- add unit tests for compute/functions
- add pagination to instanceStatus api
- rename provider id
- clean up code
- add network apis
- vpc api + tests
- vswitch api + tests
- improve CreateResourcesThenCreateNodes
- create default vpc and vswitch in case needed
- fix InstanceApiLiveTest
- add ECSDependencyViolationRetryHandler
- add ErrorRetryHandler
- fix ListImagesOptions.imageId
- fix enums in Instance and EIPAddress
100 files changed:
aliyun-ecs/README.md [new file with mode: 0644]
aliyun-ecs/pom.xml
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/ECSComputeServiceApi.java
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/ECSComputeServiceProviderMetadata.java
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/ECSServiceApiMetadata.java
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/compute/ECSComputeService.java [new file with mode: 0644]
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/compute/ECSComputeServiceAdapter.java [new file with mode: 0644]
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/compute/config/ECSServiceContextModule.java [new file with mode: 0644]
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/compute/functions/ImageInRegionToImage.java [new file with mode: 0644]
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/compute/functions/InstanceStatusToStatus.java [new file with mode: 0644]
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/compute/functions/InstanceToNodeMetadata.java [new file with mode: 0644]
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/compute/functions/InstanceTypeToHardware.java [new file with mode: 0644]
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/compute/functions/RegionToLocation.java [new file with mode: 0644]
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/compute/functions/internal/OperatingSystems.java [new file with mode: 0644]
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/compute/options/ECSServiceTemplateOptions.java [new file with mode: 0644]
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/compute/strategy/CleanupResources.java [new file with mode: 0644]
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/compute/strategy/CreateResourcesThenCreateNodes.java [new file with mode: 0644]
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/config/ECSComputeServiceHttpApiModule.java
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/domain/AllocatePublicIpAddressRequest.java [new file with mode: 0644]
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/domain/AvailableResource.java [new file with mode: 0644]
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/domain/AvailableZone.java [new file with mode: 0644]
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/domain/DedicatedHostAttribute.java [new file with mode: 0644]
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/domain/EipAddress.java [new file with mode: 0644]
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/domain/ErrorMessage.java [new file with mode: 0644]
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/domain/Image.java
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/domain/Instance.java [new file with mode: 0644]
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/domain/InstanceRequest.java [new file with mode: 0644]
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/domain/InstanceStatus.java [new file with mode: 0644]
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/domain/InstanceType.java [new file with mode: 0644]
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/domain/NetworkInterface.java [new file with mode: 0644]
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/domain/Permission.java
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/domain/ResourceType.java [new file with mode: 0644]
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/domain/SecurityGroup.java
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/domain/SupportedResource.java [new file with mode: 0644]
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/domain/Tag.java
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/domain/UserCidr.java [new file with mode: 0644]
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/domain/VPC.java [new file with mode: 0644]
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/domain/VPCRequest.java [new file with mode: 0644]
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/domain/VSwitch.java [new file with mode: 0644]
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/domain/VSwitchRequest.java [new file with mode: 0644]
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/domain/VpcAttributes.java [new file with mode: 0644]
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/domain/internal/PaginatedCollection.java
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/domain/options/CreateInstanceOptions.java [new file with mode: 0644]
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/domain/options/CreateVPCOptions.java [new file with mode: 0644]
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/domain/options/CreateVSwitchOptions.java [new file with mode: 0644]
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/domain/options/ListImagesOptions.java
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/domain/options/ListInstanceStatusOptions.java [new file with mode: 0644]
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/domain/options/ListInstancesOptions.java [new file with mode: 0644]
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/domain/options/ListVPCsOptions.java [new file with mode: 0644]
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/domain/options/ListVSwitchesOptions.java [new file with mode: 0644]
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/domain/options/TagOptions.java
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/domain/regionscoped/ImageInRegion.java [new file with mode: 0644]
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/domain/regionscoped/RegionAndId.java [new file with mode: 0644]
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/features/InstanceApi.java [new file with mode: 0644]
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/features/SecurityGroupApi.java
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/features/SshKeyPairApi.java
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/features/TagApi.java
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/features/VPCApi.java [new file with mode: 0644]
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/features/VSwitchApi.java [new file with mode: 0644]
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/functions/PutStringInDoubleQuotes.java [new file with mode: 0644]
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/handlers/ECSErrorRetryHandler.java [new file with mode: 0644]
aliyun-ecs/src/main/java/org/jclouds/aliyun/ecs/predicates/InstanceStatusPredicate.java [new file with mode: 0644]
aliyun-ecs/src/test/java/org/jclouds/aliyun/ecs/compute/ECSComputeServiceLiveTest.java [new file with mode: 0644]
aliyun-ecs/src/test/java/org/jclouds/aliyun/ecs/compute/ECSTemplateBuilderLiveTest.java [new file with mode: 0644]
aliyun-ecs/src/test/java/org/jclouds/aliyun/ecs/compute/features/ImageApiLiveTest.java
aliyun-ecs/src/test/java/org/jclouds/aliyun/ecs/compute/features/ImageApiMockTest.java
aliyun-ecs/src/test/java/org/jclouds/aliyun/ecs/compute/features/InstanceApiLiveTest.java [new file with mode: 0644]
aliyun-ecs/src/test/java/org/jclouds/aliyun/ecs/compute/features/InstanceApiMockTest.java [new file with mode: 0644]
aliyun-ecs/src/test/java/org/jclouds/aliyun/ecs/compute/features/RegionAndZoneApiMockTest.java
aliyun-ecs/src/test/java/org/jclouds/aliyun/ecs/compute/features/SecurityGroupApiLiveTest.java
aliyun-ecs/src/test/java/org/jclouds/aliyun/ecs/compute/features/SecurityGroupApiMockTest.java
aliyun-ecs/src/test/java/org/jclouds/aliyun/ecs/compute/features/SshKeyPairApiLiveTest.java
aliyun-ecs/src/test/java/org/jclouds/aliyun/ecs/compute/features/SshKeyPairApiMockTest.java
aliyun-ecs/src/test/java/org/jclouds/aliyun/ecs/compute/features/TagApiLiveTest.java
aliyun-ecs/src/test/java/org/jclouds/aliyun/ecs/compute/features/TagApiMockTest.java
aliyun-ecs/src/test/java/org/jclouds/aliyun/ecs/compute/features/VPCApiLiveTest.java [new file with mode: 0644]
aliyun-ecs/src/test/java/org/jclouds/aliyun/ecs/compute/features/VPCApiMockTest.java [new file with mode: 0644]
aliyun-ecs/src/test/java/org/jclouds/aliyun/ecs/compute/features/VSwitchApiLiveTest.java [new file with mode: 0644]
aliyun-ecs/src/test/java/org/jclouds/aliyun/ecs/compute/features/VSwitchApiMockTest.java [new file with mode: 0644]
aliyun-ecs/src/test/java/org/jclouds/aliyun/ecs/compute/functions/ImageInRegionToImageTest.java [new file with mode: 0644]
aliyun-ecs/src/test/java/org/jclouds/aliyun/ecs/compute/functions/InstanceStatusToStatusTest.java [new file with mode: 0644]
aliyun-ecs/src/test/java/org/jclouds/aliyun/ecs/compute/functions/InstanceToHardwareTest.java [new file with mode: 0644]
aliyun-ecs/src/test/java/org/jclouds/aliyun/ecs/compute/functions/InstanceToNodeMetadataTest.java [new file with mode: 0644]
aliyun-ecs/src/test/java/org/jclouds/aliyun/ecs/compute/internal/BaseECSComputeServiceApiLiveTest.java
aliyun-ecs/src/test/java/org/jclouds/aliyun/ecs/compute/internal/BaseECSComputeServiceApiMockTest.java
aliyun-ecs/src/test/java/org/jclouds/aliyun/ecs/compute/strategy/CreateResourcesThenCreateNodesTest.java [new file with mode: 0644]
aliyun-ecs/src/test/resources/availableZones.json [new file with mode: 0644]
aliyun-ecs/src/test/resources/instanceStatus.json [new file with mode: 0644]
aliyun-ecs/src/test/resources/instanceTypes.json [new file with mode: 0644]
aliyun-ecs/src/test/resources/instances-first.json [new file with mode: 0644]
aliyun-ecs/src/test/resources/instances-last.json [new file with mode: 0644]
aliyun-ecs/src/test/resources/logback-test.xml [new file with mode: 0644]
aliyun-ecs/src/test/resources/vpc-create-res.json [new file with mode: 0644]
aliyun-ecs/src/test/resources/vpc-delete-res.json [new file with mode: 0644]
aliyun-ecs/src/test/resources/vpcs-first.json [new file with mode: 0644]
aliyun-ecs/src/test/resources/vpcs-last.json [new file with mode: 0644]
aliyun-ecs/src/test/resources/vswitch-create-res.json [new file with mode: 0644]
aliyun-ecs/src/test/resources/vswitch-delete-res.json [new file with mode: 0644]
aliyun-ecs/src/test/resources/vswitches-first.json [new file with mode: 0644]
aliyun-ecs/src/test/resources/vswitches-last.json [new file with mode: 0644]