From e42950cf6cc98200adb11d458652099ce9ba0ec8 Mon Sep 17 00:00:00 2001 From: Anudeep Sharma Date: Wed, 4 Jan 2017 17:09:14 -0800 Subject: [PATCH] Done changes as per review comments from Asir --- .../azure/management/sql/SqlDatabase.java | 82 +++++++++++++------ .../sql/implementation/SqlDatabaseImpl.java | 9 +- .../implementation/SqlElasticPoolImpl.java | 2 +- .../sql/implementation/SqlServerImpl.java | 9 +- .../sql/SqlServerOperationsTests.java | 24 +----- .../management/sql/SqlServerTestBase.java | 15 ++-- .../samples/ManageWebAppSqlConnection.java | 5 +- .../sql/samples/ManageSqlDatabase.java | 6 +- .../ManageSqlDatabaseInElasticPool.java | 11 +-- ...qlDatabasesAcrossDifferentDataCenters.java | 7 +- translation.properties | 18 ++++ 11 files changed, 101 insertions(+), 87 deletions(-) diff --git a/azure-mgmt-sql/src/main/java/com/microsoft/azure/management/sql/SqlDatabase.java b/azure-mgmt-sql/src/main/java/com/microsoft/azure/management/sql/SqlDatabase.java index 60b81bb2d75de..0c52e2335a8b3 100644 --- a/azure-mgmt-sql/src/main/java/com/microsoft/azure/management/sql/SqlDatabase.java +++ b/azure-mgmt-sql/src/main/java/com/microsoft/azure/management/sql/SqlDatabase.java @@ -7,6 +7,7 @@ package com.microsoft.azure.management.sql; import com.microsoft.azure.management.apigeneration.Fluent; +import com.microsoft.azure.management.apigeneration.Method; import com.microsoft.azure.management.resources.fluentcore.arm.models.IndependentChildResource; import com.microsoft.azure.management.resources.fluentcore.model.Appliable; import com.microsoft.azure.management.resources.fluentcore.model.Creatable; @@ -122,7 +123,8 @@ public interface SqlDatabase extends /** * @return SqlWarehouse instance for more operations */ - SqlWarehouse castToWarehouse(); + @Method + SqlWarehouse asWarehouse(); /** * @return returns the list of all restore points on the database @@ -166,13 +168,10 @@ public interface SqlDatabase extends interface Definition extends DefinitionStages.Blank, DefinitionStages.WithCreate, - DefinitionStages.WithCollation, - DefinitionStages.WithEdition, - DefinitionStages.WithElasticPoolName, DefinitionStages.WithSourceDatabaseId, + DefinitionStages.WithElasticPoolName, DefinitionStages.WithCreateMode, - DefinitionStages.WithCreateWithLessOptions, - DefinitionStages.WithExistingDatabase { + DefinitionStages.WithCreateWithLessOptions { } /** @@ -182,20 +181,22 @@ interface DefinitionStages { /** * The first stage of the SQL Server definition. */ - interface Blank extends WithElasticPoolName { + interface Blank extends WithAllDifferentOptions { + } + + /** + * The SQL Database interface with all starting options for definition. + */ + interface WithAllDifferentOptions extends + WithElasticPoolName, + WithSourceDatabaseId, + WithCreate { } /** * The SQL Database definition to set the elastic pool for database. */ interface WithElasticPoolName { - /** - * Specifies database to be created without elastic pool. - * - * @return The next stage of the definition. - */ - WithExistingDatabase withoutElasticPool(); - /** * Sets the existing elastic pool for the SQLDatabase. * @@ -224,13 +225,7 @@ interface WithElasticPoolName { /** * The stage to decide whether using existing database or not. */ - interface WithExistingDatabase extends WithSourceDatabaseId { - /** - * Sets the creation flow to ask relevant question when source database is not specified. - * - * @return The next stage of the definition. - */ - WithCreate withoutSourceDatabaseId(); + interface WithExistingDatabase extends WithSourceDatabaseId, WithCreateWithElasticPoolOptions { } /** @@ -271,10 +266,17 @@ interface WithCreateMode { WithCreateWithLessOptions withMode(CreateMode createMode); } + /** + * + */ + interface WithCreateWithElasticPoolOptions extends WithCollation, WithMaxSizeBytes, WithCreateWithLessOptions { + + } + /** * The SQL Database definition to set the collation for database. */ - interface WithCollation { + interface WithCollationAllCreateOptions { /** * Sets the collation for the SQL Database. * @@ -284,6 +286,19 @@ interface WithCollation { WithCreate withCollation(String collation); } + /** + * The SQL Database definition to set the collation for database. + */ + interface WithCollation { + /** + * Sets the collation for the SQL Database. + * + * @param collation collation to be set for database + * @return The next stage of the definition + */ + WithCreateWithElasticPoolOptions withCollation(String collation); + } + /** * The SQL Database definition to set the edition for database. */ @@ -297,10 +312,11 @@ interface WithEdition { WithCreate withEdition(DatabaseEditions edition); } + /** * The SQL Database definition to set the Max Size in Bytes for database. */ - interface WithMaxSizeBytes { + interface WithMaxSizeBytesAllCreateOptions { /** * Sets the max size in bytes for SQL Database. * @@ -313,6 +329,22 @@ interface WithMaxSizeBytes { WithCreate withMaxSizeBytes(long maxSizeBytes); } + /** + * The SQL Database definition to set the Max Size in Bytes for database. + */ + interface WithMaxSizeBytes { + /** + * Sets the max size in bytes for SQL Database. + * + * @param maxSizeBytes max size of the Azure SQL Database expressed in bytes. Note: Only + * the following sizes are supported (in addition to limitations being + * placed on each edition): { 100 MB | 500 MB |1 GB | 5 GB | 10 GB | 20 + * GB | 30 GB … 150 GB | 200 GB … 500 GB } + * @return The next stage of the definition. + */ + WithCreateWithElasticPoolOptions withMaxSizeBytes(long maxSizeBytes); + } + /** * The SQL Database definition to set the service level objective. */ @@ -332,10 +364,10 @@ interface WithServiceObjective { * specify. */ interface WithCreate extends - WithMaxSizeBytes, WithServiceObjective, - WithCollation, WithEdition, + WithCollationAllCreateOptions, + WithMaxSizeBytesAllCreateOptions, WithCreateWithLessOptions { } diff --git a/azure-mgmt-sql/src/main/java/com/microsoft/azure/management/sql/implementation/SqlDatabaseImpl.java b/azure-mgmt-sql/src/main/java/com/microsoft/azure/management/sql/implementation/SqlDatabaseImpl.java index ce119945c6cf4..7a0a05fd59238 100644 --- a/azure-mgmt-sql/src/main/java/com/microsoft/azure/management/sql/implementation/SqlDatabaseImpl.java +++ b/azure-mgmt-sql/src/main/java/com/microsoft/azure/management/sql/implementation/SqlDatabaseImpl.java @@ -46,6 +46,8 @@ class SqlDatabaseImpl SqlDatabaseImpl> implements SqlDatabase, SqlDatabase.Definition, + SqlDatabase.DefinitionStages.WithCreateWithElasticPoolOptions, + SqlDatabase.DefinitionStages.WithExistingDatabase, SqlDatabase.Update, IndependentChild.DefinitionStages.WithParentResource { protected final DatabasesInner innerCollection; @@ -145,7 +147,7 @@ public boolean isDataWarehouse() { } @Override - public SqlWarehouse castToWarehouse() { + public SqlWarehouse asWarehouse() { if (this.isDataWarehouse()) { return (SqlWarehouse) this; } @@ -333,11 +335,6 @@ public SqlDatabaseImpl withMode(CreateMode createMode) { return this; } - @Override - public SqlDatabaseImpl withoutSourceDatabaseId() { - return this; - } - @Override public SqlDatabase.DefinitionStages.WithCreateMode withSourceDatabase(String sourceDatabaseId) { this.inner().withSourceDatabaseId(sourceDatabaseId); diff --git a/azure-mgmt-sql/src/main/java/com/microsoft/azure/management/sql/implementation/SqlElasticPoolImpl.java b/azure-mgmt-sql/src/main/java/com/microsoft/azure/management/sql/implementation/SqlElasticPoolImpl.java index 45134e5adf541..e127e18442185 100644 --- a/azure-mgmt-sql/src/main/java/com/microsoft/azure/management/sql/implementation/SqlElasticPoolImpl.java +++ b/azure-mgmt-sql/src/main/java/com/microsoft/azure/management/sql/implementation/SqlElasticPoolImpl.java @@ -220,7 +220,7 @@ public SqlElasticPoolImpl withStorageCapacity(int storageMB) { @Override public SqlElasticPoolImpl withNewDatabase(String databaseName) { this.databaseCreatableMap.put(databaseName, - (SqlDatabaseImpl) this.databasesImpl.define(databaseName).withExistingElasticPool(this.name()).withoutSourceDatabaseId()); + (SqlDatabaseImpl) this.databasesImpl.define(databaseName).withExistingElasticPool(this.name())); return this; } diff --git a/azure-mgmt-sql/src/main/java/com/microsoft/azure/management/sql/implementation/SqlServerImpl.java b/azure-mgmt-sql/src/main/java/com/microsoft/azure/management/sql/implementation/SqlServerImpl.java index 6b0543190a68d..fe6e29c6be1ed 100644 --- a/azure-mgmt-sql/src/main/java/com/microsoft/azure/management/sql/implementation/SqlServerImpl.java +++ b/azure-mgmt-sql/src/main/java/com/microsoft/azure/management/sql/implementation/SqlServerImpl.java @@ -52,7 +52,7 @@ public class SqlServerImpl private final RecommendedElasticPoolsInner recommendedElasticPoolsInner; private final Map elasticPoolCreatableMap; private final Map firewallRuleCreatableMap; - private final Map databaseCreatableMap; + private final Map databaseCreatableMap; private FirewallRulesImpl firewallRulesImpl; private ElasticPoolsImpl elasticPoolsImpl; private DatabasesImpl databasesImpl; @@ -236,7 +236,7 @@ public SqlServerImpl withNewDatabase(String databaseName) { this.databaseCreatableMap.remove(databaseName); this.databaseCreatableMap.put(databaseName, - this.databases().define(databaseName).withoutElasticPool().withoutSourceDatabaseId()); + this.databases().define(databaseName)); return this; } @@ -276,9 +276,8 @@ private void withDatabaseInElasticPool(String databaseName, String elasticPoolNa this.databaseCreatableMap.remove(databaseName); this.databaseCreatableMap.put(databaseName, - this.databases().define(databaseName) - .withExistingElasticPool(elasticPoolName) - .withoutSourceDatabaseId()); + (SqlDatabase.DefinitionStages.WithAllDifferentOptions) this.databases().define(databaseName) + .withExistingElasticPool(elasticPoolName)); } @Override diff --git a/azure-mgmt-sql/src/test/java/com/microsoft/azure/management/sql/SqlServerOperationsTests.java b/azure-mgmt-sql/src/test/java/com/microsoft/azure/management/sql/SqlServerOperationsTests.java index 784bcafb7b362..7f469967c163d 100644 --- a/azure-mgmt-sql/src/test/java/com/microsoft/azure/management/sql/SqlServerOperationsTests.java +++ b/azure-mgmt-sql/src/test/java/com/microsoft/azure/management/sql/SqlServerOperationsTests.java @@ -259,10 +259,6 @@ public void canCRUDSqlDatabase() throws Exception { SqlServer sqlServer = createSqlServer(); Observable resourceStream = sqlServer.databases() .define(SQL_DATABASE_NAME) - .withoutElasticPool() - .withoutSourceDatabaseId() - .withCollation(COLLATION) - .withEdition(DatabaseEditions.STANDARD) .createAsync(); SqlDatabase sqlDatabase = Utils.rootResource(resourceStream) @@ -338,10 +334,8 @@ public void canCRUDSqlDatabase() throws Exception { // Add another database to the server resourceStream = sqlServer.databases() .define("newDatabase") - .withoutElasticPool() - .withoutSourceDatabaseId() - .withCollation(COLLATION) .withEdition(DatabaseEditions.STANDARD) + .withCollation(COLLATION) .createAsync(); sqlDatabase = Utils.rootResource(resourceStream) @@ -362,10 +356,8 @@ public void canManageReplicationLinks() throws Exception { Observable resourceStream = sqlServer1.databases() .define(SQL_DATABASE_NAME) - .withoutElasticPool() - .withoutSourceDatabaseId() - .withCollation(COLLATION) .withEdition(DatabaseEditions.STANDARD) + .withCollation(COLLATION) .createAsync(); SqlDatabase databaseInServer1 = Utils.rootResource(resourceStream) @@ -375,7 +367,6 @@ public void canManageReplicationLinks() throws Exception { validateSqlDatabase(databaseInServer1, SQL_DATABASE_NAME); SqlDatabase databaseInServer2 = sqlServer2.databases() .define(SQL_DATABASE_NAME) - .withoutElasticPool() .withSourceDatabase(databaseInServer1.id()) .withMode(CreateMode.ONLINE_SECONDARY) .create(); @@ -428,10 +419,8 @@ public void canDoOperationsOnDataWarehouse() throws Exception { Observable resourceStream = sqlServer.databases() .define(SQL_DATABASE_NAME) - .withoutElasticPool() - .withoutSourceDatabaseId() - .withCollation(COLLATION) .withEdition(DatabaseEditions.DATA_WAREHOUSE) + .withCollation(COLLATION) .createAsync(); SqlDatabase sqlDatabase = Utils.rootResource(resourceStream) @@ -444,7 +433,7 @@ public void canDoOperationsOnDataWarehouse() throws Exception { Assert.assertTrue(sqlDatabase.isDataWarehouse()); // Get - SqlWarehouse dataWarehouse = sqlServer.databases().get(SQL_DATABASE_NAME).castToWarehouse(); + SqlWarehouse dataWarehouse = sqlServer.databases().get(SQL_DATABASE_NAME).asWarehouse(); Assert.assertNotNull(dataWarehouse); Assert.assertEquals(dataWarehouse.name(), SQL_DATABASE_NAME); @@ -479,10 +468,7 @@ public void canCRUDSqlDatabaseWithElasticPool() throws Exception { Observable resourceStream = sqlServer.databases() .define(SQL_DATABASE_NAME) .withNewElasticPool(sqlElasticPoolCreatable) - .withoutSourceDatabaseId() .withCollation(COLLATION) - .withEdition(DatabaseEditions.STANDARD) - .withServiceObjective(ServiceObjectiveName.S1) .createAsync(); SqlDatabase sqlDatabase = Utils.rootResource(resourceStream) @@ -580,9 +566,7 @@ public void canCRUDSqlDatabaseWithElasticPool() throws Exception { resourceStream = sqlServer.databases() .define("newDatabase") .withExistingElasticPool(sqlElasticPool) - .withoutSourceDatabaseId() .withCollation(COLLATION) - .withEdition(DatabaseEditions.STANDARD) .createAsync(); sqlDatabase = Utils.rootResource(resourceStream) diff --git a/azure-mgmt-sql/src/test/java/com/microsoft/azure/management/sql/SqlServerTestBase.java b/azure-mgmt-sql/src/test/java/com/microsoft/azure/management/sql/SqlServerTestBase.java index d7cb70147189e..c3ac0e6551393 100644 --- a/azure-mgmt-sql/src/test/java/com/microsoft/azure/management/sql/SqlServerTestBase.java +++ b/azure-mgmt-sql/src/test/java/com/microsoft/azure/management/sql/SqlServerTestBase.java @@ -7,6 +7,8 @@ import com.microsoft.azure.management.sql.implementation.SqlServerManager; import okhttp3.logging.HttpLoggingInterceptor; +import java.io.File; +import java.io.IOException; import java.net.InetSocketAddress; import java.net.Proxy; import java.util.concurrent.TimeUnit; @@ -15,12 +17,9 @@ public abstract class SqlServerTestBase { protected static ResourceManager resourceManager; protected static SqlServerManager sqlServerManager; - public static void createClients() { - ApplicationTokenCredentials credentials = new ApplicationTokenCredentials( - System.getenv("client-id"), - System.getenv("domain"), - System.getenv("secret"), - AzureEnvironment.AZURE); + public static void createClients() throws IOException { + final File credFile = new File(System.getenv("AZURE_AUTH_LOCATION")); + ApplicationTokenCredentials credentials = ApplicationTokenCredentials.fromFile(credFile); RestClient restClient = new RestClient.Builder() .withBaseUrl(AzureEnvironment.AZURE, AzureEnvironment.Endpoint.RESOURCE_MANAGER) @@ -32,9 +31,9 @@ public static void createClients() { resourceManager = ResourceManager .authenticate(restClient) - .withSubscription(System.getenv("subscription-id")); + .withSubscription(credentials.defaultSubscriptionId()); sqlServerManager = SqlServerManager - .authenticate(restClient, System.getenv("subscription-id")); + .authenticate(restClient, credentials.defaultSubscriptionId()); } } diff --git a/azure-samples/src/main/java/com/microsoft/azure/management/appservice/samples/ManageWebAppSqlConnection.java b/azure-samples/src/main/java/com/microsoft/azure/management/appservice/samples/ManageWebAppSqlConnection.java index dd96359941a86..0de63ff1e8756 100644 --- a/azure-samples/src/main/java/com/microsoft/azure/management/appservice/samples/ManageWebAppSqlConnection.java +++ b/azure-samples/src/main/java/com/microsoft/azure/management/appservice/samples/ManageWebAppSqlConnection.java @@ -89,10 +89,7 @@ public static void main(String[] args) { System.out.println("Creating SQL database " + sqlDbName + "..."); - SqlDatabase db = server.databases().define(sqlDbName) - .withoutElasticPool() - .withoutSourceDatabaseId() - .create(); + SqlDatabase db = server.databases().define(sqlDbName).create(); System.out.println("Created SQL database " + db.name()); diff --git a/azure-samples/src/main/java/com/microsoft/azure/management/sql/samples/ManageSqlDatabase.java b/azure-samples/src/main/java/com/microsoft/azure/management/sql/samples/ManageSqlDatabase.java index 2d9a0619f6755..939e5decc9650 100644 --- a/azure-samples/src/main/java/com/microsoft/azure/management/sql/samples/ManageSqlDatabase.java +++ b/azure-samples/src/main/java/com/microsoft/azure/management/sql/samples/ManageSqlDatabase.java @@ -78,10 +78,8 @@ public static void main(String[] args) { // Create a Database in SQL server created above. System.out.println("Creating a database"); - SqlDatabase database = sqlServer.databases().define(databaseName) - .withoutElasticPool() - .withoutSourceDatabaseId() - .withEdition(DatabaseEditions.BASIC) + SqlDatabase database = sqlServer.databases() + .define(databaseName) .create(); Utils.print(database); diff --git a/azure-samples/src/main/java/com/microsoft/azure/management/sql/samples/ManageSqlDatabaseInElasticPool.java b/azure-samples/src/main/java/com/microsoft/azure/management/sql/samples/ManageSqlDatabaseInElasticPool.java index c7c76a5bb808b..857e4118582d7 100644 --- a/azure-samples/src/main/java/com/microsoft/azure/management/sql/samples/ManageSqlDatabaseInElasticPool.java +++ b/azure-samples/src/main/java/com/microsoft/azure/management/sql/samples/ManageSqlDatabaseInElasticPool.java @@ -111,10 +111,8 @@ public static void main(String[] args) { // Create a Database in SQL server created above. System.out.println("Creating a database"); - SqlDatabase database = sqlServer.databases().define("myNewDatabase") - .withoutElasticPool() - .withoutSourceDatabaseId() - .withEdition(DatabaseEditions.BASIC) + SqlDatabase database = sqlServer.databases() + .define("myNewDatabase") .create(); Utils.print(database); @@ -135,8 +133,6 @@ public static void main(String[] args) { // ============================================================ // Create another database and move it in elastic pool as update to the elastic pool. SqlDatabase anotherDatabase = sqlServer.databases().define(anotherDatabaseName) - .withoutElasticPool() - .withoutSourceDatabaseId() .create(); // ============================================================ @@ -197,9 +193,6 @@ public static void main(String[] args) { System.out.println("Create ElasticPool in existing SQL Server"); SqlElasticPool elasticPool2 = sqlServer.elasticPools().define(elasticPool2Name) .withEdition(elasticPoolEdition) - .withDtu(100) - .withDatabaseDtuMax(50) - .withDatabaseDtuMin(10) .create(); Utils.print(elasticPool2); diff --git a/azure-samples/src/main/java/com/microsoft/azure/management/sql/samples/ManageSqlDatabasesAcrossDifferentDataCenters.java b/azure-samples/src/main/java/com/microsoft/azure/management/sql/samples/ManageSqlDatabasesAcrossDifferentDataCenters.java index 4229c4c530890..d3ce7b079416d 100644 --- a/azure-samples/src/main/java/com/microsoft/azure/management/sql/samples/ManageSqlDatabasesAcrossDifferentDataCenters.java +++ b/azure-samples/src/main/java/com/microsoft/azure/management/sql/samples/ManageSqlDatabasesAcrossDifferentDataCenters.java @@ -88,9 +88,8 @@ public static void main(String[] args) { // Create a Database in master SQL server created above. System.out.println("Creating a database"); - SqlDatabase masterDatabase = masterSqlServer.databases().define(databaseName) - .withoutElasticPool() - .withoutSourceDatabaseId() + SqlDatabase masterDatabase = masterSqlServer.databases() + .define(databaseName) .withEdition(DatabaseEditions.BASIC) .create(); Utils.print(masterDatabase); @@ -110,7 +109,6 @@ public static void main(String[] args) { System.out.println("Creating database in slave SQL Server."); SqlDatabase secondaryDatabase = sqlServerInSecondaryLocation.databases().define(databaseName) - .withoutElasticPool() .withSourceDatabase(masterDatabase) .withMode(CreateMode.ONLINE_SECONDARY) .create(); @@ -130,7 +128,6 @@ public static void main(String[] args) { System.out.println("Creating database in second slave SQL Server."); SqlDatabase secondaryDatabaseInEurope = sqlServerInEurope.databases().define(databaseName) - .withoutElasticPool() .withSourceDatabase(masterDatabase) .withMode(CreateMode.ONLINE_SECONDARY) .create(); diff --git a/translation.properties b/translation.properties index 41c114612346e..4be540bc6517f 100644 --- a/translation.properties +++ b/translation.properties @@ -55,6 +55,24 @@ class-com.microsoft.azure.management.appservice.PlatformArchitecture=Microsoft.A class-com.microsoft.azure.management.appservice.RemoteVisualStudioVersion=Microsoft.Azure.Management.AppService.Fluent.RemoteVisualStudioVersion class-com.microsoft.azure.management.appservice.RepositoryType=Microsoft.Azure.Management.AppService.Fluent.RepositoryType class-com.microsoft.azure.management.appservice.implementation.TldLegalAgreementInner=Microsoft.Azure.Management.AppService.Fluent.Models.TldLegalAgreement +package-com.microsoft.azure.management.sql.implementation=Microsoft.Azure.Management.Sql.Fluent.Models +package-com.microsoft.azure.management.sql=Microsoft.Azure.Management.Sql.Fluent.Models +class-com.microsoft.azure.management.sql.ElasticPoolEditions=string +class-com.microsoft.azure.management.sql.ReplicationState=string +class-com.microsoft.azure.management.sql.ServiceObjectiveName=string +class-com.microsoft.azure.management.sql.ElasticPoolEditions=string +class-com.microsoft.azure.management.sql.DatabaseEditions=string +class-com.microsoft.azure.management.sql.ElasticPoolState=string +class-com.microsoft.azure.management.sql.ServerVersion=string +class-com.microsoft.azure.management.sql.CreateMode=string +class-com.microsoft.azure.management.sql.TransparentDataEncryptionActivityStates=string +class-com.microsoft.azure.management.sql.implementation.DatabaseMetricInner=Microsoft.Azure.Management.Sql.Fluent.Models.DatabaseMetric +class-com.microsoft.azure.management.sql.implementation.TransparentDataEncryptionActivityInner=Microsoft.Azure.Management.Sql.Fluent.Models.TransparentDataEncryptionActivity +class-com.microsoft.azure.management.sql.implementation.RecommendedElasticPoolMetricInner=Microsoft.Azure.Management.Sql.Fluent.Models.RecommendedElasticPoolMetric +class-com.microsoft.azure.management.sql.SloUsageMetricInterface=Microsoft.Azure.Management.Sql.Fluent.ISloUsageMetric +class-com.microsoft.azure.management.sql.UpgradeHintInterface=Microsoft.Azure.Management.Sql.Fluent.IUpgradeHint +class-com.microsoft.azure.management.sql.implementation.ServerMetricInner=Microsoft.Azure.Management.Sql.Fluent.Models.ServerMetric +class-com.microsoft.azure.management.sql.implementation.SqlServerManager=Microsoft.Azure.Management.Sql.Fluent.SqlManager env-com.microsoft.azure.management.apigeneration.model.ISourceGenerator.ProcessOnlyChanges=true env-com.microsoft.azure.management.apigeneration.model.ISourceGenerator.DiffType=Internal env-com.microsoft.azure.management.apigeneration.csharp.impl.CSharpInternalSourceDiff.sourceDirPath=