diff --git a/all/pom.xml b/all/pom.xml
index ae155a49bb..1445b2224c 100644
--- a/all/pom.xml
+++ b/all/pom.xml
@@ -75,6 +75,11 @@
ultradns-ws
${project.version}
+
+ org.jclouds.provider
+ dynect
+ ${project.version}
+
${project.groupId}
jclouds-allloadbalancer
diff --git a/labs/pom.xml b/labs/pom.xml
index 2fc05231d8..54110ced7f 100644
--- a/labs/pom.xml
+++ b/labs/pom.xml
@@ -51,6 +51,5 @@
abiquo
oauth
openstack
- dynect
diff --git a/labs/dynect/pom.xml b/providers/dynect/pom.xml
similarity index 99%
rename from labs/dynect/pom.xml
rename to providers/dynect/pom.xml
index 739097b1ff..9b79be5c00 100644
--- a/labs/dynect/pom.xml
+++ b/providers/dynect/pom.xml
@@ -27,7 +27,7 @@
1.6.0-SNAPSHOT
../../project/pom.xml
- org.jclouds.labs
+ org.jclouds.provider
dynect
jcloud dynect api
jclouds components for DynECT Managed DNS
diff --git a/labs/dynect/src/main/java/org/jclouds/dynect/v3/DynECTApi.java b/providers/dynect/src/main/java/org/jclouds/dynect/v3/DynECTApi.java
similarity index 100%
rename from labs/dynect/src/main/java/org/jclouds/dynect/v3/DynECTApi.java
rename to providers/dynect/src/main/java/org/jclouds/dynect/v3/DynECTApi.java
diff --git a/labs/dynect/src/main/java/org/jclouds/dynect/v3/DynECTApiMetadata.java b/providers/dynect/src/main/java/org/jclouds/dynect/v3/DynECTApiMetadata.java
similarity index 100%
rename from labs/dynect/src/main/java/org/jclouds/dynect/v3/DynECTApiMetadata.java
rename to providers/dynect/src/main/java/org/jclouds/dynect/v3/DynECTApiMetadata.java
diff --git a/labs/dynect/src/main/java/org/jclouds/dynect/v3/DynECTAsyncApi.java b/providers/dynect/src/main/java/org/jclouds/dynect/v3/DynECTAsyncApi.java
similarity index 100%
rename from labs/dynect/src/main/java/org/jclouds/dynect/v3/DynECTAsyncApi.java
rename to providers/dynect/src/main/java/org/jclouds/dynect/v3/DynECTAsyncApi.java
diff --git a/labs/dynect/src/main/java/org/jclouds/dynect/v3/DynECTExceptions.java b/providers/dynect/src/main/java/org/jclouds/dynect/v3/DynECTExceptions.java
similarity index 100%
rename from labs/dynect/src/main/java/org/jclouds/dynect/v3/DynECTExceptions.java
rename to providers/dynect/src/main/java/org/jclouds/dynect/v3/DynECTExceptions.java
diff --git a/labs/dynect/src/main/java/org/jclouds/dynect/v3/DynECTFallbacks.java b/providers/dynect/src/main/java/org/jclouds/dynect/v3/DynECTFallbacks.java
similarity index 100%
rename from labs/dynect/src/main/java/org/jclouds/dynect/v3/DynECTFallbacks.java
rename to providers/dynect/src/main/java/org/jclouds/dynect/v3/DynECTFallbacks.java
diff --git a/labs/dynect/src/main/java/org/jclouds/dynect/v3/DynECTProviderMetadata.java b/providers/dynect/src/main/java/org/jclouds/dynect/v3/DynECTProviderMetadata.java
similarity index 100%
rename from labs/dynect/src/main/java/org/jclouds/dynect/v3/DynECTProviderMetadata.java
rename to providers/dynect/src/main/java/org/jclouds/dynect/v3/DynECTProviderMetadata.java
diff --git a/labs/dynect/src/main/java/org/jclouds/dynect/v3/config/DynECTParserModule.java b/providers/dynect/src/main/java/org/jclouds/dynect/v3/config/DynECTParserModule.java
similarity index 100%
rename from labs/dynect/src/main/java/org/jclouds/dynect/v3/config/DynECTParserModule.java
rename to providers/dynect/src/main/java/org/jclouds/dynect/v3/config/DynECTParserModule.java
diff --git a/labs/dynect/src/main/java/org/jclouds/dynect/v3/config/DynECTRestClientModule.java b/providers/dynect/src/main/java/org/jclouds/dynect/v3/config/DynECTRestClientModule.java
similarity index 100%
rename from labs/dynect/src/main/java/org/jclouds/dynect/v3/config/DynECTRestClientModule.java
rename to providers/dynect/src/main/java/org/jclouds/dynect/v3/config/DynECTRestClientModule.java
diff --git a/labs/dynect/src/main/java/org/jclouds/dynect/v3/domain/CreatePrimaryZone.java b/providers/dynect/src/main/java/org/jclouds/dynect/v3/domain/CreatePrimaryZone.java
similarity index 100%
rename from labs/dynect/src/main/java/org/jclouds/dynect/v3/domain/CreatePrimaryZone.java
rename to providers/dynect/src/main/java/org/jclouds/dynect/v3/domain/CreatePrimaryZone.java
diff --git a/labs/dynect/src/main/java/org/jclouds/dynect/v3/domain/CreateRecord.java b/providers/dynect/src/main/java/org/jclouds/dynect/v3/domain/CreateRecord.java
similarity index 100%
rename from labs/dynect/src/main/java/org/jclouds/dynect/v3/domain/CreateRecord.java
rename to providers/dynect/src/main/java/org/jclouds/dynect/v3/domain/CreateRecord.java
diff --git a/labs/dynect/src/main/java/org/jclouds/dynect/v3/domain/Job.java b/providers/dynect/src/main/java/org/jclouds/dynect/v3/domain/Job.java
similarity index 100%
rename from labs/dynect/src/main/java/org/jclouds/dynect/v3/domain/Job.java
rename to providers/dynect/src/main/java/org/jclouds/dynect/v3/domain/Job.java
diff --git a/labs/dynect/src/main/java/org/jclouds/dynect/v3/domain/Record.java b/providers/dynect/src/main/java/org/jclouds/dynect/v3/domain/Record.java
similarity index 100%
rename from labs/dynect/src/main/java/org/jclouds/dynect/v3/domain/Record.java
rename to providers/dynect/src/main/java/org/jclouds/dynect/v3/domain/Record.java
diff --git a/labs/dynect/src/main/java/org/jclouds/dynect/v3/domain/RecordId.java b/providers/dynect/src/main/java/org/jclouds/dynect/v3/domain/RecordId.java
similarity index 100%
rename from labs/dynect/src/main/java/org/jclouds/dynect/v3/domain/RecordId.java
rename to providers/dynect/src/main/java/org/jclouds/dynect/v3/domain/RecordId.java
diff --git a/labs/dynect/src/main/java/org/jclouds/dynect/v3/domain/SOARecord.java b/providers/dynect/src/main/java/org/jclouds/dynect/v3/domain/SOARecord.java
similarity index 100%
rename from labs/dynect/src/main/java/org/jclouds/dynect/v3/domain/SOARecord.java
rename to providers/dynect/src/main/java/org/jclouds/dynect/v3/domain/SOARecord.java
diff --git a/labs/dynect/src/main/java/org/jclouds/dynect/v3/domain/Session.java b/providers/dynect/src/main/java/org/jclouds/dynect/v3/domain/Session.java
similarity index 100%
rename from labs/dynect/src/main/java/org/jclouds/dynect/v3/domain/Session.java
rename to providers/dynect/src/main/java/org/jclouds/dynect/v3/domain/Session.java
diff --git a/labs/dynect/src/main/java/org/jclouds/dynect/v3/domain/SessionCredentials.java b/providers/dynect/src/main/java/org/jclouds/dynect/v3/domain/SessionCredentials.java
similarity index 100%
rename from labs/dynect/src/main/java/org/jclouds/dynect/v3/domain/SessionCredentials.java
rename to providers/dynect/src/main/java/org/jclouds/dynect/v3/domain/SessionCredentials.java
diff --git a/labs/dynect/src/main/java/org/jclouds/dynect/v3/domain/Zone.java b/providers/dynect/src/main/java/org/jclouds/dynect/v3/domain/Zone.java
similarity index 100%
rename from labs/dynect/src/main/java/org/jclouds/dynect/v3/domain/Zone.java
rename to providers/dynect/src/main/java/org/jclouds/dynect/v3/domain/Zone.java
diff --git a/labs/dynect/src/main/java/org/jclouds/dynect/v3/domain/rdata/AAAAData.java b/providers/dynect/src/main/java/org/jclouds/dynect/v3/domain/rdata/AAAAData.java
similarity index 100%
rename from labs/dynect/src/main/java/org/jclouds/dynect/v3/domain/rdata/AAAAData.java
rename to providers/dynect/src/main/java/org/jclouds/dynect/v3/domain/rdata/AAAAData.java
diff --git a/labs/dynect/src/main/java/org/jclouds/dynect/v3/domain/rdata/AData.java b/providers/dynect/src/main/java/org/jclouds/dynect/v3/domain/rdata/AData.java
similarity index 100%
rename from labs/dynect/src/main/java/org/jclouds/dynect/v3/domain/rdata/AData.java
rename to providers/dynect/src/main/java/org/jclouds/dynect/v3/domain/rdata/AData.java
diff --git a/labs/dynect/src/main/java/org/jclouds/dynect/v3/domain/rdata/CNAMEData.java b/providers/dynect/src/main/java/org/jclouds/dynect/v3/domain/rdata/CNAMEData.java
similarity index 100%
rename from labs/dynect/src/main/java/org/jclouds/dynect/v3/domain/rdata/CNAMEData.java
rename to providers/dynect/src/main/java/org/jclouds/dynect/v3/domain/rdata/CNAMEData.java
diff --git a/labs/dynect/src/main/java/org/jclouds/dynect/v3/domain/rdata/MXData.java b/providers/dynect/src/main/java/org/jclouds/dynect/v3/domain/rdata/MXData.java
similarity index 100%
rename from labs/dynect/src/main/java/org/jclouds/dynect/v3/domain/rdata/MXData.java
rename to providers/dynect/src/main/java/org/jclouds/dynect/v3/domain/rdata/MXData.java
diff --git a/labs/dynect/src/main/java/org/jclouds/dynect/v3/domain/rdata/NSData.java b/providers/dynect/src/main/java/org/jclouds/dynect/v3/domain/rdata/NSData.java
similarity index 100%
rename from labs/dynect/src/main/java/org/jclouds/dynect/v3/domain/rdata/NSData.java
rename to providers/dynect/src/main/java/org/jclouds/dynect/v3/domain/rdata/NSData.java
diff --git a/labs/dynect/src/main/java/org/jclouds/dynect/v3/domain/rdata/PTRData.java b/providers/dynect/src/main/java/org/jclouds/dynect/v3/domain/rdata/PTRData.java
similarity index 100%
rename from labs/dynect/src/main/java/org/jclouds/dynect/v3/domain/rdata/PTRData.java
rename to providers/dynect/src/main/java/org/jclouds/dynect/v3/domain/rdata/PTRData.java
diff --git a/labs/dynect/src/main/java/org/jclouds/dynect/v3/domain/rdata/SOAData.java b/providers/dynect/src/main/java/org/jclouds/dynect/v3/domain/rdata/SOAData.java
similarity index 100%
rename from labs/dynect/src/main/java/org/jclouds/dynect/v3/domain/rdata/SOAData.java
rename to providers/dynect/src/main/java/org/jclouds/dynect/v3/domain/rdata/SOAData.java
diff --git a/labs/dynect/src/main/java/org/jclouds/dynect/v3/domain/rdata/SRVData.java b/providers/dynect/src/main/java/org/jclouds/dynect/v3/domain/rdata/SRVData.java
similarity index 100%
rename from labs/dynect/src/main/java/org/jclouds/dynect/v3/domain/rdata/SRVData.java
rename to providers/dynect/src/main/java/org/jclouds/dynect/v3/domain/rdata/SRVData.java
diff --git a/labs/dynect/src/main/java/org/jclouds/dynect/v3/domain/rdata/TXTData.java b/providers/dynect/src/main/java/org/jclouds/dynect/v3/domain/rdata/TXTData.java
similarity index 100%
rename from labs/dynect/src/main/java/org/jclouds/dynect/v3/domain/rdata/TXTData.java
rename to providers/dynect/src/main/java/org/jclouds/dynect/v3/domain/rdata/TXTData.java
diff --git a/labs/dynect/src/main/java/org/jclouds/dynect/v3/features/RecordApi.java b/providers/dynect/src/main/java/org/jclouds/dynect/v3/features/RecordApi.java
similarity index 100%
rename from labs/dynect/src/main/java/org/jclouds/dynect/v3/features/RecordApi.java
rename to providers/dynect/src/main/java/org/jclouds/dynect/v3/features/RecordApi.java
diff --git a/labs/dynect/src/main/java/org/jclouds/dynect/v3/features/RecordAsyncApi.java b/providers/dynect/src/main/java/org/jclouds/dynect/v3/features/RecordAsyncApi.java
similarity index 100%
rename from labs/dynect/src/main/java/org/jclouds/dynect/v3/features/RecordAsyncApi.java
rename to providers/dynect/src/main/java/org/jclouds/dynect/v3/features/RecordAsyncApi.java
diff --git a/labs/dynect/src/main/java/org/jclouds/dynect/v3/features/SessionApi.java b/providers/dynect/src/main/java/org/jclouds/dynect/v3/features/SessionApi.java
similarity index 100%
rename from labs/dynect/src/main/java/org/jclouds/dynect/v3/features/SessionApi.java
rename to providers/dynect/src/main/java/org/jclouds/dynect/v3/features/SessionApi.java
diff --git a/labs/dynect/src/main/java/org/jclouds/dynect/v3/features/SessionAsyncApi.java b/providers/dynect/src/main/java/org/jclouds/dynect/v3/features/SessionAsyncApi.java
similarity index 100%
rename from labs/dynect/src/main/java/org/jclouds/dynect/v3/features/SessionAsyncApi.java
rename to providers/dynect/src/main/java/org/jclouds/dynect/v3/features/SessionAsyncApi.java
diff --git a/labs/dynect/src/main/java/org/jclouds/dynect/v3/features/ZoneApi.java b/providers/dynect/src/main/java/org/jclouds/dynect/v3/features/ZoneApi.java
similarity index 100%
rename from labs/dynect/src/main/java/org/jclouds/dynect/v3/features/ZoneApi.java
rename to providers/dynect/src/main/java/org/jclouds/dynect/v3/features/ZoneApi.java
diff --git a/labs/dynect/src/main/java/org/jclouds/dynect/v3/features/ZoneAsyncApi.java b/providers/dynect/src/main/java/org/jclouds/dynect/v3/features/ZoneAsyncApi.java
similarity index 100%
rename from labs/dynect/src/main/java/org/jclouds/dynect/v3/features/ZoneAsyncApi.java
rename to providers/dynect/src/main/java/org/jclouds/dynect/v3/features/ZoneAsyncApi.java
diff --git a/labs/dynect/src/main/java/org/jclouds/dynect/v3/filters/AlwaysAddContentType.java b/providers/dynect/src/main/java/org/jclouds/dynect/v3/filters/AlwaysAddContentType.java
similarity index 100%
rename from labs/dynect/src/main/java/org/jclouds/dynect/v3/filters/AlwaysAddContentType.java
rename to providers/dynect/src/main/java/org/jclouds/dynect/v3/filters/AlwaysAddContentType.java
diff --git a/labs/dynect/src/main/java/org/jclouds/dynect/v3/filters/SessionManager.java b/providers/dynect/src/main/java/org/jclouds/dynect/v3/filters/SessionManager.java
similarity index 100%
rename from labs/dynect/src/main/java/org/jclouds/dynect/v3/filters/SessionManager.java
rename to providers/dynect/src/main/java/org/jclouds/dynect/v3/filters/SessionManager.java
diff --git a/labs/dynect/src/main/java/org/jclouds/dynect/v3/functions/ExtractZoneNames.java b/providers/dynect/src/main/java/org/jclouds/dynect/v3/functions/ExtractZoneNames.java
similarity index 100%
rename from labs/dynect/src/main/java/org/jclouds/dynect/v3/functions/ExtractZoneNames.java
rename to providers/dynect/src/main/java/org/jclouds/dynect/v3/functions/ExtractZoneNames.java
diff --git a/labs/dynect/src/main/java/org/jclouds/dynect/v3/functions/ToRecordIds.java b/providers/dynect/src/main/java/org/jclouds/dynect/v3/functions/ToRecordIds.java
similarity index 100%
rename from labs/dynect/src/main/java/org/jclouds/dynect/v3/functions/ToRecordIds.java
rename to providers/dynect/src/main/java/org/jclouds/dynect/v3/functions/ToRecordIds.java
diff --git a/labs/dynect/src/main/java/org/jclouds/dynect/v3/handlers/DynECTErrorHandler.java b/providers/dynect/src/main/java/org/jclouds/dynect/v3/handlers/DynECTErrorHandler.java
similarity index 100%
rename from labs/dynect/src/main/java/org/jclouds/dynect/v3/handlers/DynECTErrorHandler.java
rename to providers/dynect/src/main/java/org/jclouds/dynect/v3/handlers/DynECTErrorHandler.java
diff --git a/labs/dynect/src/main/java/org/jclouds/dynect/v3/handlers/GetJobRedirectionRetryHandler.java b/providers/dynect/src/main/java/org/jclouds/dynect/v3/handlers/GetJobRedirectionRetryHandler.java
similarity index 100%
rename from labs/dynect/src/main/java/org/jclouds/dynect/v3/handlers/GetJobRedirectionRetryHandler.java
rename to providers/dynect/src/main/java/org/jclouds/dynect/v3/handlers/GetJobRedirectionRetryHandler.java
diff --git a/labs/dynect/src/main/java/org/jclouds/dynect/v3/loaders/LoginUserInOrgWithPassword.java b/providers/dynect/src/main/java/org/jclouds/dynect/v3/loaders/LoginUserInOrgWithPassword.java
similarity index 100%
rename from labs/dynect/src/main/java/org/jclouds/dynect/v3/loaders/LoginUserInOrgWithPassword.java
rename to providers/dynect/src/main/java/org/jclouds/dynect/v3/loaders/LoginUserInOrgWithPassword.java
diff --git a/labs/dynect/src/main/java/org/jclouds/dynect/v3/predicates/RecordPredicates.java b/providers/dynect/src/main/java/org/jclouds/dynect/v3/predicates/RecordPredicates.java
similarity index 100%
rename from labs/dynect/src/main/java/org/jclouds/dynect/v3/predicates/RecordPredicates.java
rename to providers/dynect/src/main/java/org/jclouds/dynect/v3/predicates/RecordPredicates.java
diff --git a/labs/dynect/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata b/providers/dynect/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
similarity index 100%
rename from labs/dynect/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
rename to providers/dynect/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
diff --git a/labs/dynect/src/test/java/org/jclouds/dynect/v3/DynECTProviderMetadataTest.java b/providers/dynect/src/test/java/org/jclouds/dynect/v3/DynECTProviderMetadataTest.java
similarity index 100%
rename from labs/dynect/src/test/java/org/jclouds/dynect/v3/DynECTProviderMetadataTest.java
rename to providers/dynect/src/test/java/org/jclouds/dynect/v3/DynECTProviderMetadataTest.java
diff --git a/labs/dynect/src/test/java/org/jclouds/dynect/v3/DynectApiMockTest.java b/providers/dynect/src/test/java/org/jclouds/dynect/v3/DynectApiMockTest.java
similarity index 100%
rename from labs/dynect/src/test/java/org/jclouds/dynect/v3/DynectApiMockTest.java
rename to providers/dynect/src/test/java/org/jclouds/dynect/v3/DynectApiMockTest.java
diff --git a/labs/dynect/src/test/java/org/jclouds/dynect/v3/features/RecordApiExpectTest.java b/providers/dynect/src/test/java/org/jclouds/dynect/v3/features/RecordApiExpectTest.java
similarity index 100%
rename from labs/dynect/src/test/java/org/jclouds/dynect/v3/features/RecordApiExpectTest.java
rename to providers/dynect/src/test/java/org/jclouds/dynect/v3/features/RecordApiExpectTest.java
diff --git a/labs/dynect/src/test/java/org/jclouds/dynect/v3/features/RecordApiLiveTest.java b/providers/dynect/src/test/java/org/jclouds/dynect/v3/features/RecordApiLiveTest.java
similarity index 100%
rename from labs/dynect/src/test/java/org/jclouds/dynect/v3/features/RecordApiLiveTest.java
rename to providers/dynect/src/test/java/org/jclouds/dynect/v3/features/RecordApiLiveTest.java
diff --git a/labs/dynect/src/test/java/org/jclouds/dynect/v3/features/SessionApiExpectTest.java b/providers/dynect/src/test/java/org/jclouds/dynect/v3/features/SessionApiExpectTest.java
similarity index 100%
rename from labs/dynect/src/test/java/org/jclouds/dynect/v3/features/SessionApiExpectTest.java
rename to providers/dynect/src/test/java/org/jclouds/dynect/v3/features/SessionApiExpectTest.java
diff --git a/labs/dynect/src/test/java/org/jclouds/dynect/v3/features/SessionApiLiveTest.java b/providers/dynect/src/test/java/org/jclouds/dynect/v3/features/SessionApiLiveTest.java
similarity index 100%
rename from labs/dynect/src/test/java/org/jclouds/dynect/v3/features/SessionApiLiveTest.java
rename to providers/dynect/src/test/java/org/jclouds/dynect/v3/features/SessionApiLiveTest.java
diff --git a/labs/dynect/src/test/java/org/jclouds/dynect/v3/features/ZoneApiExpectTest.java b/providers/dynect/src/test/java/org/jclouds/dynect/v3/features/ZoneApiExpectTest.java
similarity index 100%
rename from labs/dynect/src/test/java/org/jclouds/dynect/v3/features/ZoneApiExpectTest.java
rename to providers/dynect/src/test/java/org/jclouds/dynect/v3/features/ZoneApiExpectTest.java
diff --git a/labs/dynect/src/test/java/org/jclouds/dynect/v3/features/ZoneApiLiveTest.java b/providers/dynect/src/test/java/org/jclouds/dynect/v3/features/ZoneApiLiveTest.java
similarity index 100%
rename from labs/dynect/src/test/java/org/jclouds/dynect/v3/features/ZoneApiLiveTest.java
rename to providers/dynect/src/test/java/org/jclouds/dynect/v3/features/ZoneApiLiveTest.java
diff --git a/labs/dynect/src/test/java/org/jclouds/dynect/v3/filters/SessionManagerTest.java b/providers/dynect/src/test/java/org/jclouds/dynect/v3/filters/SessionManagerTest.java
similarity index 100%
rename from labs/dynect/src/test/java/org/jclouds/dynect/v3/filters/SessionManagerTest.java
rename to providers/dynect/src/test/java/org/jclouds/dynect/v3/filters/SessionManagerTest.java
diff --git a/labs/dynect/src/test/java/org/jclouds/dynect/v3/functions/ExtractZoneNamesTest.java b/providers/dynect/src/test/java/org/jclouds/dynect/v3/functions/ExtractZoneNamesTest.java
similarity index 100%
rename from labs/dynect/src/test/java/org/jclouds/dynect/v3/functions/ExtractZoneNamesTest.java
rename to providers/dynect/src/test/java/org/jclouds/dynect/v3/functions/ExtractZoneNamesTest.java
diff --git a/labs/dynect/src/test/java/org/jclouds/dynect/v3/functions/ToRecordIdsTest.java b/providers/dynect/src/test/java/org/jclouds/dynect/v3/functions/ToRecordIdsTest.java
similarity index 100%
rename from labs/dynect/src/test/java/org/jclouds/dynect/v3/functions/ToRecordIdsTest.java
rename to providers/dynect/src/test/java/org/jclouds/dynect/v3/functions/ToRecordIdsTest.java
diff --git a/labs/dynect/src/test/java/org/jclouds/dynect/v3/handlers/GetJobRedirectionRetryHandlerExpectTest.java b/providers/dynect/src/test/java/org/jclouds/dynect/v3/handlers/GetJobRedirectionRetryHandlerExpectTest.java
similarity index 100%
rename from labs/dynect/src/test/java/org/jclouds/dynect/v3/handlers/GetJobRedirectionRetryHandlerExpectTest.java
rename to providers/dynect/src/test/java/org/jclouds/dynect/v3/handlers/GetJobRedirectionRetryHandlerExpectTest.java
diff --git a/labs/dynect/src/test/java/org/jclouds/dynect/v3/internal/BaseDynECTApiExpectTest.java b/providers/dynect/src/test/java/org/jclouds/dynect/v3/internal/BaseDynECTApiExpectTest.java
similarity index 100%
rename from labs/dynect/src/test/java/org/jclouds/dynect/v3/internal/BaseDynECTApiExpectTest.java
rename to providers/dynect/src/test/java/org/jclouds/dynect/v3/internal/BaseDynECTApiExpectTest.java
diff --git a/labs/dynect/src/test/java/org/jclouds/dynect/v3/internal/BaseDynECTApiLiveTest.java b/providers/dynect/src/test/java/org/jclouds/dynect/v3/internal/BaseDynECTApiLiveTest.java
similarity index 100%
rename from labs/dynect/src/test/java/org/jclouds/dynect/v3/internal/BaseDynECTApiLiveTest.java
rename to providers/dynect/src/test/java/org/jclouds/dynect/v3/internal/BaseDynECTApiLiveTest.java
diff --git a/labs/dynect/src/test/java/org/jclouds/dynect/v3/internal/BaseDynECTExpectTest.java b/providers/dynect/src/test/java/org/jclouds/dynect/v3/internal/BaseDynECTExpectTest.java
similarity index 100%
rename from labs/dynect/src/test/java/org/jclouds/dynect/v3/internal/BaseDynECTExpectTest.java
rename to providers/dynect/src/test/java/org/jclouds/dynect/v3/internal/BaseDynECTExpectTest.java
diff --git a/labs/dynect/src/test/java/org/jclouds/dynect/v3/internal/BaseDynECTParseTest.java b/providers/dynect/src/test/java/org/jclouds/dynect/v3/internal/BaseDynECTParseTest.java
similarity index 100%
rename from labs/dynect/src/test/java/org/jclouds/dynect/v3/internal/BaseDynECTParseTest.java
rename to providers/dynect/src/test/java/org/jclouds/dynect/v3/internal/BaseDynECTParseTest.java
diff --git a/labs/dynect/src/test/java/org/jclouds/dynect/v3/parse/CreateSessionResponseTest.java b/providers/dynect/src/test/java/org/jclouds/dynect/v3/parse/CreateSessionResponseTest.java
similarity index 100%
rename from labs/dynect/src/test/java/org/jclouds/dynect/v3/parse/CreateSessionResponseTest.java
rename to providers/dynect/src/test/java/org/jclouds/dynect/v3/parse/CreateSessionResponseTest.java
diff --git a/labs/dynect/src/test/java/org/jclouds/dynect/v3/parse/DeleteZoneChangesResponseTest.java b/providers/dynect/src/test/java/org/jclouds/dynect/v3/parse/DeleteZoneChangesResponseTest.java
similarity index 100%
rename from labs/dynect/src/test/java/org/jclouds/dynect/v3/parse/DeleteZoneChangesResponseTest.java
rename to providers/dynect/src/test/java/org/jclouds/dynect/v3/parse/DeleteZoneChangesResponseTest.java
diff --git a/labs/dynect/src/test/java/org/jclouds/dynect/v3/parse/DeleteZoneResponseTest.java b/providers/dynect/src/test/java/org/jclouds/dynect/v3/parse/DeleteZoneResponseTest.java
similarity index 100%
rename from labs/dynect/src/test/java/org/jclouds/dynect/v3/parse/DeleteZoneResponseTest.java
rename to providers/dynect/src/test/java/org/jclouds/dynect/v3/parse/DeleteZoneResponseTest.java
diff --git a/labs/dynect/src/test/java/org/jclouds/dynect/v3/parse/GetAAAARecordResponseTest.java b/providers/dynect/src/test/java/org/jclouds/dynect/v3/parse/GetAAAARecordResponseTest.java
similarity index 100%
rename from labs/dynect/src/test/java/org/jclouds/dynect/v3/parse/GetAAAARecordResponseTest.java
rename to providers/dynect/src/test/java/org/jclouds/dynect/v3/parse/GetAAAARecordResponseTest.java
diff --git a/labs/dynect/src/test/java/org/jclouds/dynect/v3/parse/GetARecordResponseTest.java b/providers/dynect/src/test/java/org/jclouds/dynect/v3/parse/GetARecordResponseTest.java
similarity index 100%
rename from labs/dynect/src/test/java/org/jclouds/dynect/v3/parse/GetARecordResponseTest.java
rename to providers/dynect/src/test/java/org/jclouds/dynect/v3/parse/GetARecordResponseTest.java
diff --git a/labs/dynect/src/test/java/org/jclouds/dynect/v3/parse/GetCNAMERecordResponseTest.java b/providers/dynect/src/test/java/org/jclouds/dynect/v3/parse/GetCNAMERecordResponseTest.java
similarity index 100%
rename from labs/dynect/src/test/java/org/jclouds/dynect/v3/parse/GetCNAMERecordResponseTest.java
rename to providers/dynect/src/test/java/org/jclouds/dynect/v3/parse/GetCNAMERecordResponseTest.java
diff --git a/labs/dynect/src/test/java/org/jclouds/dynect/v3/parse/GetMXRecordResponseTest.java b/providers/dynect/src/test/java/org/jclouds/dynect/v3/parse/GetMXRecordResponseTest.java
similarity index 100%
rename from labs/dynect/src/test/java/org/jclouds/dynect/v3/parse/GetMXRecordResponseTest.java
rename to providers/dynect/src/test/java/org/jclouds/dynect/v3/parse/GetMXRecordResponseTest.java
diff --git a/labs/dynect/src/test/java/org/jclouds/dynect/v3/parse/GetNSRecordResponseTest.java b/providers/dynect/src/test/java/org/jclouds/dynect/v3/parse/GetNSRecordResponseTest.java
similarity index 100%
rename from labs/dynect/src/test/java/org/jclouds/dynect/v3/parse/GetNSRecordResponseTest.java
rename to providers/dynect/src/test/java/org/jclouds/dynect/v3/parse/GetNSRecordResponseTest.java
diff --git a/labs/dynect/src/test/java/org/jclouds/dynect/v3/parse/GetPTRRecordResponseTest.java b/providers/dynect/src/test/java/org/jclouds/dynect/v3/parse/GetPTRRecordResponseTest.java
similarity index 100%
rename from labs/dynect/src/test/java/org/jclouds/dynect/v3/parse/GetPTRRecordResponseTest.java
rename to providers/dynect/src/test/java/org/jclouds/dynect/v3/parse/GetPTRRecordResponseTest.java
diff --git a/labs/dynect/src/test/java/org/jclouds/dynect/v3/parse/GetRecordResponseTest.java b/providers/dynect/src/test/java/org/jclouds/dynect/v3/parse/GetRecordResponseTest.java
similarity index 100%
rename from labs/dynect/src/test/java/org/jclouds/dynect/v3/parse/GetRecordResponseTest.java
rename to providers/dynect/src/test/java/org/jclouds/dynect/v3/parse/GetRecordResponseTest.java
diff --git a/labs/dynect/src/test/java/org/jclouds/dynect/v3/parse/GetSOARecordResponseTest.java b/providers/dynect/src/test/java/org/jclouds/dynect/v3/parse/GetSOARecordResponseTest.java
similarity index 100%
rename from labs/dynect/src/test/java/org/jclouds/dynect/v3/parse/GetSOARecordResponseTest.java
rename to providers/dynect/src/test/java/org/jclouds/dynect/v3/parse/GetSOARecordResponseTest.java
diff --git a/labs/dynect/src/test/java/org/jclouds/dynect/v3/parse/GetSRVRecordResponseTest.java b/providers/dynect/src/test/java/org/jclouds/dynect/v3/parse/GetSRVRecordResponseTest.java
similarity index 100%
rename from labs/dynect/src/test/java/org/jclouds/dynect/v3/parse/GetSRVRecordResponseTest.java
rename to providers/dynect/src/test/java/org/jclouds/dynect/v3/parse/GetSRVRecordResponseTest.java
diff --git a/labs/dynect/src/test/java/org/jclouds/dynect/v3/parse/GetTXTRecordResponseTest.java b/providers/dynect/src/test/java/org/jclouds/dynect/v3/parse/GetTXTRecordResponseTest.java
similarity index 100%
rename from labs/dynect/src/test/java/org/jclouds/dynect/v3/parse/GetTXTRecordResponseTest.java
rename to providers/dynect/src/test/java/org/jclouds/dynect/v3/parse/GetTXTRecordResponseTest.java
diff --git a/labs/dynect/src/test/java/org/jclouds/dynect/v3/parse/GetZoneResponseTest.java b/providers/dynect/src/test/java/org/jclouds/dynect/v3/parse/GetZoneResponseTest.java
similarity index 100%
rename from labs/dynect/src/test/java/org/jclouds/dynect/v3/parse/GetZoneResponseTest.java
rename to providers/dynect/src/test/java/org/jclouds/dynect/v3/parse/GetZoneResponseTest.java
diff --git a/labs/dynect/src/test/java/org/jclouds/dynect/v3/parse/ListRecordsResponseTest.java b/providers/dynect/src/test/java/org/jclouds/dynect/v3/parse/ListRecordsResponseTest.java
similarity index 100%
rename from labs/dynect/src/test/java/org/jclouds/dynect/v3/parse/ListRecordsResponseTest.java
rename to providers/dynect/src/test/java/org/jclouds/dynect/v3/parse/ListRecordsResponseTest.java
diff --git a/labs/dynect/src/test/java/org/jclouds/dynect/v3/parse/ListZonesResponseTest.java b/providers/dynect/src/test/java/org/jclouds/dynect/v3/parse/ListZonesResponseTest.java
similarity index 100%
rename from labs/dynect/src/test/java/org/jclouds/dynect/v3/parse/ListZonesResponseTest.java
rename to providers/dynect/src/test/java/org/jclouds/dynect/v3/parse/ListZonesResponseTest.java
diff --git a/labs/dynect/src/test/java/org/jclouds/dynect/v3/predicates/RecordPredicatesTest.java b/providers/dynect/src/test/java/org/jclouds/dynect/v3/predicates/RecordPredicatesTest.java
similarity index 100%
rename from labs/dynect/src/test/java/org/jclouds/dynect/v3/predicates/RecordPredicatesTest.java
rename to providers/dynect/src/test/java/org/jclouds/dynect/v3/predicates/RecordPredicatesTest.java
diff --git a/labs/dynect/src/test/resources/create_session.json b/providers/dynect/src/test/resources/create_session.json
similarity index 100%
rename from labs/dynect/src/test/resources/create_session.json
rename to providers/dynect/src/test/resources/create_session.json
diff --git a/labs/dynect/src/test/resources/delete_record.json b/providers/dynect/src/test/resources/delete_record.json
similarity index 100%
rename from labs/dynect/src/test/resources/delete_record.json
rename to providers/dynect/src/test/resources/delete_record.json
diff --git a/labs/dynect/src/test/resources/delete_zone.json b/providers/dynect/src/test/resources/delete_zone.json
similarity index 100%
rename from labs/dynect/src/test/resources/delete_zone.json
rename to providers/dynect/src/test/resources/delete_zone.json
diff --git a/labs/dynect/src/test/resources/delete_zone_changes.json b/providers/dynect/src/test/resources/delete_zone_changes.json
similarity index 100%
rename from labs/dynect/src/test/resources/delete_zone_changes.json
rename to providers/dynect/src/test/resources/delete_zone_changes.json
diff --git a/labs/dynect/src/test/resources/get_record_a.json b/providers/dynect/src/test/resources/get_record_a.json
similarity index 100%
rename from labs/dynect/src/test/resources/get_record_a.json
rename to providers/dynect/src/test/resources/get_record_a.json
diff --git a/labs/dynect/src/test/resources/get_record_aaaa.json b/providers/dynect/src/test/resources/get_record_aaaa.json
similarity index 100%
rename from labs/dynect/src/test/resources/get_record_aaaa.json
rename to providers/dynect/src/test/resources/get_record_aaaa.json
diff --git a/labs/dynect/src/test/resources/get_record_cname.json b/providers/dynect/src/test/resources/get_record_cname.json
similarity index 100%
rename from labs/dynect/src/test/resources/get_record_cname.json
rename to providers/dynect/src/test/resources/get_record_cname.json
diff --git a/labs/dynect/src/test/resources/get_record_mx.json b/providers/dynect/src/test/resources/get_record_mx.json
similarity index 100%
rename from labs/dynect/src/test/resources/get_record_mx.json
rename to providers/dynect/src/test/resources/get_record_mx.json
diff --git a/labs/dynect/src/test/resources/get_record_ns.json b/providers/dynect/src/test/resources/get_record_ns.json
similarity index 100%
rename from labs/dynect/src/test/resources/get_record_ns.json
rename to providers/dynect/src/test/resources/get_record_ns.json
diff --git a/labs/dynect/src/test/resources/get_record_ptr.json b/providers/dynect/src/test/resources/get_record_ptr.json
similarity index 100%
rename from labs/dynect/src/test/resources/get_record_ptr.json
rename to providers/dynect/src/test/resources/get_record_ptr.json
diff --git a/labs/dynect/src/test/resources/get_record_soa.json b/providers/dynect/src/test/resources/get_record_soa.json
similarity index 100%
rename from labs/dynect/src/test/resources/get_record_soa.json
rename to providers/dynect/src/test/resources/get_record_soa.json
diff --git a/labs/dynect/src/test/resources/get_record_srv.json b/providers/dynect/src/test/resources/get_record_srv.json
similarity index 100%
rename from labs/dynect/src/test/resources/get_record_srv.json
rename to providers/dynect/src/test/resources/get_record_srv.json
diff --git a/labs/dynect/src/test/resources/get_record_txt.json b/providers/dynect/src/test/resources/get_record_txt.json
similarity index 100%
rename from labs/dynect/src/test/resources/get_record_txt.json
rename to providers/dynect/src/test/resources/get_record_txt.json
diff --git a/labs/dynect/src/test/resources/get_zone.json b/providers/dynect/src/test/resources/get_zone.json
similarity index 100%
rename from labs/dynect/src/test/resources/get_zone.json
rename to providers/dynect/src/test/resources/get_zone.json
diff --git a/labs/dynect/src/test/resources/list_records.json b/providers/dynect/src/test/resources/list_records.json
similarity index 100%
rename from labs/dynect/src/test/resources/list_records.json
rename to providers/dynect/src/test/resources/list_records.json
diff --git a/labs/dynect/src/test/resources/list_zones.json b/providers/dynect/src/test/resources/list_zones.json
similarity index 100%
rename from labs/dynect/src/test/resources/list_zones.json
rename to providers/dynect/src/test/resources/list_zones.json
diff --git a/labs/dynect/src/test/resources/logback.xml b/providers/dynect/src/test/resources/logback.xml
similarity index 100%
rename from labs/dynect/src/test/resources/logback.xml
rename to providers/dynect/src/test/resources/logback.xml
diff --git a/labs/dynect/src/test/resources/logout.json b/providers/dynect/src/test/resources/logout.json
similarity index 100%
rename from labs/dynect/src/test/resources/logout.json
rename to providers/dynect/src/test/resources/logout.json
diff --git a/labs/dynect/src/test/resources/new_record.json b/providers/dynect/src/test/resources/new_record.json
similarity index 100%
rename from labs/dynect/src/test/resources/new_record.json
rename to providers/dynect/src/test/resources/new_record.json
diff --git a/labs/dynect/src/test/resources/new_zone.json b/providers/dynect/src/test/resources/new_zone.json
similarity index 100%
rename from labs/dynect/src/test/resources/new_zone.json
rename to providers/dynect/src/test/resources/new_zone.json
diff --git a/labs/dynect/src/test/resources/session_invalid.json b/providers/dynect/src/test/resources/session_invalid.json
similarity index 100%
rename from labs/dynect/src/test/resources/session_invalid.json
rename to providers/dynect/src/test/resources/session_invalid.json
diff --git a/labs/dynect/src/test/resources/session_valid.json b/providers/dynect/src/test/resources/session_valid.json
similarity index 100%
rename from labs/dynect/src/test/resources/session_valid.json
rename to providers/dynect/src/test/resources/session_valid.json
diff --git a/providers/pom.xml b/providers/pom.xml
index 69a6274064..1e2f761b2f 100644
--- a/providers/pom.xml
+++ b/providers/pom.xml
@@ -76,5 +76,6 @@
aws-sts
aws-route53
ultradns-ws
+ dynect