http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac03bac4/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/Key.java
----------------------------------------------------------------------
diff --git 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/Key.java 
b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/Key.java
deleted file mode 100644
index ed9b778..0000000
--- 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/Key.java
+++ /dev/null
@@ -1,229 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.azurecompute.arm.domain;
-
-import java.util.Map;
-import java.util.List;
-
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.json.SerializedNames;
-
-import com.google.auto.value.AutoValue;
-
-@AutoValue
-public abstract class Key {
-    @AutoValue
-    public abstract static class JsonWebKey {
-        @Nullable
-        public abstract String crv();
-
-        @Nullable
-        public abstract String d();
-
-        @Nullable
-        public abstract String dp();
-
-        @Nullable
-        public abstract String dq();
-
-        @Nullable
-        public abstract String e();
-
-        @Nullable
-        public abstract String k();
-
-        @Nullable
-        public abstract String keyHsm();
-
-        public abstract List<String> keyOps();
-
-        @Nullable
-        public abstract String kid();
-
-        @Nullable
-        public abstract String kty();
-
-        @Nullable
-        public abstract String n();
-
-        @Nullable
-        public abstract String p();
-
-        @Nullable
-        public abstract String q();
-
-        @Nullable
-        public abstract String qi();
-
-        @Nullable
-        public abstract String x();
-
-        @Nullable
-        public abstract String y();
-
-        @SerializedNames({"crv", "d", "dp", "dq", "e", "k", "key_hsm", 
"key_ops", "kid", "kty", "n", "p", "q", "qi", "x", "y"})
-        public static JsonWebKey create(final String crv, final String d, 
final String dp, final String dq,
-                                        final String e, final String k, final 
String keyHsm, final List<String> keyOps,
-                                        final String kid, final String kty, 
final String n, final String p,
-                                        final String q, final String qi, final 
String x, final String y) {
-            return new AutoValue_Key_JsonWebKey(
-                    crv, d, dp, dq, e, k, keyHsm,
-                    keyOps != null ? ImmutableList.copyOf(keyOps) : 
ImmutableList.<String> of(),
-                    kid, kty, n, p, q, qi, x, y);
-        }
-    }
-
-    @AutoValue
-    public abstract static class KeyAttributes {
-        @Nullable
-        public abstract Boolean enabled();
-
-        @Nullable
-        public abstract Integer created();
-
-        @Nullable
-        public abstract Integer expires();
-
-        @Nullable
-        public abstract Integer notBefore();
-
-        @Nullable
-        public abstract String recoveryLevel();
-
-        @Nullable
-        public abstract Integer updated();
-
-        @SerializedNames({"enabled", "created", "expires", "notBefore", 
"recoveryLevel", "updated"})
-        public static KeyAttributes create(final Boolean enabled,
-                                           final Integer created,
-                                           final Integer expires,
-                                           final Integer notBefore,
-                                           final String recoveryLevel,
-                                           final Integer updated) {
-            return new AutoValue_Key_KeyAttributes(enabled, created, expires, 
notBefore, recoveryLevel, updated);
-        }
-
-        KeyAttributes() {
-        }
-    }
-
-    @AutoValue
-    public abstract static class KeyBundle {
-        @Nullable
-        public abstract KeyAttributes attributes();
-
-        @Nullable
-        public abstract JsonWebKey key();
-
-        @Nullable
-        public abstract Boolean managed();
-
-        @Nullable
-        public abstract Map<String, String> tags();
-
-        @SerializedNames({"attributes", "key", "managed", "tags"})
-        public static KeyBundle create(final KeyAttributes attributes, final 
JsonWebKey key, final boolean managed, final Map<String, String> tags) {
-            return new AutoValue_Key_KeyBundle(
-                    attributes,
-                    key,
-                    managed,
-                    tags != null ? ImmutableMap.copyOf(tags) : null
-            );
-        }
-    }
-
-    @AutoValue
-    public abstract static class DeletedKeyBundle {
-        @Nullable
-        public abstract KeyAttributes attributes();
-
-        @Nullable
-        public abstract String deletedDate();
-
-        @Nullable
-        public abstract JsonWebKey key();
-
-        @Nullable
-        public abstract Boolean managed();
-
-        @Nullable
-        public abstract String recoveryId();
-
-        @Nullable
-        public abstract String scheduledPurgeDate();
-
-        @Nullable
-        public abstract Map<String, String> tags();
-
-        @SerializedNames({"attributes", "deletedDate", "key", "managed", 
"recoveryId", "scheduledPurgeDate", "tags"})
-        public static DeletedKeyBundle create(final KeyAttributes attributes, 
final String deletedDate, final JsonWebKey key, final boolean managed, final 
String recoveryId, final String scheduledPurgeDate, final Map<String, String> 
tags) {
-            return new AutoValue_Key_DeletedKeyBundle(
-                    attributes,
-                    deletedDate,
-                    key,
-                    managed,
-                    recoveryId,
-                    scheduledPurgeDate,
-                    tags != null ? ImmutableMap.copyOf(tags) : null
-
-            );
-        }
-    }
-
-    @AutoValue
-    public abstract static class KeyOperationResult {
-        @Nullable
-        public abstract String keyId();
-
-        @Nullable
-        public abstract String value();
-
-        @SerializedNames({"kid", "value"})
-        public static KeyOperationResult create(final String keyId, final 
String value) {
-            return new AutoValue_Key_KeyOperationResult(
-                    keyId,
-                    value
-            );
-        }
-    }
-
-    @Nullable
-    public abstract String kid();
-
-    public abstract KeyAttributes attributes();
-
-    @Nullable
-    public abstract Boolean managed();
-
-    @Nullable
-    public abstract Map<String, String> tags();
-
-    @SerializedNames({"kid", "attributes", "managed", "tags"})
-    public static Key create(final String kid, final KeyAttributes attributes, 
final boolean managed, final Map<String, String> tags) {
-        return new AutoValue_Key(
-                kid,
-                attributes,
-                managed,
-                tags != null ? ImmutableMap.copyOf(tags) : null
-        );
-    }
-
-    Key() {
-    }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac03bac4/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/KeyVaultReference.java
----------------------------------------------------------------------
diff --git 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/KeyVaultReference.java
 
b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/KeyVaultReference.java
deleted file mode 100644
index 2eb2f87..0000000
--- 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/KeyVaultReference.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.azurecompute.arm.domain;
-
-import com.google.auto.value.AutoValue;
-import org.jclouds.json.SerializedNames;
-
-// Simple helper class to serialize / deserialize keyvault reference.
-
-@AutoValue
-public abstract class KeyVaultReference {
-
-   @AutoValue
-   public abstract static class Reference {
-
-      public abstract IdReference keyVault();
-
-      public abstract String secretName();
-
-      @SerializedNames({"keyVault", "secretName"})
-      public static Reference create(final IdReference keyVault, final String 
secretName) {
-         return new AutoValue_KeyVaultReference_Reference(keyVault, 
secretName);
-      }
-   }
-
-   public abstract Reference reference();
-
-   @SerializedNames({"reference"})
-   public static KeyVaultReference create(final Reference reference) {
-      return new AutoValue_KeyVaultReference(reference);
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac03bac4/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/LoadBalancer.java
----------------------------------------------------------------------
diff --git 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/LoadBalancer.java
 
b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/LoadBalancer.java
deleted file mode 100644
index 6e3e748..0000000
--- 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/LoadBalancer.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.azurecompute.arm.domain;
-
-import java.util.Map;
-
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.json.SerializedNames;
-
-import com.google.auto.value.AutoValue;
-import com.google.common.collect.ImmutableMap;
-
-@AutoValue
-public abstract class LoadBalancer {
-   
-   @Nullable public abstract String id();
-   @Nullable public abstract String name();
-   @Nullable public abstract String location();
-   @Nullable public abstract String etag();
-   @Nullable public abstract Map<String, String> tags();
-   @Nullable public abstract LoadBalancerProperties properties();
-
-   @SerializedNames({ "id", "name", "location", "etag", "tags", "properties", 
})
-   public static LoadBalancer create(String id, final String name, final 
String location, final String etag,
-         final Map<String, String> tags, final LoadBalancerProperties 
properties) {
-      return 
builder().id(id).name(name).location(location).etag(etag).tags(tags).properties(properties).build();
-   }
-   
-   public abstract Builder toBuilder();
-
-   public static Builder builder() {
-      return new AutoValue_LoadBalancer.Builder();
-   }
-   
-   @AutoValue.Builder
-   public abstract static class Builder {
-      public abstract Builder id(String id);
-      public abstract Builder name(String name);
-      public abstract Builder location(String location);
-      public abstract Builder etag(String etag);
-      public abstract Builder tags(Map<String, String> tags);
-      public abstract Builder properties(LoadBalancerProperties properties);
-      
-      abstract Map<String, String> tags();
-
-      abstract LoadBalancer autoBuild();
-      
-      public LoadBalancer build() {
-         tags(tags() != null ? ImmutableMap.copyOf(tags()) : null);
-         return autoBuild();
-      }
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac03bac4/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/LoadBalancerProperties.java
----------------------------------------------------------------------
diff --git 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/LoadBalancerProperties.java
 
b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/LoadBalancerProperties.java
deleted file mode 100644
index b8ab723..0000000
--- 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/LoadBalancerProperties.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.azurecompute.arm.domain;
-
-import java.util.List;
-
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.json.SerializedNames;
-
-import com.google.auto.value.AutoValue;
-import com.google.common.collect.ImmutableList;
-
-@AutoValue
-public abstract class LoadBalancerProperties implements Provisionable {
-
-   @Nullable
-   public abstract List<FrontendIPConfigurations> frontendIPConfigurations();
-
-   @Nullable
-   public abstract List<BackendAddressPool> backendAddressPools();
-
-   @Nullable
-   public abstract List<LoadBalancingRule> loadBalancingRules();
-
-   @Nullable
-   public abstract List<Probe> probes();
-
-   @Nullable
-   public abstract List<InboundNatRule> inboundNatRules();
-
-   @Nullable
-   public abstract String resourceGuid();
-
-   @Nullable
-   public abstract String provisioningState();
-
-   @SerializedNames({ "frontendIPConfigurations", "backendAddressPools", 
"loadBalancingRules", "probes",
-         "inboundNatRules", "resourceGuid", "provisioningState" })
-   public static LoadBalancerProperties create(final 
List<FrontendIPConfigurations> frontendIPConfigurations,
-         final List<BackendAddressPool> backendAddressPools, final 
List<LoadBalancingRule> loadBalancingRules,
-         final List<Probe> probes, final List<InboundNatRule> inboundNatRules, 
final String resourceGuid,
-         final String provisioningState) {
-      return builder().frontendIPConfigurations(frontendIPConfigurations)
-            .backendAddressPools(backendAddressPools == null ? null : 
ImmutableList.copyOf(backendAddressPools))
-            .loadBalancingRules(loadBalancingRules == null ? null : 
ImmutableList.copyOf(loadBalancingRules))
-            .probes(probes == null ? null : ImmutableList.copyOf(probes))
-            .inboundNatRules(inboundNatRules == null ? null : 
ImmutableList.copyOf(inboundNatRules))
-            
.resourceGuid(resourceGuid).provisioningState(provisioningState).build();
-   }
-
-   public abstract Builder toBuilder();
-
-   public static Builder builder() {
-      return new AutoValue_LoadBalancerProperties.Builder();
-   }
-
-   @AutoValue.Builder
-   public abstract static class Builder {
-      public abstract Builder 
frontendIPConfigurations(List<FrontendIPConfigurations> 
frontendIPConfigurations);
-
-      public abstract Builder backendAddressPools(List<BackendAddressPool> 
backendAddressPools);
-
-      public abstract Builder loadBalancingRules(List<LoadBalancingRule> 
networkInterfaces);
-
-      public abstract Builder probes(List<Probe> probes);
-
-      public abstract Builder inboundNatRules(List<InboundNatRule> 
inboundNatRules);
-
-      public abstract Builder resourceGuid(String resourceGuid);
-
-      public abstract Builder provisioningState(String provisioningState);
-
-      abstract List<FrontendIPConfigurations> frontendIPConfigurations();
-
-      abstract List<BackendAddressPool> backendAddressPools();
-
-      abstract List<LoadBalancingRule> loadBalancingRules();
-
-      abstract List<Probe> probes();
-
-      abstract List<InboundNatRule> inboundNatRules();
-
-      abstract LoadBalancerProperties autoBuild();
-
-      public LoadBalancerProperties build() {
-         frontendIPConfigurations(frontendIPConfigurations() != null ? 
ImmutableList.copyOf(frontendIPConfigurations())
-               : null);
-         backendAddressPools(backendAddressPools() != null ? 
ImmutableList.copyOf(backendAddressPools()) : null);
-         loadBalancingRules(loadBalancingRules() != null ? 
ImmutableList.copyOf(loadBalancingRules()) : null);
-         probes(probes() != null ? ImmutableList.copyOf(probes()) : null);
-         inboundNatRules(inboundNatRules() != null ? 
ImmutableList.copyOf(inboundNatRules()) : null);
-         return autoBuild();
-      }
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac03bac4/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/LoadBalancingRule.java
----------------------------------------------------------------------
diff --git 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/LoadBalancingRule.java
 
b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/LoadBalancingRule.java
deleted file mode 100644
index ecc97dd..0000000
--- 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/LoadBalancingRule.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.azurecompute.arm.domain;
-
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.json.SerializedNames;
-
-import com.google.auto.value.AutoValue;
-
-@AutoValue
-public abstract class LoadBalancingRule {
-   @Nullable
-   public abstract String name();
-
-   @Nullable
-   public abstract String id();
-
-   @Nullable
-   public abstract LoadBalancingRuleProperties properties();
-
-   @Nullable
-   public abstract String etag();
-
-   @SerializedNames({ "name", "id", "properties", "etag" })
-   public static LoadBalancingRule create(final String name, final String id,
-         final LoadBalancingRuleProperties properties, final String etag) {
-      return new AutoValue_LoadBalancingRule(name, id, properties, etag);
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac03bac4/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/LoadBalancingRuleProperties.java
----------------------------------------------------------------------
diff --git 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/LoadBalancingRuleProperties.java
 
b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/LoadBalancingRuleProperties.java
deleted file mode 100644
index ca90a15..0000000
--- 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/LoadBalancingRuleProperties.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.azurecompute.arm.domain;
-
-import org.jclouds.azurecompute.arm.util.GetEnumValue;
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.json.SerializedNames;
-
-import com.google.auto.value.AutoValue;
-
-@AutoValue
-public abstract class LoadBalancingRuleProperties {
-
-   public enum Protocol {
-      Tcp("Tcp"), Udp("Udp"), UNRECOGNIZED("Unrecognized");
-
-      private final String label;
-
-      private Protocol(final String label) {
-         this.label = label;
-      }
-
-      public static Protocol fromValue(final String text) {
-         return (Protocol) GetEnumValue.fromValueOrDefault(text, 
Protocol.UNRECOGNIZED);
-      }
-
-      @Override
-      public String toString() {
-         return label;
-      }
-   }
-   
-   public enum LoadDistribution {
-      Default("Default"), SourceIp("SourceIP"), 
SourceIPProtocol("SourceIPProtocol"), UNRECOGNIZED("Unrecognized");
-
-      private final String label;
-
-      private LoadDistribution(final String label) {
-         this.label = label;
-      }
-
-      public static LoadDistribution fromValue(final String text) {
-         return (LoadDistribution) GetEnumValue.fromValueOrDefault(text, 
LoadDistribution.UNRECOGNIZED);
-      }
-
-      @Override
-      public String toString() {
-         return label;
-      }
-   }
-
-   @Nullable
-   public abstract IdReference frontendIPConfiguration();
-
-   @Nullable
-   public abstract IdReference backendAddressPool();
-
-   public abstract Protocol protocol();
-
-   public abstract int frontendPort();
-
-   public abstract int backendPort();
-
-   @Nullable
-   public abstract IdReference probe();
-
-   @Nullable
-   public abstract Boolean enableFloatingIP();
-
-   @Nullable
-   public abstract Integer idleTimeoutInMinutes();
-
-   @Nullable
-   public abstract LoadDistribution loadDistribution();
-
-   @Nullable
-   public abstract String provisioningState();
-
-   @SerializedNames({ "frontendIPConfiguration", "backendAddressPool", 
"protocol", "frontendPort", "backendPort",
-         "probe", "enableFloatingIP", "idleTimeoutInMinutes", 
"loadDistribution", "provisioningState" })
-   public static LoadBalancingRuleProperties create(final IdReference 
frontendIPConfiguration,
-         final IdReference backendAddressPool, final Protocol protocol, final 
int frontendPort, final int backendPort,
-         final IdReference probe, final Boolean enableFloatingIP, final 
Integer idleTimeoutInMinutes,
-         final LoadDistribution loadDistribution, final String 
provisioningState) {
-      return 
builder().frontendIPConfiguration(frontendIPConfiguration).backendAddressPool(backendAddressPool)
-            
.protocol(protocol).frontendPort(frontendPort).backendPort(backendPort).probe(probe)
-            
.enableFloatingIP(enableFloatingIP).idleTimeoutInMinutes(idleTimeoutInMinutes)
-            .loadDistribution(loadDistribution).build();
-   }
-   
-   public abstract Builder toBuilder();
-
-   public static Builder builder() {
-      return new AutoValue_LoadBalancingRuleProperties.Builder();
-   }
-
-   @AutoValue.Builder
-   public abstract static class Builder {
-      public abstract Builder frontendIPConfiguration(IdReference 
frontendIPConfiguration);
-
-      public abstract Builder backendAddressPool(IdReference 
backendAddressPool);
-
-      public abstract Builder protocol(Protocol protocol);
-
-      public abstract Builder frontendPort(int frontendPort);
-
-      public abstract Builder backendPort(int backendPort);
-
-      public abstract Builder probe(IdReference probe);
-
-      public abstract Builder enableFloatingIP(Boolean enableFloatingIP);
-
-      public abstract Builder idleTimeoutInMinutes(Integer 
idleTimeoutInMinutes);
-
-      public abstract Builder loadDistribution(LoadDistribution 
loadDistribution);
-
-      public abstract Builder provisioningState(String provisioningState);
-
-      public abstract LoadBalancingRuleProperties build();
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac03bac4/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/Location.java
----------------------------------------------------------------------
diff --git 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/Location.java
 
b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/Location.java
deleted file mode 100644
index a597a61..0000000
--- 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/Location.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.azurecompute.arm.domain;
-
-import com.google.auto.value.AutoValue;
-import org.jclouds.json.SerializedNames;
-
-/**
- * A data center location that is valid for your subscription.
- */
-@AutoValue
-public abstract class Location {
-   /**
-    * The id of the data center.
-    */
-   public abstract String id();
-
-   /**
-    * The name of the data center location. Ex. {@code West Europe}.
-    */
-   public abstract String name();
-
-   /**
-    * The localized name of the data center location.
-    */
-   public abstract String displayName();
-
-   /**
-    * The longitude of the datacenter
-    */
-   public abstract double longitude();
-
-   /**
-    * The latitude of the datacenter
-    */
-   public abstract double latitude();
-
-   @SerializedNames({"id", "name", "displayName", "longitude", "latitude"})
-   public static Location create(final String id, final String name, final 
String displayName, final double longitude,
-           final double latitude) {
-
-      return new AutoValue_Location(id, name, displayName, longitude, 
latitude);
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac03bac4/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/ManagedDiskParameters.java
----------------------------------------------------------------------
diff --git 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/ManagedDiskParameters.java
 
b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/ManagedDiskParameters.java
deleted file mode 100644
index a8a0ae3..0000000
--- 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/ManagedDiskParameters.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.azurecompute.arm.domain;
-
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.json.SerializedNames;
-
-import com.google.auto.value.AutoValue;
-
-@AutoValue
-public abstract class ManagedDiskParameters {
-
-   @Nullable public abstract String id();
-
-   // Might be null in custom images. In that case the API returns it in the 
OSDisk object.
-   @Nullable public abstract StorageAccountType storageAccountType();
-
-   @SerializedNames({"id", "storageAccountType"})
-   public static ManagedDiskParameters create(final String id, final String 
storageAccountType) {
-      return new AutoValue_ManagedDiskParameters(id, 
StorageAccountType.fromString(storageAccountType));
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac03bac4/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/Metric.java
----------------------------------------------------------------------
diff --git 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/Metric.java
 
b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/Metric.java
deleted file mode 100644
index 0320db2..0000000
--- 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/Metric.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.azurecompute.arm.domain;
-
-import java.util.List;
-
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.json.SerializedNames;
-
-import com.google.auto.value.AutoValue;
-import com.google.common.collect.ImmutableList;
-
-/**
- * A Metric with its values for a resource
- */
-@AutoValue
-public abstract class Metric {
-
-   public abstract List<MetricData> data();
-
-   public abstract String id();
-
-   @Nullable
-   public abstract MetricName name();
-
-   public abstract String type();
-
-   public abstract String unit();
-
-   @SerializedNames({ "data", "id", "name", "type", "unit" })
-   public static Metric create(final List<MetricData> data, final String id, 
final MetricName name, final String type,
-         final String unit) {
-      return new AutoValue_Metric(data == null ? ImmutableList.<MetricData> 
of() : ImmutableList.copyOf(data), id, name,
-            type, unit);
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac03bac4/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/MetricData.java
----------------------------------------------------------------------
diff --git 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/MetricData.java
 
b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/MetricData.java
deleted file mode 100644
index 29e810e..0000000
--- 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/MetricData.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.azurecompute.arm.domain;
-
-import java.util.Date;
-
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.json.SerializedNames;
-
-import com.google.auto.value.AutoValue;
-
-/**
- *
- */
-@AutoValue
-public abstract class MetricData
-{
-
-    /**
-     * The timestamp for the metric value in ISO 8601 format.
-     */
-    public abstract Date timeStamp();
-
-    /**
-     * The average value in the time range
-     */
-    @Nullable
-    public abstract Double total();
-
-    /**
-     * The sum of all of the values in the time range.
-     */
-    @Nullable
-    public abstract Double average();
-
-    /**
-     * The least value in the time range.
-     */
-    @Nullable
-    public abstract Double minimum();
-
-    /**
-     * The greatest value in the time range.
-     */
-    @Nullable
-    public abstract Double maximum();
-
-    /**
-     * The number of samples in the time range.
-     */
-    @Nullable
-    public abstract Long count();
-
-    @SerializedNames({"timeStamp", "total", "average", "minimum", "maximum", 
"count"})
-    public static MetricData create(final Date timeStamp, final Double total, 
final Double average,
-        final Double minimum, final Double maximum, final Long count)
-    {
-        return new AutoValue_MetricData(timeStamp, total, average, minimum, 
maximum, count);
-    }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac03bac4/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/MetricDefinition.java
----------------------------------------------------------------------
diff --git 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/MetricDefinition.java
 
b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/MetricDefinition.java
deleted file mode 100644
index 95f8d47..0000000
--- 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/MetricDefinition.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.azurecompute.arm.domain;
-
-import java.util.List;
-
-import org.jclouds.azurecompute.arm.util.GetEnumValue;
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.json.SerializedNames;
-
-import com.google.auto.value.AutoValue;
-import com.google.common.collect.ImmutableList;
-
-/**
- * A Metric definition for a resource
- */
-@AutoValue
-public abstract class MetricDefinition {
-
-   public enum AggregationType {
-      None("None"), Average("Average"), Count("Count"), Total("Total"), 
Minimum("Minimum"), Maximum(
-            "Maximum"), UNRECOGNIZED("Unrecognized");
-
-      private final String label;
-
-      AggregationType(String label) {
-         this.label = label;
-      }
-
-      public static AggregationType fromValue(final String text) {
-         return (AggregationType) GetEnumValue.fromValueOrDefault(text, 
AggregationType.UNRECOGNIZED);
-      }
-
-      @Override
-      public String toString() {
-         return label;
-      }
-   }
-
-   @Nullable
-   public abstract String resourceId();
-
-   public abstract MetricName name();
-
-   @Nullable
-   public abstract Boolean isDimensionRequired();
-
-   public abstract String unit();
-
-   public abstract AggregationType primaryAggregationType();
-
-   public abstract List<MetricDefinition.MetricAvailability> 
metricAvailabilities();
-
-   public abstract String id();
-
-   @SerializedNames({ "resourceId", "name", "isDimensionRequired", "unit", 
"primaryAggregationType",
-         "metricAvailabilities", "id" })
-   public static MetricDefinition create(final String resourceId, final 
MetricName name,
-         final Boolean isDimensionRequired, final String unit, final 
AggregationType primaryAggregationType,
-         List<MetricAvailability> metricAvailabilities, final String id) {
-      return new AutoValue_MetricDefinition(resourceId, name, 
isDimensionRequired, unit, primaryAggregationType,
-            metricAvailabilities == null ?
-                  ImmutableList.<MetricAvailability> of() :
-                  ImmutableList.copyOf(metricAvailabilities), id);
-   }
-
-   @AutoValue
-   public abstract static class MetricAvailability {
-
-      public abstract String timeGrain();
-
-      public abstract String retention();
-
-      MetricAvailability() {
-
-      }
-
-      @SerializedNames({ "timeGrain", "retention" })
-      public static MetricDefinition.MetricAvailability create(String 
timeGrain, String retention) {
-         return new AutoValue_MetricDefinition_MetricAvailability(timeGrain, 
retention);
-      }
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac03bac4/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/MetricName.java
----------------------------------------------------------------------
diff --git 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/MetricName.java
 
b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/MetricName.java
deleted file mode 100644
index 7caf52e..0000000
--- 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/MetricName.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.azurecompute.arm.domain;
-
-import org.jclouds.json.SerializedNames;
-
-import com.google.auto.value.AutoValue;
-
-/**
- * A Metric with its values for a resource
- */
-@AutoValue
-public abstract class MetricName {
-
-   public abstract String value();
-
-   public abstract String localizedValue();
-
-   @SerializedNames({ "value", "localizedValue" })
-   public static MetricName create(String value, String localizedValue) {
-      return new AutoValue_MetricName(value, localizedValue);
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac03bac4/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/NetworkInterfaceCard.java
----------------------------------------------------------------------
diff --git 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/NetworkInterfaceCard.java
 
b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/NetworkInterfaceCard.java
deleted file mode 100644
index 66bc1a3..0000000
--- 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/NetworkInterfaceCard.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.azurecompute.arm.domain;
-
-import com.google.auto.value.AutoValue;
-import com.google.common.collect.ImmutableMap;
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.json.SerializedNames;
-
-import java.util.Map;
-
-@AutoValue
-public abstract class NetworkInterfaceCard {
-
-   @Nullable
-   public abstract String name();
-
-   @Nullable
-   public abstract String id();
-
-   @Nullable
-   public abstract String etag();
-
-   @Nullable
-   public abstract String location();
-
-   @Nullable
-   public abstract NetworkInterfaceCardProperties properties();
-
-   @Nullable
-   public abstract Map<String, String> tags();
-
-   @SerializedNames({"name", "id", "etag", "location", "properties", "tags"})
-   public static NetworkInterfaceCard create(final String name,
-                                             final String id,
-                                             final String etag,
-                                             final String location,
-                                             final 
NetworkInterfaceCardProperties properties,
-                                             final Map<String, String> tags) {
-      return new AutoValue_NetworkInterfaceCard(name, id, etag, location, 
properties,
-         tags != null ? ImmutableMap.copyOf(tags) : null);
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac03bac4/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/NetworkInterfaceCardProperties.java
----------------------------------------------------------------------
diff --git 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/NetworkInterfaceCardProperties.java
 
b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/NetworkInterfaceCardProperties.java
deleted file mode 100644
index 680d0a2..0000000
--- 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/NetworkInterfaceCardProperties.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.azurecompute.arm.domain;
-
-import com.google.auto.value.AutoValue;
-import com.google.common.collect.ImmutableList;
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.json.SerializedNames;
-
-import java.util.List;
-
-@AutoValue
-public abstract class NetworkInterfaceCardProperties implements Provisionable {
-
-   @Nullable public abstract String provisioningState();
-   @Nullable public abstract String resourceGuid();
-   @Nullable public abstract Boolean enableIPForwarding();
-   @Nullable public abstract List<IpConfiguration> ipConfigurations();
-   @Nullable public abstract IdReference networkSecurityGroup();
-
-   @SerializedNames({"provisioningState", "resourceGuid", 
"enableIPForwarding", "ipConfigurations",
-      "networkSecurityGroup"})
-   public static NetworkInterfaceCardProperties create(final String 
provisioningState, final String resourceGuid,
-         final Boolean enableIPForwarding, final List<IpConfiguration> 
ipConfigurations,
-         final IdReference networkSecurityGroup) {
-      NetworkInterfaceCardProperties.Builder builder = 
NetworkInterfaceCardProperties.builder()
-              .provisioningState(provisioningState)
-              .resourceGuid(resourceGuid)
-              .enableIPForwarding(enableIPForwarding)
-              .ipConfigurations(ipConfigurations == null ? null : 
ImmutableList.copyOf(ipConfigurations))
-              .networkSecurityGroup(networkSecurityGroup);
-
-      return builder.build();
-   }
-
-   NetworkInterfaceCardProperties() {
-
-   }
-
-   public abstract Builder toBuilder();
-
-   public static Builder builder() {
-      return new AutoValue_NetworkInterfaceCardProperties.Builder();
-   }
-
-   @AutoValue.Builder
-   public abstract static class Builder {
-      public abstract Builder provisioningState(String provisioningState);
-      public abstract Builder resourceGuid(String resourceGuid);
-      public abstract Builder enableIPForwarding(Boolean enableIPForwarding);
-      public abstract Builder ipConfigurations(List<IpConfiguration> 
ipConfigurations);
-      public abstract Builder networkSecurityGroup(IdReference 
networkSecurityGroup);
-
-      abstract List<IpConfiguration> ipConfigurations();
-      abstract NetworkInterfaceCardProperties autoBuild();
-
-      public NetworkInterfaceCardProperties build() {
-         ipConfigurations(ipConfigurations() != null ? 
ImmutableList.copyOf(ipConfigurations()) : null);
-         return autoBuild();
-      }
-   }
-}
-
-

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac03bac4/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/NetworkInterfaceConfiguration.java
----------------------------------------------------------------------
diff --git 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/NetworkInterfaceConfiguration.java
 
b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/NetworkInterfaceConfiguration.java
deleted file mode 100644
index b2e81b2..0000000
--- 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/NetworkInterfaceConfiguration.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.azurecompute.arm.domain;
-
-import com.google.auto.value.AutoValue;
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.json.SerializedNames;
-
-@AutoValue
-public abstract class NetworkInterfaceConfiguration {
-   /**
-    * The name of the NetworkInterfaceConfiguration
-    */
-   @Nullable
-   public abstract String name();
-
-   /**
-    * The networkConfigurationProperties of the NetworkInterfaceConfiguration
-    */
-   @Nullable
-   public abstract NetworkInterfaceConfigurationProperties 
networkInterfaceConfigurationProperties();
-
-   @SerializedNames({"name", "properties"})
-   public static NetworkInterfaceConfiguration create(
-      final String name, NetworkInterfaceConfigurationProperties 
networkInterfaceConfigurationProperties) {
-
-      return new AutoValue_NetworkInterfaceConfiguration(name, 
networkInterfaceConfigurationProperties);
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac03bac4/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/NetworkInterfaceConfigurationProperties.java
----------------------------------------------------------------------
diff --git 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/NetworkInterfaceConfigurationProperties.java
 
b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/NetworkInterfaceConfigurationProperties.java
deleted file mode 100644
index 85518b8..0000000
--- 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/NetworkInterfaceConfigurationProperties.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.azurecompute.arm.domain;
-
-import com.google.auto.value.AutoValue;
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.json.SerializedNames;
-
-import java.util.List;
-
-
-@AutoValue
-public abstract class NetworkInterfaceConfigurationProperties {
-    /**
-     * The primary of the NetworkInterfaceConfigurationProperties
-     */
-    @Nullable
-    public abstract Boolean primary();
-
-    /**
-     * The enableAcceleratedNetworking of the 
NetworkInterfaceConfigurationProperties
-     */
-    @Nullable
-    public abstract Boolean enableAcceleratedNetworking();
-
-    /**
-     * The networkSecurityGroup of the NetworkInterfaceConfigurationProperties
-     */
-    @Nullable
-    public abstract VirtualMachineScaleSetNetworkSecurityGroup 
networkSecurityGroup();
-
-   /**
-    * The dnsSettings of the NetworkInterfaceConfigurationProperties
-    */
-   @Nullable
-   public abstract VirtualMachineScaleSetDNSSettings dnsSettings();
-
-   /**
-    * The ipConfigurations of the NetworkInterfaceConfigurationProperties
-    */
-   public abstract List<VirtualMachineScaleSetIpConfiguration> 
ipConfigurations();
-
-
-    @SerializedNames({"primary", "enableAcceleratedNetworking", 
"networkSecurityGroup", "dnsSettings", "ipConfigurations"})
-    public static NetworkInterfaceConfigurationProperties create(final Boolean 
primary,
-                                                               final Boolean 
enableAcceleratedNetworking,
-                                                               final 
VirtualMachineScaleSetNetworkSecurityGroup networkSecurityGroup,
-                                                               final 
VirtualMachineScaleSetDNSSettings dnsSettings,
-                                                               final 
List<VirtualMachineScaleSetIpConfiguration> ipConfigurations) {
-
-        return new AutoValue_NetworkInterfaceConfigurationProperties(primary, 
enableAcceleratedNetworking,
-                networkSecurityGroup, dnsSettings, ipConfigurations);
-    }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac03bac4/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/NetworkProfile.java
----------------------------------------------------------------------
diff --git 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/NetworkProfile.java
 
b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/NetworkProfile.java
deleted file mode 100644
index cdb6d51..0000000
--- 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/NetworkProfile.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.azurecompute.arm.domain;
-
-import com.google.auto.value.AutoValue;
-import com.google.common.collect.ImmutableList;
-
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.json.SerializedNames;
-
-import java.util.List;
-
-@AutoValue
-public abstract class NetworkProfile {
-
-   @AutoValue
-   public abstract static class NetworkInterface {
-      public abstract String id();
-      @Nullable public abstract NetworkInterfaceProperties properties();
-      
-      @AutoValue
-      public abstract static class NetworkInterfaceProperties {
-         public abstract boolean primary();
-         
-         NetworkInterfaceProperties() {
-            
-         }
-         
-         @SerializedNames({"primary"})
-         public static NetworkInterfaceProperties create(boolean primary) {
-            return new 
AutoValue_NetworkProfile_NetworkInterface_NetworkInterfaceProperties(primary);
-         }
-      }
-      
-      NetworkInterface() {
-         
-      }
-      
-      @SerializedNames({"id", "properties"})
-      public static NetworkInterface create(String id, 
NetworkInterfaceProperties properties) {
-         return new AutoValue_NetworkProfile_NetworkInterface(id, properties);
-      }
-   }
-   
-   /**
-    * List of network interfaces
-    */
-   public abstract List<NetworkInterface> networkInterfaces();
-
-   @SerializedNames({"networkInterfaces"})
-   public static NetworkProfile create(final List<NetworkInterface> 
networkInterfaces) {
-      return builder().networkInterfaces(networkInterfaces).build();
-   }
-   
-   NetworkProfile() {
-      
-   }
-   
-   public abstract Builder toBuilder();
-
-   public static Builder builder() {
-      return new AutoValue_NetworkProfile.Builder();
-   }
-
-   @AutoValue.Builder
-   public abstract static class Builder {
-      public abstract Builder networkInterfaces(List<NetworkInterface> 
networkInterfaces);
-
-      abstract List<NetworkInterface> networkInterfaces();
-
-      abstract NetworkProfile autoBuild();
-
-      public NetworkProfile build() {
-         networkInterfaces(networkInterfaces() != null ? 
ImmutableList.copyOf(networkInterfaces()) : 
ImmutableList.<NetworkInterface>of());
-         return autoBuild();
-      }
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac03bac4/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/NetworkSecurityGroup.java
----------------------------------------------------------------------
diff --git 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/NetworkSecurityGroup.java
 
b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/NetworkSecurityGroup.java
deleted file mode 100644
index e7c75e8..0000000
--- 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/NetworkSecurityGroup.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.azurecompute.arm.domain;
-
-import com.google.auto.value.AutoValue;
-import com.google.common.collect.ImmutableMap;
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.json.SerializedNames;
-
-import java.util.Map;
-
-@AutoValue
-public abstract class NetworkSecurityGroup {
-   public abstract String id();
-   public abstract String name();
-
-   @Nullable
-   public abstract String location();
-
-   @Nullable
-   public abstract Map<String, String> tags();
-
-   @Nullable
-   public abstract NetworkSecurityGroupProperties properties();
-
-   @Nullable
-   public abstract String etag();
-
-   @SerializedNames({ "id", "name", "location", "tags", "properties", "etag" })
-   public static NetworkSecurityGroup create(final String id, final String 
name, final String location,
-         final Map<String, String> tags, final NetworkSecurityGroupProperties 
properties, final String etag) {
-      return new AutoValue_NetworkSecurityGroup(id, name, location, (tags == 
null) ? null : ImmutableMap.copyOf(tags),
-            properties, etag);
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac03bac4/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/NetworkSecurityGroupProperties.java
----------------------------------------------------------------------
diff --git 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/NetworkSecurityGroupProperties.java
 
b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/NetworkSecurityGroupProperties.java
deleted file mode 100644
index 60fb2e6..0000000
--- 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/NetworkSecurityGroupProperties.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.azurecompute.arm.domain;
-
-import com.google.auto.value.AutoValue;
-
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.json.SerializedNames;
-import com.google.common.collect.ImmutableList;
-
-import java.util.List;
-
-@AutoValue
-public abstract class NetworkSecurityGroupProperties implements Provisionable {
-
-   @Nullable
-   public abstract List<NetworkSecurityRule> securityRules();
-
-   @Nullable
-   public abstract List<NetworkSecurityRule> defaultSecurityRules();
-
-   @Nullable
-   public abstract List<NetworkInterfaceCard> networkInterfaces();
-
-   @Nullable
-   public abstract List<Subnet> subnets();
-
-   @Nullable
-   public abstract String resourceGuid();
-
-   @Nullable
-   public abstract String provisioningState();
-
-   @SerializedNames({"securityRules", "defaultSecurityRules", 
"networkInterfaces", "subnets", "resourceGuid",
-      "provisioningState"})
-   public static NetworkSecurityGroupProperties create(final 
List<NetworkSecurityRule> securityRules,
-                                          final List<NetworkSecurityRule> 
defaultSecurityRules,
-                                          final List<NetworkInterfaceCard> 
networkInterfaces,
-                                          final List<Subnet> subnets,
-                                          final String resourceGuid,
-                                          final String provisioningState) {
-      return builder()
-              .securityRules((securityRules == null) ? null : 
ImmutableList.copyOf(securityRules))
-              .defaultSecurityRules((defaultSecurityRules == null) ? null : 
ImmutableList.copyOf(defaultSecurityRules))
-              .networkInterfaces((networkInterfaces == null) ? null : 
ImmutableList.copyOf(networkInterfaces))
-              .subnets((subnets == null) ? null : 
ImmutableList.copyOf(subnets))
-              .resourceGuid(resourceGuid)
-              .provisioningState(provisioningState)
-              .build();
-   }
-   
-   public abstract Builder toBuilder();
-
-   public static Builder builder() {
-      return new AutoValue_NetworkSecurityGroupProperties.Builder();
-   }
-
-   @AutoValue.Builder
-   public abstract static class Builder {
-      public abstract Builder securityRules(List<NetworkSecurityRule> 
securityRules);
-
-      public abstract Builder defaultSecurityRules(List<NetworkSecurityRule> 
securityRules);
-
-      public abstract Builder networkInterfaces(List<NetworkInterfaceCard> 
networkInterfaces);
-
-      public abstract Builder subnets(List<Subnet> subnets);
-
-      public abstract Builder resourceGuid(String resourceGuid);
-
-      public abstract Builder provisioningState(String provisioningState);
-
-      public abstract NetworkSecurityGroupProperties build();
-   }
-}
-

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac03bac4/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/NetworkSecurityRule.java
----------------------------------------------------------------------
diff --git 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/NetworkSecurityRule.java
 
b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/NetworkSecurityRule.java
deleted file mode 100644
index 857a568..0000000
--- 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/NetworkSecurityRule.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.azurecompute.arm.domain;
-
-import com.google.auto.value.AutoValue;
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.json.SerializedNames;
-
-@AutoValue
-public abstract class NetworkSecurityRule {
-
-   @Nullable
-   public abstract String name();
-
-   @Nullable
-   public abstract String id();
-
-   @Nullable
-   public abstract String etag();
-
-   @Nullable
-   public abstract NetworkSecurityRuleProperties properties();
-
-   @SerializedNames({"name", "id", "etag", "properties"})
-   public static NetworkSecurityRule create(final String name,
-                                            final String id,
-                                            final String etag,
-                                            final 
NetworkSecurityRuleProperties properties) {
-      return new AutoValue_NetworkSecurityRule(name, id, etag, properties);
-   }
-}
-

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac03bac4/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/NetworkSecurityRuleProperties.java
----------------------------------------------------------------------
diff --git 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/NetworkSecurityRuleProperties.java
 
b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/NetworkSecurityRuleProperties.java
deleted file mode 100644
index e93107e..0000000
--- 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/NetworkSecurityRuleProperties.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.azurecompute.arm.domain;
-
-import com.google.auto.value.AutoValue;
-
-import org.jclouds.azurecompute.arm.util.GetEnumValue;
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.json.SerializedNames;
-
-@AutoValue
-public abstract class NetworkSecurityRuleProperties {
-   public enum Protocol {
-      // * is an allowed value, will handle in
-      Tcp("Tcp"),
-      Udp("Udp"),
-      All("*"),
-      UNRECOGNIZED("Unrecognized");
-
-      private final String label;
-
-      private Protocol(String label) { this.label = label; }
-
-      public static Protocol fromValue(final String text) {
-         if ("*".equals(text)) {
-            return All;
-         } else {
-            return (Protocol) GetEnumValue.fromValueOrDefault(text, 
Protocol.UNRECOGNIZED);
-         }
-      }
-
-      @Override
-      public String toString() {
-         return label;
-      }
-   }
-
-   public enum Access {
-      Allow,
-      Deny,
-      UNRECOGNIZED;
-
-      public static Access fromValue(final String text) {
-         return (Access) GetEnumValue.fromValueOrDefault(text, 
Access.UNRECOGNIZED);
-      }
-   }
-
-   public enum Direction {
-      Inbound,
-      Outbound,
-      UNRECOGNIZED;
-
-      public static Direction fromValue(final String text) {
-         return (Direction) GetEnumValue.fromValueOrDefault(text, 
Direction.UNRECOGNIZED);
-      }
-   }
-
-   @Nullable
-   public abstract String description();
-
-   public abstract Protocol protocol();
-
-   @Nullable
-   public abstract String sourcePortRange();
-
-   @Nullable
-   public abstract String destinationPortRange();
-
-   public abstract String sourceAddressPrefix();
-
-   public abstract String destinationAddressPrefix();
-
-   public abstract Access access();
-
-   @Nullable
-   public abstract Integer priority();
-
-   public abstract Direction direction();
-
-   @SerializedNames({"description", "protocol", "sourcePortRange", 
"destinationPortRange", "sourceAddressPrefix", "destinationAddressPrefix", 
"access", "priority", "direction"})
-   public static NetworkSecurityRuleProperties create(final String description,
-                                                      final Protocol protocol,
-                                                      final String 
sourcePortRange,
-                                                      final String 
destinationPortRange,
-                                                      final String 
sourceAddressPrefix,
-                                                      final String 
destinationAddressPrefix,
-                                                      final Access access,
-                                                      final Integer priority,
-                                                      final Direction 
direction) {
-      return builder()
-              .description(description)
-              .protocol(protocol)
-              .sourcePortRange(sourcePortRange)
-              .destinationPortRange(destinationPortRange)
-              .sourceAddressPrefix(sourceAddressPrefix)
-              .destinationAddressPrefix(destinationAddressPrefix)
-              .access(access)
-              .priority(priority)
-              .direction(direction)
-              .build();
-   }
-   
-   public abstract Builder toBuilder();
-
-   public static Builder builder() {
-      return new AutoValue_NetworkSecurityRuleProperties.Builder();
-   }
-
-   @AutoValue.Builder
-   public abstract static class Builder {
-      public abstract Builder description(String description);
-
-      public abstract Builder protocol(Protocol protocol);
-
-      public abstract Builder sourcePortRange(String sourcePortRange);
-
-      public abstract Builder destinationPortRange(String 
destinationPortRange);
-
-      public abstract Builder sourceAddressPrefix(String sourceAddressPrefix);
-
-      public abstract Builder destinationAddressPrefix(String 
sourceAddressPrefix);
-
-      public abstract Builder access(Access access);
-
-      public abstract Builder priority(Integer priority);
-
-      public abstract Builder direction(Direction direction);
-
-      public abstract NetworkSecurityRuleProperties build();
-   }
-}
-

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac03bac4/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/OSDisk.java
----------------------------------------------------------------------
diff --git 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/OSDisk.java
 
b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/OSDisk.java
deleted file mode 100644
index 20392a0..0000000
--- 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/OSDisk.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.azurecompute.arm.domain;
-
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.json.SerializedNames;
-
-import com.google.auto.value.AutoValue;
-
-@AutoValue
-public abstract class OSDisk {
-   /**
-    * The OS type of the os disk
-    */
-   @Nullable
-   public abstract String osType();
-
-   /**
-    * The name of the os disk
-    */
-   @Nullable
-   public abstract String name();
-
-   /**
-    * The vhd of the os disk
-    */
-   @Nullable
-   public abstract VHD vhd();
-
-   /**
-    * The caching mode of the os disk
-    */
-   @Nullable
-   public abstract String caching();
-
-   /**
-    * The create options of the os disk
-    */
-   @Nullable
-   public abstract String createOption();
-
-   /**
-    * The url of the custom image
-    */
-   @Nullable
-   public abstract VHD image();
-
-   /**
-    * The managed disk parameters.
-    */
-   @Nullable public abstract ManagedDiskParameters managedDiskParameters();
-   
-   /**
-    * The storage account type. This field is returned in custom images.
-    */
-   @Nullable public abstract StorageAccountType storageAccountType();
-
-   @SerializedNames({ "osType", "name", "vhd", "caching", "createOption", 
"image", "managedDisk", "storageAccountType" })
-   public static OSDisk create(final String osType, final String name, final 
VHD vhd, final String caching,
-         final String createOption, final VHD image, final 
ManagedDiskParameters managedDiskParamenters,
-         final String storageAccountType) {
-      return 
builder().osType(osType).name(name).vhd(vhd).caching(caching).createOption(createOption).image(image)
-            .managedDiskParameters(managedDiskParamenters)
-            
.storageAccountType(StorageAccountType.fromString(storageAccountType)).build();
-   }
-
-   public abstract Builder toBuilder();
-
-   public static Builder builder() {
-      return new AutoValue_OSDisk.Builder();
-   }
-
-   @AutoValue.Builder
-   public abstract static class Builder {
-      public abstract Builder osType(String osType);
-      public abstract Builder name(String name);
-      public abstract Builder caching(String caching);
-      public abstract Builder createOption(String createOption);
-      public abstract Builder vhd(VHD vhd);
-      public abstract Builder image(VHD image);
-      public abstract Builder managedDiskParameters(ManagedDiskParameters 
managedDiskParameters);
-      public abstract Builder storageAccountType(StorageAccountType 
storageAccountType);
-      public abstract OSDisk build();
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac03bac4/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/OSProfile.java
----------------------------------------------------------------------
diff --git 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/OSProfile.java
 
b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/OSProfile.java
deleted file mode 100644
index 67c1ad3..0000000
--- 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/OSProfile.java
+++ /dev/null
@@ -1,277 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.azurecompute.arm.domain;
-
-import java.util.List;
-
-import org.jclouds.azurecompute.arm.util.GetEnumValue;
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.json.SerializedNames;
-
-import com.google.auto.value.AutoValue;
-import com.google.common.collect.ImmutableList;
-
-@AutoValue
-public abstract class OSProfile {
-
-   @AutoValue
-   public abstract static class LinuxConfiguration {
-
-      @AutoValue
-      public abstract static class SSH {
-
-         @AutoValue
-         public abstract static class SSHPublicKey {
-
-            @Nullable
-            public abstract String path();
-
-            @Nullable
-            public abstract String keyData();
-
-            @SerializedNames({"path", "keyData"})
-            public static SSHPublicKey create(final String path, final String 
keyData) {
-
-               return new 
AutoValue_OSProfile_LinuxConfiguration_SSH_SSHPublicKey(
-                       path, keyData);
-            }
-         }
-
-         /**
-          * The list of public keys and paths
-          */
-         @Nullable
-         public abstract List<SSHPublicKey> publicKeys();
-
-         @SerializedNames({"publicKeys"})
-         public static SSH create(final List<SSHPublicKey> publicKeys) {
-
-            return new AutoValue_OSProfile_LinuxConfiguration_SSH(
-                    publicKeys);
-         }
-      }
-
-      /**
-       * The authentication method password or ssh
-       */
-      public abstract String disablePasswordAuthentication();
-
-      /**
-       * ssh keys
-       */
-      @Nullable
-      public abstract SSH ssh();
-
-      @SerializedNames({"disablePasswordAuthentication", "ssh"})
-      public static LinuxConfiguration create(final String 
disablePasswordAuthentication,
-                                              final SSH ssh) {
-
-         return new 
AutoValue_OSProfile_LinuxConfiguration(disablePasswordAuthentication,
-                 ssh);
-      }
-   }
-
-   @AutoValue
-   public abstract static class WindowsConfiguration {
-
-      @AutoValue
-      public abstract static class WinRM {
-          public enum Protocol {
-
-              HTTP("http"),
-              HTTPS("https"),
-              UNRECOGNIZED("Unrecognized");
-
-              private String value;
-
-              Protocol(String value) {
-                 this.value = value;
-              }
-
-              public static Protocol fromValue(String value) {
-                  return (Protocol) GetEnumValue.fromValueOrDefault(value, 
Protocol.UNRECOGNIZED);
-              }
-
-              @Override
-              public String toString() {
-                 return this.value;
-              }
-           }
-
-          @AutoValue
-          public abstract static class ProtocolListener {
-
-             public abstract Protocol protocol();
-
-             @Nullable
-             public abstract String certificateUrl();
-
-             @SerializedNames({"protocol", "certificateUrl"})
-             public static ProtocolListener create(final Protocol protocol, 
final String certificateUrl) {
-
-                return new 
AutoValue_OSProfile_WindowsConfiguration_WinRM_ProtocolListener(
-                        protocol, certificateUrl);
-             }
-          }
-
-         /**
-          * Map of different settings
-          */
-         public abstract List<ProtocolListener> listeners();
-
-         @SerializedNames({"listeners"})
-         public static WinRM create(final List<ProtocolListener> listeners) {
-            return new 
AutoValue_OSProfile_WindowsConfiguration_WinRM(listeners == null ? 
ImmutableList.<ProtocolListener>of() : ImmutableList.copyOf(listeners));
-         }
-      }
-
-      @AutoValue
-      public abstract static class AdditionalUnattendContent {
-
-         public abstract String pass();
-
-         public abstract String component();
-
-         public abstract String settingName();
-
-         @Nullable public abstract String content();
-
-         @SerializedNames({"passName", "componentName", "settingName", 
"content"})
-         public static AdditionalUnattendContent create(final String passName, 
final String componentName,
-                                                        final String 
settingName,
-                                                        final String content) {
-
-            return new 
AutoValue_OSProfile_WindowsConfiguration_AdditionalUnattendContent(
-                    passName, componentName, settingName, content);
-         }
-      }
-
-      /**
-       * The provision VM Agent true of false.
-       */
-      public abstract boolean provisionVMAgent();
-
-      /**
-       * winR
-       */
-      @Nullable
-      public abstract WinRM winRM();
-
-      /**
-       * unattend content
-       */
-      @Nullable
-      public abstract List<AdditionalUnattendContent> 
additionalUnattendContent();
-
-      /**
-       * is automatic updates enabled
-       */
-      public abstract boolean enableAutomaticUpdates();
-
-      @SerializedNames({"provisionVMAgent", "winRM", 
"additionalUnattendContent", "enableAutomaticUpdates"})
-      public static WindowsConfiguration create(final boolean 
provisionVMAgent, final WinRM winRM,
-                                                final 
List<AdditionalUnattendContent> additionalUnattendContent,
-                                                final boolean 
enableAutomaticUpdates) {
-
-         return new AutoValue_OSProfile_WindowsConfiguration(provisionVMAgent, 
winRM,
-                 additionalUnattendContent, enableAutomaticUpdates);
-      }
-   }
-
-   /**
-    * The computer name of the VM
-    */
-   @Nullable
-   public abstract String computerName();
-
-   /**
-    * The admin username of the VM
-    */
-   @Nullable
-   public abstract String adminUsername();
-
-   /**
-    * The admin password of the VM
-    */
-   @Nullable
-   public abstract String adminPassword();
-
-   /**
-    * The custom data of the VM
-    */
-   @Nullable
-   public abstract String customData();
-
-   /**
-    * The linux configuration of the VM
-    */
-   @Nullable
-   public abstract LinuxConfiguration linuxConfiguration();
-
-   /**
-    * The windows configuration of the VM
-    */
-   @Nullable
-   public abstract WindowsConfiguration windowsConfiguration();
-
-   /**
-    * The Secrets configuration of the VM
-    */
-   @Nullable
-   public abstract List<Secrets> secrets();
-
-   @SerializedNames({"computerName", "adminUsername", "adminPassword", 
"customData", "linuxConfiguration",
-           "windowsConfiguration", "secrets"})
-   public static OSProfile create(final String computerName, final String 
adminUsername, final String adminPassword,
-                                  final String customData, final 
LinuxConfiguration linuxConfiguration,
-                                  final WindowsConfiguration 
windowsConfiguration, final List<Secrets> secrets) {
-      return builder()
-              .computerName(computerName)
-              .adminUsername(adminUsername)
-              .adminPassword(adminPassword)
-              .customData(customData)
-              .linuxConfiguration(linuxConfiguration)
-              .windowsConfiguration(windowsConfiguration)
-              .secrets(secrets)
-              .build();
-   }
-   
-   public abstract Builder toBuilder();
-
-   public static Builder builder() {
-      return new AutoValue_OSProfile.Builder();
-   }
-
-   @AutoValue.Builder
-   public abstract static class Builder {
-      public abstract Builder computerName(String computerName);
-
-      public abstract Builder adminUsername(String adminUsername);
-
-      public abstract Builder adminPassword(String adminPassword);
-
-      public abstract Builder customData(String customData);
-
-      public abstract Builder linuxConfiguration(LinuxConfiguration 
linuxConfiguration);
-
-      public abstract Builder windowsConfiguration(WindowsConfiguration 
windowsConfiguration);
-
-      public abstract Builder secrets(List<Secrets> secrets);
-
-      public abstract OSProfile build();
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac03bac4/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/Offer.java
----------------------------------------------------------------------
diff --git 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/Offer.java 
b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/Offer.java
deleted file mode 100644
index d44c8f8..0000000
--- 
a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/Offer.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.azurecompute.arm.domain;
-
-import com.google.auto.value.AutoValue;
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.json.SerializedNames;
-
-/**
- * Offer
- */
-@AutoValue
-public abstract class Offer {
-   /**
-    * The location of the Offer
-    */
-   @Nullable
-   public abstract String location();
-
-   /**
-    * The name of the Offer
-    */
-   @Nullable
-   public abstract String name();
-
-   /**
-    * The id of the Offer
-    */
-   @Nullable
-   public abstract String id();
-
-   @SerializedNames({"location", "name", "id"})
-   public static Offer create(final String location, final String name, final 
String id) {
-
-      return new AutoValue_Offer(location, name, id);
-   }
-}

Reply via email to