You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by na...@apache.org on 2018/01/08 14:55:55 UTC

[14/21] jclouds-labs git commit: Promoted Azure ARM to the main repo

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac03bac4/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VMImage.java
----------------------------------------------------------------------
diff --git a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VMImage.java b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VMImage.java
deleted file mode 100644
index 202481d..0000000
--- a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VMImage.java
+++ /dev/null
@@ -1,182 +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 static com.google.common.base.Preconditions.checkNotNull;
-import static org.jclouds.azurecompute.arm.util.VMImages.isCustom;
-
-import org.jclouds.azurecompute.arm.domain.Version.VersionProperties;
-import org.jclouds.javax.annotation.Nullable;
-
-import com.google.auto.value.AutoValue;
-
-@AutoValue
-public abstract class VMImage {
-   /**
-    * The publisher of the image reference.
-    */
-   @Nullable
-   public abstract String publisher();
-
-   /**
-    * The offer of the image reference.
-    */
-   @Nullable
-   public abstract String offer();
-
-   /**
-    * The sku of the image reference.
-    */
-   @Nullable
-   public abstract String sku();
-
-   /**
-    * The version of the image reference.
-    */
-   @Nullable
-   public abstract String version();
-
-   /**
-    * The location from where Image was fetched
-    */
-   @Nullable
-   public abstract String location();
-
-   /**
-    * The group of the custom image
-    */
-   @Nullable
-   public abstract String group();
-
-   /**
-    * The storage of the custom image.
-    */
-   @Nullable
-   public abstract String storage();
-
-   /**
-    * The vhd1 of the custom image
-    */
-   @Nullable
-   public abstract String vhd1();
-
-   /**
-    * The vhd2 of the custom image.
-    */
-   @Nullable
-   public abstract String vhd2();
-
-   /**
-    * The name of the custom image template.
-    */
-   @Nullable
-   public abstract String name();
-   
-   /**
-    * True if custom image
-    */
-   public abstract boolean custom();
-
-   /**
-    * The id of the custom image template.
-    */
-   @Nullable
-   public abstract String customImageId();
-   
-   /**
-    * The resource group for the image in case of custom images.
-    * @return
-    */
-   @Nullable
-   public abstract String resourceGroup();
-
-   /**
-    * Extended version properties.
-    */
-   @Nullable
-   public abstract VersionProperties versionProperties();
-   
-   private static Builder builder() {
-      return new AutoValue_VMImage.Builder();
-   }
-   
-   public static Builder azureImage() {
-      return builder().custom(false);
-   }
-   
-   public static Builder customImage() {
-      return builder().custom(true);
-   }
-   
-   VMImage() {
-      
-   }
-   
-   public abstract Builder toBuilder();
-   
-   @AutoValue.Builder
-   public abstract static class Builder {
-
-      public abstract Builder customImageId(String id);
-      public abstract Builder resourceGroup(String resourceGroup);
-      public abstract Builder publisher(String published);
-      public abstract Builder offer(String offer);
-      public abstract Builder sku(String sku);
-      public abstract Builder version(String version);
-      public abstract Builder location(String location);
-      public abstract Builder group(String group);
-      public abstract Builder storage(String storage);
-      public abstract Builder vhd1(String vhd1);
-      public abstract Builder vhd2(String vhd2);
-      public abstract Builder name(String name);
-      public abstract Builder custom(boolean custom);
-      public abstract Builder versionProperties(VersionProperties versionProperties);
-      
-      public abstract VMImage build();
-   }
-
-   public String encodeFieldsToUniqueId() {
-      return String.format("%s/%s/%s/%s", location(), publisher(), offer(), sku());
-   }
-
-   public String encodeFieldsToUniqueIdCustom() {
-      return String.format("%s/%s/%s", resourceGroup(), location(), name());
-   }
-
-   public static VMImage decodeFieldsFromUniqueId(final String id) {
-      VMImage vmImage;
-      String[] fields = checkNotNull(id, "id").split("/");
-      if (isCustom(id)) {
-         /* id fields indexes
-         0: imageReference.resourceGroup
-         1: imageReference.location + "/" +
-         2: imageReference.name
-         */
-         vmImage = VMImage.customImage().resourceGroup(fields[0]).location(fields[1]).name(fields[2]).build();
-      } else {
-         /* id fields indexes
-         0: imageReference.location + "/" +
-         1: imageReference.publisher + "/" +
-         2: imageReference.offer + "/" +
-         3: imageReference.sku + "/" +
-         */
-         vmImage = VMImage.azureImage().location(fields[0]).publisher(fields[1]).offer(fields[2]).sku(fields[3])
-               .build();
-      }
-      return vmImage;
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac03bac4/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VMSize.java
----------------------------------------------------------------------
diff --git a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VMSize.java b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VMSize.java
deleted file mode 100644
index 6794735..0000000
--- a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VMSize.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 com.google.auto.value.AutoValue;
-import org.jclouds.json.SerializedNames;
-
-/**
- * A VM Size that is available in a region for a given subscription.
- *
- * @see <a href="https://msdn.microsoft.com/en-us/library/azure/mt269440.aspx" >api</a>
- */
-@AutoValue
-public abstract class VMSize {
-
-   /**
-    * The name of the VM size.
-    */
-   public abstract String name();
-
-   /**
-    * The number of cores that are available in the VM size.
-    */
-   public abstract Integer numberOfCores();
-
-   /**
-    * Specifies the size in MB of the OS Disk.
-    */
-   public abstract Integer osDiskSizeInMB();
-
-   /**
-    * The size of the resource disk.
-    */
-   public abstract Integer resourceDiskSizeInMB();
-
-   /**
-    * Specifies the available RAM in MB.
-    */
-   public abstract Integer memoryInMB();
-
-   /**
-    * Specifies the maximum number of data disks that can be attached to the VM size.
-    */
-   public abstract Integer maxDataDiskCount();
-
-   @SerializedNames({ "name", "numberOfCores", "osDiskSizeInMB", "resourceDiskSizeInMB", "memoryInMB", "maxDataDiskCount"})
-   public static VMSize create(final String name, final Integer numberOfCores, final Integer osDiskSizeInMB,
-           final Integer resourceDiskSizeInMB, final Integer memoryInMB, final Integer maxDataDiskCount) {
-
-      return new AutoValue_VMSize(name, numberOfCores, osDiskSizeInMB, resourceDiskSizeInMB, memoryInMB, maxDataDiskCount);
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac03bac4/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/Value.java
----------------------------------------------------------------------
diff --git a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/Value.java b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/Value.java
deleted file mode 100644
index 4b0ce0c..0000000
--- a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/Value.java
+++ /dev/null
@@ -1,42 +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;
-
-@AutoValue
-public abstract class Value {
-
-   /**
-    * The type of the Value
-    */
-   public abstract String type();
-
-   /**
-    * The name of the Value
-    */
-   public abstract String value();
-
-   @SerializedNames({"type", "value"})
-   public static Value create(final String type, final String value) {
-
-      return new AutoValue_Value(type, value);
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac03bac4/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/Vault.java
----------------------------------------------------------------------
diff --git a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/Vault.java b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/Vault.java
deleted file mode 100644
index 3683df6..0000000
--- a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/Vault.java
+++ /dev/null
@@ -1,112 +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 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 Vault {
-
-   @AutoValue
-   public abstract static class DeletedVault {
-      @Nullable public abstract String id();
-      @Nullable public abstract String name();
-      @Nullable public abstract String type();
-      @Nullable public abstract DeletedVaultProperties properties();
-
-      @SerializedNames({"id", "name", "type", "properties"})
-      public static DeletedVault create(final String id, final String name,
-                                        final String type, final DeletedVaultProperties properties) {
-         return new AutoValue_Vault_DeletedVault(id, name, type, properties);
-      }
-   }
-
-   @AutoValue
-   public abstract static class DeletedVaultProperties {
-      @Nullable public abstract Date deletionDate();
-      @Nullable public abstract String location();
-      @Nullable public abstract Date scheduledPurgeDate();
-      @Nullable public abstract Map<String, String> tags();
-      @Nullable public abstract String vaultId();
-
-      @SerializedNames({"deletionDate", "location", "scheduledPurgeDate", "tags", "vaultId"})
-      public static DeletedVaultProperties create (final Date deletionDate, final String location,
-                                           final Date scheduledPurgeDate, final Map<String, String> tags,
-                                           final String vaultId) {
-         return new AutoValue_Vault_DeletedVaultProperties(
-                 deletionDate,
-                 location,
-                 scheduledPurgeDate,
-                 tags != null ? ImmutableMap.copyOf(tags) : null,
-                 vaultId
-         );
-      }
-   }
-
-   @Nullable public abstract String id();
-   @Nullable public abstract String type();
-   public abstract String location();
-   @Nullable public abstract Map<String, String> tags();
-   @Nullable public abstract String name();
-   public abstract VaultProperties properties();
-
-   @SerializedNames({"id", "name", "type", "location", "properties", "tags"})
-   public static Vault create(final String id, final String name, final String type,
-                              final String location,
-                              final VaultProperties properties, final Map<String, String> tags) {
-      return builder()
-              .id(id)
-              .name(name)
-              .type(type)
-              .location(location)
-              .properties(properties)
-              .tags(tags != null ? ImmutableMap.copyOf(tags) : null)
-              .build();
-   }
-
-   public abstract Builder toBuilder();
-
-   public static Builder builder() {
-      return new AutoValue_Vault.Builder();
-   }
-
-   @AutoValue.Builder
-   public abstract static class Builder {
-      public abstract Builder id(String id);
-      public abstract Builder name(String name);
-      public abstract Builder type(String type);
-      public abstract Builder location(String location);
-      public abstract Builder properties(VaultProperties properties);
-      public abstract Builder tags(Map<String, String> tags);
-
-      abstract Map<String, String> tags();
-      abstract Vault autoBuild();
-
-      public Vault 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/VaultCertificate.java
----------------------------------------------------------------------
diff --git a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VaultCertificate.java b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VaultCertificate.java
deleted file mode 100644
index dd35eb6..0000000
--- a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VaultCertificate.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;
-
-/**
- * Certificate stored in a Key Vault
- */
-@AutoValue
-public abstract class VaultCertificate {
-
-    /**
-     * The URL of the certificate
-     */
-    public abstract String certificateUrl();
-
-    /**
-     * Certificate's store name
-     */
-    @Nullable
-    public abstract String certificateStore();
-
-    @SerializedNames({"certificateUrl", "certificateStore"})
-    public static VaultCertificate create(final String certificateUrl, final String certificateStore) {
-       return new AutoValue_VaultCertificate(certificateUrl, certificateStore);
-    }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac03bac4/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VaultProperties.java
----------------------------------------------------------------------
diff --git a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VaultProperties.java b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VaultProperties.java
deleted file mode 100644
index 5e97cf3..0000000
--- a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VaultProperties.java
+++ /dev/null
@@ -1,131 +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.net.URI;
-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 VaultProperties {
-
-   @AutoValue
-   public abstract static class Permissions {
-
-      public abstract List<String> certificates();
-      public abstract List<String> keys();
-      public abstract List<String> secrets();
-      public abstract List<String> storage();
-
-      @SerializedNames({ "certificates", "keys", "secrets", "storage"})
-      public static Permissions create(final List<String> certificates, final List<String> keys, final List<String> secrets, final List<String> storage) {
-         return new AutoValue_VaultProperties_Permissions(
-                 certificates != null ? ImmutableList.copyOf(certificates) : ImmutableList.<String> of(),
-                 keys != null ? ImmutableList.copyOf(keys) : ImmutableList.<String> of(),
-                 secrets != null ? ImmutableList.copyOf(secrets) : ImmutableList.<String> of(),
-                 storage != null ? ImmutableList.copyOf(storage) : ImmutableList.<String> of()
-         );
-      }
-
-      Permissions() {
-
-      }
-   }
-   
-   @AutoValue
-   public abstract static class AccessPolicyEntry {
-
-      @Nullable public abstract String applicationId();
-      public abstract String objectId();
-      public abstract String tenantId();
-      @Nullable public abstract Permissions permissions();
-
-      @SerializedNames({"applicationId", "objectId", "tenantId", "permissions"})
-      public static AccessPolicyEntry create(final String applicationId, final String objectId, final String tenantId, final Permissions permissions) {
-         return new AutoValue_VaultProperties_AccessPolicyEntry(applicationId, objectId, tenantId, permissions);
-      }
-
-      AccessPolicyEntry() {
-
-      }
-   }
-   
-   @Nullable
-   public abstract String tenantId();
-   @Nullable
-   public abstract URI vaultUri();
-   @Nullable
-   public abstract Boolean enabledForDeployment();
-   @Nullable
-   public abstract Boolean enabledForTemplateDeployment();
-   @Nullable
-   public abstract Boolean enableSoftDelete();
-   @Nullable
-   public abstract String createMode();
-   @Nullable
-   public abstract SKU sku();
-   @Nullable
-   public abstract List<AccessPolicyEntry> accessPolicies();
-
-   @SerializedNames({"tenantId", "vaultUri", "enabledForDeployment", "enabledForTemplateDeployment", "enableSoftDelete", "createMode", "sku", "accessPolicies" })
-   public static VaultProperties create(final String tenantId, final URI vaultUri, final Boolean enabledForDeployment, final Boolean enabledForTemplateDeployment, final Boolean enableSoftDelete, final String createMode,
-                                        final SKU sku, final List<AccessPolicyEntry> accessPolicies) {
-      return builder()
-              .tenantId(tenantId)
-              .vaultUri(vaultUri)
-              .enabledForDeployment(enabledForDeployment)
-              .enabledForTemplateDeployment(enabledForTemplateDeployment)
-              .enableSoftDelete(enableSoftDelete)
-              .createMode(createMode)
-              .sku(sku)
-              .accessPolicies(accessPolicies)
-              .build();
-   }
-
-   public abstract Builder toBuilder();
-
-   public static Builder builder() {
-      return new AutoValue_VaultProperties.Builder();
-   }
-
-   @AutoValue.Builder
-   public abstract static class Builder {
-      public abstract Builder tenantId(String tenantId);
-      public abstract Builder vaultUri(URI vaultUri);
-      public abstract Builder enabledForDeployment(Boolean enabledForDeployment);
-      public abstract Builder enabledForTemplateDeployment(Boolean enabledForTemplateDeployment);
-      public abstract Builder enableSoftDelete(Boolean enableSoftDelete);
-      public abstract Builder createMode(String createMode);
-      public abstract Builder sku(SKU sku);
-      public abstract Builder accessPolicies(List<AccessPolicyEntry> accessPolicies);
-      
-      abstract List<AccessPolicyEntry> accessPolicies();
-
-      abstract VaultProperties autoBuild();
-
-      public VaultProperties build() {
-         return accessPolicies(accessPolicies() != null ? ImmutableList.copyOf(accessPolicies()) : ImmutableList.<AccessPolicyEntry>of())
-                 .autoBuild();
-      }
-
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac03bac4/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/Version.java
----------------------------------------------------------------------
diff --git a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/Version.java b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/Version.java
deleted file mode 100644
index 26bf4b0..0000000
--- a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/Version.java
+++ /dev/null
@@ -1,90 +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;
-
-/**
- * Version
- */
-@AutoValue
-public abstract class Version {
-
-   /**
-    * The location of the Version
-    */
-   public abstract String location();
-
-   /**
-    * The name of the Version
-    */
-   public abstract String name();
-
-   /**
-    * The id of the Version
-    */
-   public abstract String id();
-   
-   /**
-    * The plan for the Version if this image is from the marketplace.
-    */
-   @Nullable
-   public abstract VersionProperties properties();
-   
-   Version() {
-      
-   }
-
-   @SerializedNames({"location", "name", "id", "properties"})
-   public static Version create(final String location, final String name, final String id,
-         final VersionProperties properties) {
-      return new AutoValue_Version(location, name, id, properties);
-   }
-   
-   @AutoValue
-   public abstract static class VersionProperties {
-      @Nullable public abstract Plan plan();
-      public abstract OSDiskImage osDiskImage();
-      
-      VersionProperties() {
-         
-      }
-      
-      @SerializedNames({"plan", "osDiskImage"})
-      public static VersionProperties create(Plan plan, OSDiskImage osDiskImage) {
-         return new AutoValue_Version_VersionProperties(plan, osDiskImage);
-      }
-      
-      @AutoValue
-      public abstract static class OSDiskImage {
-         public abstract String operatingSystem();
-         
-         OSDiskImage() {
-            
-         }
-         
-         @SerializedNames({"operatingSystem"})
-         public static OSDiskImage create(String operatingSystem) {
-            return new AutoValue_Version_VersionProperties_OSDiskImage(operatingSystem);
-         }
-      }
-   }
-}
-

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac03bac4/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachine.java
----------------------------------------------------------------------
diff --git a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachine.java b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachine.java
deleted file mode 100644
index c0224f3..0000000
--- a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachine.java
+++ /dev/null
@@ -1,103 +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;
-
-/**
- * A virtual machine  that is valid for your subscription.
- */
-@AutoValue
-public abstract class VirtualMachine {
-
-   /**
-    * The id of the virtual machine.
-    */
-   public abstract String id();
-
-   /**
-    * The name of the virtual machine
-    */
-   public abstract String name();
-
-   /**
-    * The type of the virtual machine .
-    */
-   public abstract String type();
-
-   /**
-    * The localized name of the virtual machine .
-    */
-   public abstract String location();
-
-   /**
-    * Specifies the tags of the vm
-    */
-   @Nullable
-   public abstract Map<String, String> tags();
-
-   /**
-    * Specifies the properties of the vm
-    */
-   public abstract VirtualMachineProperties properties();
-
-   /**
-    * Specifies the plan, for marketplace images
-    */
-   @Nullable
-   public abstract Plan plan();
-
-   @SerializedNames({"id", "name", "type", "location", "tags", "properties", "plan"})
-   public static VirtualMachine create(final String id, final String name, final String type, final String location,
-                                       @Nullable final Map<String, String> tags, VirtualMachineProperties properties, @Nullable Plan plan) {
-      return builder().id(id).name(name).type(type).location(location).tags(tags).properties(properties).plan(plan)
-         .build();
-   }
-
-   public abstract Builder toBuilder();
-
-   public static Builder builder() {
-      return new AutoValue_VirtualMachine.Builder();
-   }
-
-   @AutoValue.Builder
-   public abstract static class Builder {
-
-      public abstract Builder id(String id);
-      public abstract Builder name(String name);
-      public abstract Builder type(String type);
-      public abstract Builder location(String location);
-      public abstract Builder tags(Map<String, String> tags);
-      public abstract Builder properties(VirtualMachineProperties properties);
-      public abstract Builder plan(Plan plan);
-
-      abstract Map<String, String> tags();
-
-      abstract VirtualMachine autoBuild();
-
-      public VirtualMachine 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/VirtualMachineInstance.java
----------------------------------------------------------------------
diff --git a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineInstance.java b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineInstance.java
deleted file mode 100644
index 66ef283..0000000
--- a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineInstance.java
+++ /dev/null
@@ -1,90 +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 static com.google.common.collect.Iterables.filter;
-import static com.google.common.collect.Iterables.getFirst;
-import static com.google.common.collect.Iterables.transform;
-import static org.jclouds.util.Predicates2.startsWith;
-
-import java.util.List;
-
-import org.jclouds.azurecompute.arm.domain.VirtualMachineProperties.ProvisioningState;
-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.base.Function;
-import com.google.common.collect.ImmutableList;
-
-/**
- * A virtual machine instance view that is valid for your subscription.
- */
-@AutoValue
-public abstract class VirtualMachineInstance {
-
-   public static final String PROVISIONING_STATE_PREFIX = "ProvisioningState/";
-   public static final String POWER_STATE_PREFIX = "PowerState/";
-   
-   public enum PowerState {
-      RUNNING,
-      STOPPED,
-      UNRECOGNIZED;
-
-      public static PowerState fromValue(final String text) {
-         return (PowerState) GetEnumValue.fromValueOrDefault(text, PowerState.UNRECOGNIZED);
-      }
-   }
-   
-   @Nullable
-   public abstract String platformUpdateDomain();
-
-   @Nullable
-   public abstract String platformFaultDomain();
-
-   @Nullable
-   public abstract List<Status> statuses();
-   
-   public ProvisioningState provisioningState() {
-      return ProvisioningState.fromValue(firstStatus(PROVISIONING_STATE_PREFIX));
-   }
-   
-   public PowerState powerState() {
-      return PowerState.fromValue(firstStatus(POWER_STATE_PREFIX));
-   }
-   
-   private String firstStatus(final String type) {
-      return getFirst(transform(filter(transform(statuses(), new Function<Status, String>() {
-         @Override public String apply(Status input) {
-            return input.code();
-         }
-      }), startsWith(type)), new Function<String, String>() {
-         @Override public String apply(String input) {
-            return input.substring(type.length());
-         }
-      }), null);
-   }
-
-
-   @SerializedNames({"platformUpdateDomain", "platformFaultDomain", "statuses"})
-   public static VirtualMachineInstance create(final String platformUpdateDomain, final String platformFaultDomain,
-                                               final List<Status> statuses) {
-
-      return new AutoValue_VirtualMachineInstance(platformUpdateDomain, platformFaultDomain, statuses == null ? null : ImmutableList.copyOf(statuses));
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac03bac4/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineProperties.java
----------------------------------------------------------------------
diff --git a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineProperties.java b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineProperties.java
deleted file mode 100644
index 732da5c..0000000
--- a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineProperties.java
+++ /dev/null
@@ -1,154 +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;
-
-/**
- * A virtual machine properties for the virtual machine.
- */
-@AutoValue
-public abstract class VirtualMachineProperties {
-
-   public enum ProvisioningState {
-      ACCEPTED,
-      CREATING,
-      READY,
-      CANCELED,
-      FAILED,
-      DELETED,
-      SUCCEEDED,
-      RUNNING,
-      UPDATING,
-      UNRECOGNIZED;
-
-      public static ProvisioningState fromValue(final String text) {
-         return (ProvisioningState) GetEnumValue.fromValueOrDefault(text, ProvisioningState.UNRECOGNIZED);
-      }
-   }
-
-   /**
-    * The id of the virtual machine.
-    */
-   @Nullable
-   public abstract String vmId();
-
-   /**
-    * The license type of the virtual machine.
-    */
-   @Nullable
-   public abstract String licenseType();
-
-   /**
-    * The availability set  of the virtual machine
-    */
-   @Nullable
-   public abstract IdReference availabilitySet();
-
-   /**
-    * The hardware Profile of the virtual machine .
-    */
-   @Nullable
-   public abstract HardwareProfile hardwareProfile();
-
-   /**
-    * The Storage Profile of the virtual machine .
-    */
-   @Nullable
-   public abstract StorageProfile storageProfile();
-
-   /**
-    * The OS Profile of the virtual machine .
-    */
-   @Nullable
-   public abstract OSProfile osProfile();
-
-   /**
-    * The network profile of the VM
-    */
-   @Nullable
-   public abstract NetworkProfile networkProfile();
-
-   /**
-    * The diagnostics profile of the VM
-    */
-   @Nullable
-   public abstract DiagnosticsProfile diagnosticsProfile();
-
-   /**
-    * The provisioning state of the VM
-    */
-   @Nullable
-   public abstract ProvisioningState provisioningState();
-
-   @SerializedNames({"vmId", "licenseType", "availabilitySet", "hardwareProfile", "storageProfile", "osProfile",
-           "networkProfile", "diagnosticsProfile", "provisioningState"})
-   public static VirtualMachineProperties create(final String vmId,
-                                                 final String licenseType,
-                                                 final IdReference availabilitySet,
-                                                 final HardwareProfile hardwareProfile,
-                                                 final StorageProfile storageProfile,
-                                                 final OSProfile osProfile,
-                                                 final NetworkProfile networkProfile,
-                                                 final DiagnosticsProfile diagnosticsProfile,
-                                                 final ProvisioningState provisioningState) {
-      return builder()
-              .vmId(vmId)
-              .licenseType(licenseType)
-              .availabilitySet(availabilitySet)
-              .hardwareProfile(hardwareProfile)
-              .storageProfile(storageProfile)
-              .osProfile(osProfile)
-              .networkProfile(networkProfile)
-              .diagnosticsProfile(diagnosticsProfile)
-              .provisioningState(provisioningState)
-              .build();
-   }
-   
-   public abstract Builder toBuilder();
-
-   public static Builder builder() {
-      return new AutoValue_VirtualMachineProperties.Builder();
-   }
-
-   @AutoValue.Builder
-   public abstract static class Builder {
-      public abstract Builder vmId(String vmId);
-
-      public abstract Builder licenseType(String licenseType);
-
-      public abstract Builder availabilitySet(IdReference availabilitySet);
-
-      public abstract Builder hardwareProfile(HardwareProfile hardwareProfile);
-
-      public abstract Builder storageProfile(StorageProfile storageProfile);
-
-      public abstract Builder osProfile(OSProfile osProfile);
-
-      public abstract Builder networkProfile(NetworkProfile networkProfile);
-
-      public abstract Builder diagnosticsProfile(DiagnosticsProfile diagnosticsProfile);
-
-      public abstract Builder provisioningState(ProvisioningState provisioningState);
-
-      public abstract VirtualMachineProperties build();
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac03bac4/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSet.java
----------------------------------------------------------------------
diff --git a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSet.java b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSet.java
deleted file mode 100644
index 2fc3f59..0000000
--- a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSet.java
+++ /dev/null
@@ -1,110 +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;
-
-/**
- * VirtualMachineScaleSet for subscription
- */
-@AutoValue
-public abstract class VirtualMachineScaleSet {
-
-   /**
-    * The id of the virtual machine scale set
-    */
-   @Nullable
-   public abstract String id();
-
-   /**
-    * The name of the virtual machine scale set
-    */
-   @Nullable
-   public abstract String name();
-
-   /**
-    * The location of the virtual machine scale set
-    */
-   @Nullable
-   public abstract String location();
-
-   /**
-    * Specifies the sku of the virtual machine scale set
-    */
-   public abstract VirtualMachineScaleSetSKU sku();
-
-   /**
-    * Specifies the tags of the virtual machine scale set
-    */
-   @Nullable
-   public abstract Map<String, String> tags();
-
-
-   /**
-    * Specifies the optional plan of the virtual machine scale set (only for market image)
-    */
-   @Nullable
-   public abstract VirtualMachineScaleSetPlan plan();
-
-   /**
-    * Specifies the properties of the availability set
-    */
-   @Nullable
-   public abstract VirtualMachineScaleSetProperties properties();
-
-   @SerializedNames({  "id", "name", "location", "sku", "tags", "plan", "properties"})
-   public static VirtualMachineScaleSet create(final String id, final String name, final String location,
-                                               VirtualMachineScaleSetSKU sku, final Map<String, String> tags,
-                                               VirtualMachineScaleSetPlan plan,
-                                               VirtualMachineScaleSetProperties properties) {
-      return builder().id(id).name(name).location(location).sku(sku).tags(tags)
-         .plan(plan).properties(properties)
-         .build();
-   }
-
-   public abstract Builder toBuilder();
-
-   private static Builder builder() {
-      return new AutoValue_VirtualMachineScaleSet.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 sku(VirtualMachineScaleSetSKU sku);
-      public abstract Builder tags(Map<String, String> tags);
-      public abstract Builder plan(VirtualMachineScaleSetPlan plan);
-      public abstract Builder properties(VirtualMachineScaleSetProperties properties);
-
-      abstract Map<String, String> tags();
-      abstract VirtualMachineScaleSet autoBuild();
-
-      public VirtualMachineScaleSet 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/VirtualMachineScaleSetDNSSettings.java
----------------------------------------------------------------------
diff --git a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSetDNSSettings.java b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSetDNSSettings.java
deleted file mode 100644
index d91c68b..0000000
--- a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSetDNSSettings.java
+++ /dev/null
@@ -1,41 +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.json.SerializedNames;
-
-import java.util.List;
-
-/**
- * VirtualMachineScaleSetDNSSettings
- */
-@AutoValue
-public abstract class VirtualMachineScaleSetDNSSettings {
-   /**
-    * The list of DNS servers of the Virtual Machine Scale Set DNS Settings
-    */
-   public abstract List<String> dnsServers();
-
-   @SerializedNames({"dnsServers"})
-   public static VirtualMachineScaleSetDNSSettings create(final List<String> dnsServers) {
-
-      return new AutoValue_VirtualMachineScaleSetDNSSettings(
-         dnsServers == null ? ImmutableList.<String>of() : ImmutableList.copyOf(dnsServers));
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac03bac4/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSetIpConfiguration.java
----------------------------------------------------------------------
diff --git a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSetIpConfiguration.java b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSetIpConfiguration.java
deleted file mode 100644
index 257072e..0000000
--- a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSetIpConfiguration.java
+++ /dev/null
@@ -1,61 +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 VirtualMachineScaleSetIpConfiguration {
-
-   /**
-    * The name of the Virtual Machine Scale Set Ip Configuration
-    */
-   @Nullable
-   public abstract String name();
-
-   /**
-    * The properties of the Virtual Machine Scale Set Ip Configuration
-    */
-   @Nullable
-   public abstract VirtualMachineScaleSetIpConfigurationProperties properties();
-
-   @SerializedNames({"name", "properties"})
-   public static VirtualMachineScaleSetIpConfiguration create(
-      final String name,
-      final VirtualMachineScaleSetIpConfigurationProperties properties) {
-      return builder()
-         .name(name)
-         .properties(properties)
-         .build();
-   }
-
-   public abstract Builder toBuilder();
-
-   public static Builder builder() {
-      return new AutoValue_VirtualMachineScaleSetIpConfiguration.Builder();
-   }
-
-   @AutoValue.Builder
-   public abstract static class Builder {
-      public abstract Builder name(String name);
-      public abstract Builder properties(VirtualMachineScaleSetIpConfigurationProperties properties);
-      public abstract VirtualMachineScaleSetIpConfiguration build();
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac03bac4/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSetIpConfigurationProperties.java
----------------------------------------------------------------------
diff --git a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSetIpConfigurationProperties.java b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSetIpConfigurationProperties.java
deleted file mode 100644
index 739dadf..0000000
--- a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSetIpConfigurationProperties.java
+++ /dev/null
@@ -1,104 +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 VirtualMachineScaleSetIpConfigurationProperties {
-
-   /**
-    * The public IP address configuration of the Virtual Machine Scale Set Ip Configuration Properties
-    */
-   @Nullable
-   public abstract VirtualMachineScaleSetPublicIPAddressConfiguration publicIPAddressConfiguration();
-
-   /**
-    * The subnet of the Virtual Machine Scale Set Ip Configuration Properties
-    */
-   public abstract Subnet subnet();
-
-   /**
-    * The private IP address version of the Virtual Machine Scale Set Ip Configuration Properties
-    */
-   @Nullable
-   public abstract String privateIPAddressVersion();
-
-   /**
-    * The load balancer backend address pools of the Virtual Machine Scale Set Ip Configuration Properties
-    */
-   public abstract List<IdReference> loadBalancerBackendAddressPools();
-
-   /**
-    * The load balancer inbound nat pools of the Virtual Machine Scale Set Ip Configuration Properties
-    */
-   public abstract List<IdReference> loadBalancerInboundNatPools();
-
-   /**
-    * The application gateway backend address Pools of the Virtual Machine Scale Set Ip Configuration Properties
-    */
-   @Nullable
-   public abstract String applicationGatewayBackendAddressPools();
-
-   @SerializedNames({"publicIPAddressConfiguration", "subnet", "privateIPAddressVersion",
-      "loadBalancerBackendAddressPools", "loadBalancerInboundNatPools", "applicationGatewayBackendAddressPools"})
-   public static VirtualMachineScaleSetIpConfigurationProperties create(
-      final VirtualMachineScaleSetPublicIPAddressConfiguration publicIPAddressConfiguration,
-      final Subnet subnet,
-      final String privateIPAddressVersion,
-      final List<IdReference> loadBalancerBackendAddressPools,
-      final List<IdReference> loadBalancerInboundNatPools,
-      final String applicationGatewayBackendAddressPools)
-
-   {
-      return builder()
-            .publicIPAddressConfiguration(publicIPAddressConfiguration)
-            .subnet(subnet)
-            .privateIPAddressVersion(privateIPAddressVersion)
-            .loadBalancerBackendAddressPools(
-                  loadBalancerBackendAddressPools != null ? ImmutableList.copyOf(loadBalancerBackendAddressPools)
-                        : ImmutableList.<IdReference> of())
-            .loadBalancerInboundNatPools(
-                  loadBalancerInboundNatPools != null ? ImmutableList.copyOf(loadBalancerInboundNatPools)
-                        : ImmutableList.<IdReference> of())
-            .applicationGatewayBackendAddressPools(applicationGatewayBackendAddressPools).build();
-   }
-
-   public abstract Builder toBuilder();
-
-   public static Builder builder() {
-      return new AutoValue_VirtualMachineScaleSetIpConfigurationProperties.Builder();
-   }
-
-   @AutoValue.Builder
-   public abstract static class Builder {
-      public abstract Builder publicIPAddressConfiguration(VirtualMachineScaleSetPublicIPAddressConfiguration publicIPAddressConfiguration);
-      public abstract Builder subnet(Subnet subnet);
-      public abstract Builder loadBalancerBackendAddressPools(List<IdReference> loadBalancerBackendAddressPools);
-      public abstract Builder loadBalancerInboundNatPools(List<IdReference> loadBalancerInboundNatPools);
-      public abstract Builder privateIPAddressVersion(String privateIPAddressVersion);
-      public abstract Builder applicationGatewayBackendAddressPools(String applicationGatewayBackendAddressPools);
-      
-      public abstract VirtualMachineScaleSetIpConfigurationProperties build();
-   }
-}
-

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac03bac4/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSetNetworkProfile.java
----------------------------------------------------------------------
diff --git a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSetNetworkProfile.java b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSetNetworkProfile.java
deleted file mode 100644
index 9d4c462..0000000
--- a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSetNetworkProfile.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 com.google.common.collect.ImmutableList;
-import org.jclouds.json.SerializedNames;
-
-import java.util.List;
-
-@AutoValue
-public abstract class VirtualMachineScaleSetNetworkProfile {
-
-   /**
-    * The network interface configurations of the Virtual Machine Scale Set Network Profile
-    */
-   public abstract List<NetworkInterfaceConfiguration> networkInterfaceConfigurations();
-
-
-   @SerializedNames({"networkInterfaceConfigurations"})
-   public static VirtualMachineScaleSetNetworkProfile create(
-      final List<NetworkInterfaceConfiguration> networkInterfaceConfigurations) {
-         return builder()
-            .networkInterfaceConfigurations(networkInterfaceConfigurations == null ?
-               ImmutableList.<NetworkInterfaceConfiguration>of() : ImmutableList.copyOf(networkInterfaceConfigurations) )
-            .build();
-   }
-
-   public abstract Builder toBuilder();
-
-   public static Builder builder() {
-      return new AutoValue_VirtualMachineScaleSetNetworkProfile.Builder();
-   }
-
-   @AutoValue.Builder
-   public abstract static class Builder {
-
-      public abstract Builder networkInterfaceConfigurations(
-         List<NetworkInterfaceConfiguration> networkInterfaceConfigurations);
-
-      public abstract VirtualMachineScaleSetNetworkProfile build();
-
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac03bac4/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSetNetworkSecurityGroup.java
----------------------------------------------------------------------
diff --git a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSetNetworkSecurityGroup.java b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSetNetworkSecurityGroup.java
deleted file mode 100644
index 8874d50..0000000
--- a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSetNetworkSecurityGroup.java
+++ /dev/null
@@ -1,39 +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;
-
-/**
- * Virtual Machine Scale Set Network Security Group
- */
-@AutoValue
-public abstract class VirtualMachineScaleSetNetworkSecurityGroup {
-   /**
-    * The id of the Virtual Machine Scale Set Network Security Group
-    */
-   @Nullable
-   public abstract String id();
-
-   @SerializedNames({"id"})
-   public static VirtualMachineScaleSetNetworkSecurityGroup create(final String id) {
-
-      return new AutoValue_VirtualMachineScaleSetNetworkSecurityGroup(id);
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac03bac4/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSetOSProfile.java
----------------------------------------------------------------------
diff --git a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSetOSProfile.java b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSetOSProfile.java
deleted file mode 100644
index e417d5a..0000000
--- a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSetOSProfile.java
+++ /dev/null
@@ -1,273 +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.azurecompute.arm.util.GetEnumValue;
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.json.SerializedNames;
-
-import java.util.List;
-
-@AutoValue
-public abstract class VirtualMachineScaleSetOSProfile {
-
-   @AutoValue
-   public abstract static class LinuxConfiguration {
-
-
-      @AutoValue
-      public abstract static class SSH {
-
-         @AutoValue
-         public abstract static class SSHPublicKey {
-
-            /**
-             * The path for the SSH public key
-             */
-            @Nullable
-            public abstract String path();
-
-            /**
-             * The key data for the SSH public key
-             */
-            @Nullable
-            public abstract String keyData();
-
-            @SerializedNames({"path", "keyData"})
-            public static SSHPublicKey create(final String path, final String keyData) {
-
-               return new AutoValue_VirtualMachineScaleSetOSProfile_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_VirtualMachineScaleSetOSProfile_LinuxConfiguration_SSH(
-               publicKeys);
-         }
-      }
-
-      /**
-       * The authentication method password or ssh
-       */
-      public abstract Boolean disablePasswordAuthentication();
-
-      /**
-       * ssh keys
-       */
-      @Nullable
-      public abstract SSH ssh();
-
-      @SerializedNames({"disablePasswordAuthentication", "ssh"})
-      public static LinuxConfiguration create(final Boolean disablePasswordAuthentication,
-                                              final SSH ssh) {
-
-         return new AutoValue_VirtualMachineScaleSetOSProfile_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 {
-
-            /**
-             * The protocol for the protcol listener
-             */
-            public abstract Protocol protocol();
-
-            /**
-             * The certificate url or the protcol listener
-             */
-            @Nullable
-            public abstract String certificateUrl();
-
-            @SerializedNames({"protocol", "certificateUrl"})
-            public static ProtocolListener create(final Protocol protocol, final String certificateUrl) {
-
-               return new AutoValue_VirtualMachineScaleSetOSProfile_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_VirtualMachineScaleSetOSProfile_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();
-
-         public abstract String content();
-
-         @SerializedNames({"pass", "component", "settingName", "content"})
-         public static AdditionalUnattendContent create(final String pass, final String component,
-                                                        final String settingName,
-                                                        final String content) {
-
-            return new AutoValue_VirtualMachineScaleSetOSProfile_WindowsConfiguration_AdditionalUnattendContent(
-               pass, component, settingName, content);
-         }
-      }
-
-      /**
-       * The provision VM Agent true of false.
-       */
-      public abstract boolean provisionVMAgent();
-
-      /**
-       * winRM
-       */
-      @Nullable
-      public abstract WinRM winRM();
-
-      /**
-       * unattend content
-       */
-      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_VirtualMachineScaleSetOSProfile_WindowsConfiguration(provisionVMAgent, winRM,
-            additionalUnattendContent == null ? ImmutableList.<AdditionalUnattendContent>of() : ImmutableList.copyOf(additionalUnattendContent), enableAutomaticUpdates);
-      }
-   }
-
-   /**
-    * The computer name of the VM
-    */
-   @Nullable
-   public abstract String computerNamePrefix();
-
-   /**
-    * The admin username of the VM
-    */
-   @Nullable
-   public abstract String adminUsername();
-
-   /**
-    * The admin password of the VM
-    */
-   @Nullable
-   public abstract String adminPassword();
-
-   /**
-    * 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
-    */
-   public abstract List<Secrets> secrets();
-
-   @SerializedNames({"computerNamePrefix", "adminUsername", "adminPassword", "linuxConfiguration",
-      "windowsConfiguration", "secrets"})
-   public static VirtualMachineScaleSetOSProfile create(final String computerNamePrefix, final String adminUsername,
-                                                        final String adminPassword, final LinuxConfiguration linuxConfiguration,
-                                                        final WindowsConfiguration windowsConfiguration, final List<Secrets> secrets) {
-      return builder()
-         .computerNamePrefix(computerNamePrefix)
-         .adminUsername(adminUsername)
-         .adminPassword(adminPassword)
-         .linuxConfiguration(linuxConfiguration)
-         .windowsConfiguration(windowsConfiguration)
-         .secrets(secrets != null ? ImmutableList.copyOf(secrets) : ImmutableList.<Secrets> of())
-         .build();
-   }
-
-   public abstract Builder toBuilder();
-
-   public static Builder builder() {
-      return new AutoValue_VirtualMachineScaleSetOSProfile.Builder();
-   }
-
-   @AutoValue.Builder
-   public abstract static class Builder {
-      public abstract Builder computerNamePrefix(String computerNamePrefix);
-      public abstract Builder adminUsername(String adminUsername);
-      public abstract Builder adminPassword(String adminPassword);
-      public abstract Builder linuxConfiguration(LinuxConfiguration linuxConfiguration);
-      public abstract Builder windowsConfiguration(WindowsConfiguration windowsConfiguration);
-      public abstract Builder secrets(List<Secrets> secrets);
-
-      public abstract VirtualMachineScaleSetOSProfile build();
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac03bac4/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSetPlan.java
----------------------------------------------------------------------
diff --git a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSetPlan.java b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSetPlan.java
deleted file mode 100644
index 1864ca7..0000000
--- a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSetPlan.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;
-
-/**
- * SKU
- */
-@AutoValue
-public abstract class VirtualMachineScaleSetPlan {
-   /**
-    * The name of the Virtual Machine Scale Set Plan
-    */
-   @Nullable
-   public abstract String name();
-
-   /**
-    * The publisher of the Virtual Machine Scale Set Plan
-    */
-   @Nullable
-   public abstract String publisher();
-
-   /**
-    * The product of the Virtual Machine Scale Set Plan
-    */
-   @Nullable
-   public abstract String product();
-
-   @SerializedNames({"name", "publisher", "product"})
-   public static VirtualMachineScaleSetPlan create(final String name, final String publisher, final String product) {
-
-      return new AutoValue_VirtualMachineScaleSetPlan(name, publisher, product);
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac03bac4/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSetProperties.java
----------------------------------------------------------------------
diff --git a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSetProperties.java b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSetProperties.java
deleted file mode 100644
index d737086..0000000
--- a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSetProperties.java
+++ /dev/null
@@ -1,106 +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 VirtualMachineScaleSetProperties {
-
-   public enum ProvisioningState {
-      ACCEPTED,
-      CREATING,
-      READY,
-      CANCELED,
-      FAILED,
-      DELETED,
-      SUCCEEDED,
-      RUNNING,
-      UPDATING,
-      UNRECOGNIZED;
-
-      public static ProvisioningState fromValue(final String text) {
-         return (ProvisioningState) GetEnumValue.fromValueOrDefault(text, ProvisioningState.UNRECOGNIZED);
-      }
-   }
-
-   /**
-    * The singlePlacementGroup of the VirtualMachineScaleSetProperties
-    */
-   @Nullable
-   public abstract Boolean singlePlacementGroup();
-
-   /**
-    * Specifies the over provision of the virtual machine scale set
-    */
-   @Nullable
-   public abstract Boolean overProvision();
-
-   /**
-    * Specifies the upgrade policy of the virtual machine scale set
-    */
-   public abstract VirtualMachineScaleSetUpgradePolicy upgradePolicy();
-
-   /**
-    * Specifies the state of the provision of the virtual machine scale set
-    */
-   @Nullable
-   public abstract ProvisioningState provisioningState();
-
-   /**
-    * Specifies the virtual machine profile of the virtual machine scale set
-    */
-   public abstract VirtualMachineScaleSetVirtualMachineProfile virtualMachineProfile();
-
-   @SerializedNames({"singlePlacementGroup", "overProvision", "upgradePolicy", "provisioningState", "virtualMachineProfile"})
-   public static VirtualMachineScaleSetProperties create(
-           final Boolean singlePlacementGroup,
-           final Boolean overProvision,
-           final VirtualMachineScaleSetUpgradePolicy upgradePolicy,
-           final ProvisioningState provisioningState,
-           final VirtualMachineScaleSetVirtualMachineProfile virtualMachineProfile) {
-      return builder().singlePlacementGroup(singlePlacementGroup).overProvision(overProvision).
-              upgradePolicy(upgradePolicy).provisioningState(provisioningState).virtualMachineProfile(virtualMachineProfile).build();
-   }
-
-   public abstract Builder toBuilder();
-
-   private static Builder builder() {
-      return new AutoValue_VirtualMachineScaleSetProperties.Builder();
-   }
-
-   @AutoValue.Builder
-   public abstract static class Builder {
-      public abstract Builder singlePlacementGroup(Boolean singlePlacementGroup);
-
-      public abstract Builder overProvision(Boolean overProvision);
-
-      public abstract Builder upgradePolicy(VirtualMachineScaleSetUpgradePolicy upgradePolicy);
-
-      public abstract Builder provisioningState(ProvisioningState provisioningState);
-
-      public abstract Builder virtualMachineProfile(VirtualMachineScaleSetVirtualMachineProfile virtualMachineProfile);
-
-      public abstract VirtualMachineScaleSetProperties build();
-   }
-}
-
-

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac03bac4/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSetPublicIPAddressConfiguration.java
----------------------------------------------------------------------
diff --git a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSetPublicIPAddressConfiguration.java b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSetPublicIPAddressConfiguration.java
deleted file mode 100644
index 3347713..0000000
--- a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSetPublicIPAddressConfiguration.java
+++ /dev/null
@@ -1,59 +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;
-
-@AutoValue
-public abstract class VirtualMachineScaleSetPublicIPAddressConfiguration {
-
-   /**
-    * The name of the Virtual Machine Scale Set Public IP Address Configuration
-    */
-   public abstract String name();
-
-   /**
-    * The properties of the Virtual Machine Scale Set Public IP Address Configuration
-    */
-   public abstract VirtualMachineScaleSetPublicIPAddressProperties properties();
-
-   @SerializedNames({ "name",  "properties" })
-   public static VirtualMachineScaleSetPublicIPAddressConfiguration create(
-      String name,
-      VirtualMachineScaleSetPublicIPAddressProperties properties) {
-         return builder().name(name).properties(properties).build();
-   }
-
-   VirtualMachineScaleSetPublicIPAddressConfiguration() {
-
-   }
-
-   public abstract Builder toBuilder();
-
-   public static Builder builder() {
-      return new AutoValue_VirtualMachineScaleSetPublicIPAddressConfiguration.Builder();
-   }
-
-   @AutoValue.Builder
-   public abstract static class Builder {
-      public abstract Builder name(String name);
-      public abstract Builder properties(VirtualMachineScaleSetPublicIPAddressProperties properties);
-      public abstract VirtualMachineScaleSetPublicIPAddressConfiguration build();
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac03bac4/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSetPublicIPAddressProperties.java
----------------------------------------------------------------------
diff --git a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSetPublicIPAddressProperties.java b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSetPublicIPAddressProperties.java
deleted file mode 100644
index d01e305..0000000
--- a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSetPublicIPAddressProperties.java
+++ /dev/null
@@ -1,54 +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 VirtualMachineScaleSetPublicIPAddressProperties  {
-
-   /**
-    * The idle timeout (in minutes) of the Virtual Machine Scale Set Public IP Address Configuration
-    */
-   @Nullable
-   public abstract Integer idleTimeoutInMinutes();
-
-
-   @SerializedNames({ "idleTimeoutInMinutes" })
-   public static VirtualMachineScaleSetPublicIPAddressProperties create(final Integer idleTimeoutInMinutes) {
-      return builder()
-         .idleTimeoutInMinutes(idleTimeoutInMinutes)
-         .build();
-   }
-
-   public abstract Builder toBuilder();
-
-   public static Builder builder() {
-      return new AutoValue_VirtualMachineScaleSetPublicIPAddressProperties.Builder();
-   }
-
-   @AutoValue.Builder
-   public abstract static class Builder {
-
-      public abstract Builder idleTimeoutInMinutes(Integer idleTimeoutInMinutes);
-
-      public abstract VirtualMachineScaleSetPublicIPAddressProperties build();
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac03bac4/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSetSKU.java
----------------------------------------------------------------------
diff --git a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSetSKU.java b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSetSKU.java
deleted file mode 100644
index 251562d..0000000
--- a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSetSKU.java
+++ /dev/null
@@ -1,45 +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;
-
-
-@AutoValue
-public abstract class VirtualMachineScaleSetSKU {
-   /**
-    * The name of the Virtual Machine Scale Set SKU
-    */
-   public abstract String name();
-
-   /**
-    * The tier of the Virtual Machine Scale Set SKU
-    */
-   public abstract String tier();
-
-   /**
-    * The capacity of the Virtual Machine Scale Set SKU
-    */
-   public abstract int capacity();
-
-   @SerializedNames({"name", "tier", "capacity"})
-   public static VirtualMachineScaleSetSKU create(final String name, final String tier, final int capacity) {
-
-      return new AutoValue_VirtualMachineScaleSetSKU(name, tier, capacity);
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac03bac4/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSetUpgradeMode.java
----------------------------------------------------------------------
diff --git a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSetUpgradeMode.java b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSetUpgradeMode.java
deleted file mode 100644
index cca007f..0000000
--- a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSetUpgradeMode.java
+++ /dev/null
@@ -1,35 +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;
-
-
-public class VirtualMachineScaleSetUpgradeMode {
-   /**
-    * VirtualMachineScaleSetUpgradeMode
-    * **/
-   public enum Status {
-      Manual,
-      Automatic,
-      Unrecognized;
-
-      public static Status fromValue(final String text) {
-         return (Status) GetEnumValue.fromValueOrDefault(text, Status.Unrecognized);
-      }
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac03bac4/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSetUpgradePolicy.java
----------------------------------------------------------------------
diff --git a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSetUpgradePolicy.java b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSetUpgradePolicy.java
deleted file mode 100644
index 6945e81..0000000
--- a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VirtualMachineScaleSetUpgradePolicy.java
+++ /dev/null
@@ -1,35 +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;
-
-
-@AutoValue
-public abstract class VirtualMachineScaleSetUpgradePolicy {
-   /**
-    * The mode of the Virtual Machine Scale Set Upgrade Policy
-    */
-   public abstract String mode();
-
-   @SerializedNames({"mode"})
-   public static VirtualMachineScaleSetUpgradePolicy create(final String mode) {
-
-      return new AutoValue_VirtualMachineScaleSetUpgradePolicy(mode);
-   }
-}