Kenvh/noazurecms (#8755)

* Disallow Azure SQL DB servers for CMS

* removed commented out lines

* added check for valid serverInfo
This commit is contained in:
kenvanhyning
2020-01-06 16:53:06 -08:00
committed by GitHub
parent c5d3251bb5
commit dd8b12f805
3 changed files with 25 additions and 12 deletions

View File

@@ -33,7 +33,20 @@ export function registerCmsServerCommand(appContext: AppContext, tree: CmsResour
return server.name === registeredCmsServerName;
});
}
if (!serverExists) {
// don't allow duplicate server entries
if (serverExists) {
let errorText = localize('cms.errors.sameCmsServerName', "Central Management Server Group already has a Registered Server with the name {0}", registeredCmsServerName);
throw new Error(errorText);
}
// don't allow azure servers
let isCloud: boolean = connection.options.isCloud;
if (isCloud) {
let errorText = localize('cms.errors.azureNotAllowed', "Azure SQL Servers cannot be used as Central Management Servers");
throw new Error(errorText);
}
// remove any group ID if user selects a connection from
// recent connection list
connection.options.groupId = null;
@@ -41,12 +54,6 @@ export function registerCmsServerCommand(appContext: AppContext, tree: CmsResour
let ownerUri = await azdata.connection.getUriForConnection(connection.connectionId);
appContext.cmsUtils.cacheRegisteredCmsServer(registeredCmsServerName, registeredCmsServerDescription, ownerUri, connection);
tree.notifyNodeChanged(undefined);
} else {
// error out for same server name
let errorText = localize('cms.errors.sameCmsServerName', "Central Management Server Group already has a Registered Server with the name {0}", registeredCmsServerName);
appContext.apiWrapper.showErrorMessage(errorText);
throw new Error(errorText);
}
}
});
}

View File

@@ -336,6 +336,9 @@
<trans-unit id="cms.errors.sameCmsServerName">
<source xml:lang="en">Central Management Server Group already has a Registered Server with the name {0}</source>
</trans-unit>
<trans-unit id="cms.errors.azureNotAllowed">
<source xml:lang="en">Azure SQL Database Servers cannot be used as Central Management Servers</source>
</trans-unit>
<trans-unit id="cms.confirmDeleteServer">
<source xml:lang="en">Are you sure you want to delete</source>
</trans-unit>

View File

@@ -1040,6 +1040,9 @@ export class ConnectionManagementService extends Disposable implements IConnecti
this._connectionStatusManager.deleteConnection(uri);
resolve({ connected: connectResult, errorMessage: errorMessage, errorCode: errorCode, callStack: callStack, connectionProfile: connection });
} else {
if (connectionMngInfo.serverInfo) {
connection.options.isCloud = connectionMngInfo.serverInfo.isCloud;
}
resolve({ connected: connectResult, errorMessage: errorMessage, errorCode: errorCode, callStack: callStack, connectionProfile: connection });
}
}