Skip to content

Commit f935aba

Browse files
committed
chore: update connection plugin interfaces
1 parent c3a8395 commit f935aba

25 files changed

Lines changed: 80 additions & 69 deletions

common/lib/authentication/aws_secrets_manager_plugin_factory.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,20 +15,20 @@
1515
*/
1616

1717
import { ConnectionPluginFactory } from "../plugin_factory";
18-
import { PluginService } from "../plugin_service";
1918
import { ConnectionPlugin } from "../connection_plugin";
2019
import { AwsWrapperError } from "../utils/errors";
2120
import { Messages } from "../utils/messages";
21+
import { FullServicesContainer } from "../utils/full_services_container";
2222

2323
export class AwsSecretsManagerPluginFactory extends ConnectionPluginFactory {
2424
private static awsSecretsManagerPlugin: any;
2525

26-
async getInstance(pluginService: PluginService, properties: Map<string, any>): Promise<ConnectionPlugin> {
26+
async getInstance(servicesContainer: FullServicesContainer, properties: Map<string, any>): Promise<ConnectionPlugin> {
2727
try {
2828
if (!AwsSecretsManagerPluginFactory.awsSecretsManagerPlugin) {
2929
AwsSecretsManagerPluginFactory.awsSecretsManagerPlugin = await import("./aws_secrets_manager_plugin");
3030
}
31-
return new AwsSecretsManagerPluginFactory.awsSecretsManagerPlugin.AwsSecretsManagerPlugin(pluginService, new Map(properties));
31+
return new AwsSecretsManagerPluginFactory.awsSecretsManagerPlugin.AwsSecretsManagerPlugin(servicesContainer.getPluginService(), new Map(properties));
3232
} catch (error: any) {
3333
if (error.code === "MODULE_NOT_FOUND") {
3434
throw new AwsWrapperError(Messages.get("ConnectionPluginChainBuilder.errorImportingPlugin", error.message, "AwsSecretsManagerPlugin"));

common/lib/authentication/iam_authentication_plugin_factory.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,20 +15,20 @@
1515
*/
1616

1717
import { ConnectionPluginFactory } from "../plugin_factory";
18-
import { PluginService } from "../plugin_service";
1918
import { ConnectionPlugin } from "../connection_plugin";
2019
import { AwsWrapperError } from "../utils/errors";
2120
import { Messages } from "../utils/messages";
21+
import { FullServicesContainer } from "../utils/full_services_container";
2222

2323
export class IamAuthenticationPluginFactory extends ConnectionPluginFactory {
2424
private static iamAuthenticationPlugin: any;
2525

26-
async getInstance(pluginService: PluginService, properties: object): Promise<ConnectionPlugin> {
26+
async getInstance(servicesContainer: FullServicesContainer, properties: object): Promise<ConnectionPlugin> {
2727
try {
2828
if (!IamAuthenticationPluginFactory.iamAuthenticationPlugin) {
2929
IamAuthenticationPluginFactory.iamAuthenticationPlugin = await import("./iam_authentication_plugin");
3030
}
31-
return new IamAuthenticationPluginFactory.iamAuthenticationPlugin.IamAuthenticationPlugin(pluginService);
31+
return new IamAuthenticationPluginFactory.iamAuthenticationPlugin.IamAuthenticationPlugin(servicesContainer.getPluginService());
3232
} catch (error: any) {
3333
throw new AwsWrapperError(Messages.get("ConnectionPluginChainBuilder.errorImportingPlugin", error.message, "IamAuthenticationPlugin"));
3434
}

common/lib/connection_plugin_chain_builder.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ import { CustomEndpointPluginFactory } from "./plugins/custom_endpoint/custom_en
4343
import { ConfigurationProfile } from "./profile/configuration_profile";
4444
import { HostMonitoring2PluginFactory } from "./plugins/efm2/host_monitoring2_plugin_factory";
4545
import { BlueGreenPluginFactory } from "./plugins/bluegreen/blue_green_plugin_factory";
46+
import { FullServicesContainer } from "./utils/full_services_container";
4647

4748
/*
4849
Type alias used for plugin factory sorting. It holds a reference to a plugin
@@ -99,7 +100,7 @@ export class ConnectionPluginChainBuilder {
99100
]);
100101

101102
static async getPlugins(
102-
pluginService: PluginService,
103+
servicesContainer: FullServicesContainer,
103104
props: Map<string, any>,
104105
connectionProviderManager: ConnectionProviderManager,
105106
configurationProfile: ConfigurationProfile | null
@@ -162,10 +163,10 @@ export class ConnectionPluginChainBuilder {
162163

163164
for (const pluginFactoryInfo of pluginFactoryInfoList) {
164165
const factoryObj = new pluginFactoryInfo.factory();
165-
plugins.push(await factoryObj.getInstance(pluginService, props));
166+
plugins.push(await factoryObj.getInstance(servicesContainer, props));
166167
}
167168

168-
plugins.push(new DefaultPlugin(pluginService, connectionProviderManager));
169+
plugins.push(new DefaultPlugin(servicesContainer, connectionProviderManager));
169170

170171
return plugins;
171172
}

common/lib/plugin_factory.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,10 @@
1616

1717
import { PluginService } from "./plugin_service";
1818
import { ConnectionPlugin } from "./connection_plugin";
19+
import { FullServicesContainer } from "./utils/full_services_container";
1920

2021
export class ConnectionPluginFactory {
21-
getInstance(pluginService: PluginService, properties: Map<string, any>): Promise<ConnectionPlugin> {
22+
getInstance(servicesContainer: FullServicesContainer, properties: Map<string, any>): Promise<ConnectionPlugin> {
2223
return;
2324
}
2425
}

common/lib/plugin_manager.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ export class PluginManager {
8080
private readonly props: Map<string, any>;
8181
private _plugins: ConnectionPlugin[] = [];
8282
private readonly connectionProviderManager: ConnectionProviderManager;
83-
private fullServiceContainer: FullServicesContainer;
83+
private fullServicesContainer: FullServicesContainer;
8484
protected telemetryFactory: TelemetryFactory;
8585

8686
constructor(
@@ -89,7 +89,7 @@ export class PluginManager {
8989
connectionProviderManager: ConnectionProviderManager,
9090
telemetryFactory: TelemetryFactory
9191
) {
92-
this.fullServiceContainer = fullServicesContainer;
92+
this.fullServicesContainer = fullServicesContainer;
9393
this.connectionProviderManager = connectionProviderManager;
9494
this.props = props;
9595
this.telemetryFactory = telemetryFactory;
@@ -102,7 +102,7 @@ export class PluginManager {
102102
this._plugins = plugins;
103103
} else {
104104
this._plugins = await ConnectionPluginChainBuilder.getPlugins(
105-
this.fullServiceContainer.getPluginService(),
105+
this.fullServicesContainer,
106106
this.props,
107107
this.connectionProviderManager,
108108
configurationProfile
@@ -126,8 +126,8 @@ export class PluginManager {
126126
}
127127

128128
const telemetryContext = this.telemetryFactory.openTelemetryContext(methodName, TelemetryTraceLevel.NESTED);
129-
const currentClient: ClientWrapper = this.fullServiceContainer.getPluginService().getCurrentClient().targetClient;
130-
this.fullServiceContainer.getPluginService().attachNoOpErrorListener(currentClient);
129+
const currentClient: ClientWrapper = this.fullServicesContainer.getPluginService().getCurrentClient().targetClient;
130+
this.fullServicesContainer.getPluginService().attachNoOpErrorListener(currentClient);
131131
try {
132132
return await telemetryContext.start(() => {
133133
return this.executeWithSubscribedPlugins(
@@ -140,7 +140,7 @@ export class PluginManager {
140140
);
141141
});
142142
} finally {
143-
this.fullServiceContainer.getPluginService().attachErrorListener(currentClient);
143+
this.fullServicesContainer.getPluginService().attachErrorListener(currentClient);
144144
}
145145
}
146146

common/lib/plugins/aurora_initial_connection_strategy_plugin_factory.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,19 +15,19 @@
1515
*/
1616

1717
import { ConnectionPluginFactory } from "../plugin_factory";
18-
import { PluginService } from "../plugin_service";
1918
import { AwsWrapperError } from "../utils/errors";
2019
import { Messages } from "../utils/messages";
20+
import { FullServicesContainer } from "../utils/full_services_container";
2121

2222
export class AuroraInitialConnectionStrategyFactory extends ConnectionPluginFactory {
2323
private static auroraInitialConnectionStrategyPlugin: any;
2424

25-
async getInstance(pluginService: PluginService, props: Map<string, any>) {
25+
async getInstance(servicesContainer: FullServicesContainer, props: Map<string, any>) {
2626
try {
2727
if (!AuroraInitialConnectionStrategyFactory.auroraInitialConnectionStrategyPlugin) {
2828
AuroraInitialConnectionStrategyFactory.auroraInitialConnectionStrategyPlugin = await import("./aurora_initial_connection_strategy_plugin");
2929
}
30-
return new AuroraInitialConnectionStrategyFactory.auroraInitialConnectionStrategyPlugin.AuroraInitialConnectionStrategyPlugin(pluginService);
30+
return new AuroraInitialConnectionStrategyFactory.auroraInitialConnectionStrategyPlugin.AuroraInitialConnectionStrategyPlugin(servicesContainer.getPluginService());
3131
} catch (error: any) {
3232
throw new AwsWrapperError(
3333
Messages.get("ConnectionPluginChainBuilder.errorImportingPlugin", error.message, "AuroraInitialConnectionStrategyPlugin")

common/lib/plugins/bluegreen/blue_green_plugin_factory.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,20 +15,20 @@
1515
*/
1616

1717
import { ConnectionPluginFactory } from "../../plugin_factory";
18-
import { PluginService } from "../../plugin_service";
1918
import { ConnectionPlugin } from "../../connection_plugin";
2019
import { AwsWrapperError } from "../../utils/errors";
2120
import { Messages } from "../../utils/messages";
21+
import { FullServicesContainer } from "../../utils/full_services_container";
2222

2323
export class BlueGreenPluginFactory extends ConnectionPluginFactory {
2424
private static blueGreenPlugin: any;
2525

26-
async getInstance(pluginService: PluginService, props: Map<string, any>): Promise<ConnectionPlugin> {
26+
async getInstance(servicesContainer: FullServicesContainer, props: Map<string, any>): Promise<ConnectionPlugin> {
2727
try {
2828
if (!BlueGreenPluginFactory.blueGreenPlugin) {
2929
BlueGreenPluginFactory.blueGreenPlugin = await import("./blue_green_plugin");
3030
}
31-
return new BlueGreenPluginFactory.blueGreenPlugin.BlueGreenPlugin(pluginService, props);
31+
return new BlueGreenPluginFactory.blueGreenPlugin.BlueGreenPlugin(servicesContainer.getPluginService(), props);
3232
} catch (error: any) {
3333
throw new AwsWrapperError(Messages.get("ConnectionPluginChainBuilder.errorImportingPlugin", error.message, "BlueGreenPluginFactory"));
3434
}

common/lib/plugins/connect_time_plugin_factory.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,15 @@
1515
*/
1616

1717
import { ConnectionPluginFactory } from "../plugin_factory";
18-
import { PluginService } from "../plugin_service";
1918
import { ConnectionPlugin } from "../connection_plugin";
2019
import { AwsWrapperError } from "../utils/errors";
2120
import { Messages } from "../utils/messages";
21+
import { FullServicesContainer } from "../utils/full_services_container";
2222

2323
export class ConnectTimePluginFactory extends ConnectionPluginFactory {
2424
private static connectTimePlugin: any;
2525

26-
async getInstance(pluginService: PluginService, properties: Map<string, any>): Promise<ConnectionPlugin> {
26+
async getInstance(servicesContainer: FullServicesContainer, properties: Map<string, any>): Promise<ConnectionPlugin> {
2727
try {
2828
if (!ConnectTimePluginFactory.connectTimePlugin) {
2929
ConnectTimePluginFactory.connectTimePlugin = await import("./connect_time_plugin");

common/lib/plugins/connection_tracker/aurora_connection_tracker_plugin_factory.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,20 +15,22 @@
1515
*/
1616

1717
import { ConnectionPluginFactory } from "../../plugin_factory";
18-
import { PluginService } from "../../plugin_service";
1918
import { ConnectionPlugin } from "../../connection_plugin";
2019
import { AwsWrapperError } from "../../utils/errors";
2120
import { Messages } from "../../utils/messages";
21+
import { FullServicesContainer } from "../../utils/full_services_container";
2222

2323
export class AuroraConnectionTrackerPluginFactory extends ConnectionPluginFactory {
2424
private static auroraConnectionTrackerPlugin: any;
2525

26-
async getInstance(pluginService: PluginService, props: Map<string, any>): Promise<ConnectionPlugin> {
26+
async getInstance(servicesContainer: FullServicesContainer, props: Map<string, any>): Promise<ConnectionPlugin> {
2727
try {
2828
if (!AuroraConnectionTrackerPluginFactory.auroraConnectionTrackerPlugin) {
2929
AuroraConnectionTrackerPluginFactory.auroraConnectionTrackerPlugin = await import("./aurora_connection_tracker_plugin");
3030
}
31-
return new AuroraConnectionTrackerPluginFactory.auroraConnectionTrackerPlugin.AuroraConnectionTrackerPlugin(pluginService);
31+
return new AuroraConnectionTrackerPluginFactory.auroraConnectionTrackerPlugin.AuroraConnectionTrackerPlugin(
32+
servicesContainer.getPluginService()
33+
);
3234
} catch (error: any) {
3335
throw new AwsWrapperError(Messages.get("ConnectionPluginChainBuilder.errorImportingPlugin", error.message, "AuroraConnectionTrackerPlugin"));
3436
}

common/lib/plugins/custom_endpoint/custom_endpoint_plugin_factory.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,19 +15,19 @@
1515
*/
1616

1717
import { ConnectionPluginFactory } from "../../plugin_factory";
18-
import { PluginService } from "../../plugin_service";
1918
import { AwsWrapperError } from "../../utils/errors";
2019
import { Messages } from "../../utils/messages";
20+
import { FullServicesContainer } from "../../utils/full_services_container";
2121

2222
export class CustomEndpointPluginFactory extends ConnectionPluginFactory {
2323
private static customEndpointPlugin: any;
2424

25-
async getInstance(pluginService: PluginService, props: Map<string, any>) {
25+
async getInstance(servicesContainer: FullServicesContainer, props: Map<string, any>) {
2626
try {
2727
if (!CustomEndpointPluginFactory.customEndpointPlugin) {
2828
CustomEndpointPluginFactory.customEndpointPlugin = await import("./custom_endpoint_plugin");
2929
}
30-
return new CustomEndpointPluginFactory.customEndpointPlugin.CustomEndpointPlugin(pluginService, props);
30+
return new CustomEndpointPluginFactory.customEndpointPlugin.CustomEndpointPlugin(servicesContainer.getPluginService(), props);
3131
} catch (error: any) {
3232
throw new AwsWrapperError(Messages.get("ConnectionPluginChainBuilder.errorImportingPlugin", error.message, "CustomEndpointPlugin"));
3333
}

0 commit comments

Comments
 (0)