Skip to content

Commit e672194

Browse files
committed
refactor(core): migrate redshift + stepFunctions + cloudcontrol + cloudwatchlogs + s3 + credentials to aws sdk v3
1 parent 185406d commit e672194

File tree

11 files changed

+28
-30
lines changed

11 files changed

+28
-30
lines changed

packages/core/src/awsService/redshift/explorer/redshiftWarehouseNode.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import { ChildNodeLoader, ChildNodePage } from '../../../awsexplorer/childNodeLo
1515
import { DefaultRedshiftClient } from '../../../shared/clients/redshiftClient'
1616
import { deleteConnection, ConnectionParams, ConnectionType, RedshiftWarehouseType } from '../models/models'
1717
import { RedshiftNodeConnectionWizard } from '../wizards/connectionWizard'
18-
import { ListDatabasesResponse } from 'aws-sdk/clients/redshiftdata'
18+
import { ListDatabasesResponse } from '@aws-sdk/client-redshift-data'
1919
import { getIcon } from '../../../shared/icons'
2020
import { AWSCommandTreeNode } from '../../../shared/treeview/nodes/awsCommandTreeNode'
2121
import { telemetry } from '../../../shared/telemetry/telemetry'

packages/core/src/awsService/redshift/wizards/connectionWizard.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import { DefaultRedshiftClient } from '../../../shared/clients/redshiftClient'
1414
import { Region } from '../../../shared/regions/endpoints'
1515
import { RegionProvider } from '../../../shared/regions/regionProvider'
1616
import { createRegionPrompter } from '../../../shared/ui/common/region'
17-
import { ClustersMessage } from 'aws-sdk/clients/redshift'
17+
import { ClustersMessage } from '@aws-sdk/client-redshift'
1818
import { Prompter } from '../../../shared/ui/prompter'
1919
import { ListSecretsResponse } from '@aws-sdk/client-secrets-manager'
2020
import { SecretsManagerClient } from '../../../shared/clients/secretsManagerClient'

packages/core/src/codewhisperer/region/regionProfileManager.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ import {
1818
import globals from '../../shared/extensionGlobals'
1919
import { once } from '../../shared/utilities/functionUtils'
2020
import CodeWhispererUserClient from '../client/codewhispereruserclient'
21-
import { Credentials, Service } from 'aws-sdk'
21+
import { AwsCredentialIdentity } from '@aws-sdk/types'
22+
import { Service } from 'aws-sdk'
2223
import { ServiceOptions } from '../../shared/awsClientBuilder'
2324
import userApiConfig = require('../client/user-service-2.json')
2425
import { createConstantMap } from '../../shared/utilities/tsUtils'
@@ -394,7 +395,7 @@ export class RegionProfileManager {
394395
apiConfig: userApiConfig,
395396
region: region,
396397
endpoint: endpoint,
397-
credentials: new Credentials({ accessKeyId: 'xxx', secretAccessKey: 'xxx' }),
398+
credentials: { accessKeyId: 'xxx', secretAccessKey: 'xxx' } as AwsCredentialIdentity,
398399
onRequestSetup: [
399400
(req) => {
400401
req.on('build', ({ httpRequest }) => {

packages/core/src/dynamicResources/commands/saveResource.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import { ResourceNode } from '../explorer/nodes/resourceNode'
1313
import { ResourceTypeNode } from '../explorer/nodes/resourceTypeNode'
1414
import { AwsResourceManager } from '../awsResourceManager'
1515
import { CloudControlClient } from '../../shared/clients/cloudControl'
16-
import { CloudControl } from 'aws-sdk'
16+
import { ResourceDescription } from '@aws-sdk/client-cloudcontrol'
1717
import globals from '../../shared/extensionGlobals'
1818
import { telemetry } from '../../shared/telemetry/telemetry'
1919

@@ -224,7 +224,7 @@ export async function updateResource(
224224
)
225225
}
226226

227-
function computeDiff(currentDefinition: CloudControl.ResourceDescription, updatedDefinition: string): Operation[] {
227+
function computeDiff(currentDefinition: ResourceDescription, updatedDefinition: string): Operation[] {
228228
const current = JSON.parse(currentDefinition.Properties!)
229229
const updated = JSON.parse(updatedDefinition)
230230
return compare(current, updated)

packages/core/src/dynamicResources/explorer/nodes/resourceTypeNode.ts

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import { localize } from '../../../shared/utilities/vsCodeUtils'
1515
import { ResourcesNode } from './resourcesNode'
1616
import { ResourceNode } from './resourceNode'
1717
import { Result } from '../../../shared/telemetry/telemetry'
18-
import { CloudControl } from 'aws-sdk'
18+
import { ResourceDescription } from '@aws-sdk/client-cloudcontrol'
1919
import { ResourceTypeMetadata } from '../../model/resources'
2020
import { S3Client } from '../../../shared/clients/s3'
2121
import { telemetry } from '../../../shared/telemetry/telemetry'
@@ -123,15 +123,12 @@ export class ResourceTypeNode extends AWSTreeNodeBase implements LoadMoreNode {
123123
})
124124

125125
newResources = response.ResourceDescriptions
126-
? response.ResourceDescriptions.reduce(
127-
(accumulator: ResourceNode[], current: CloudControl.ResourceDescription) => {
128-
if (current.Identifier) {
129-
accumulator.push(new ResourceNode(this, current.Identifier, this.childContextValue))
130-
}
131-
return accumulator
132-
},
133-
[]
134-
)
126+
? response.ResourceDescriptions.reduce((accumulator: ResourceNode[], current: ResourceDescription) => {
127+
if (current.Identifier) {
128+
accumulator.push(new ResourceNode(this, current.Identifier, this.childContextValue))
129+
}
130+
return accumulator
131+
}, [])
135132
: []
136133
nextToken = response.NextToken
137134
}

packages/core/src/stepFunctions/workflowStudio/types.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
33
* SPDX-License-Identifier: Apache-2.0
44
*/
5-
import { IAM } from 'aws-sdk'
6-
import * as StepFunctions from '@aws-sdk/client-sfn'
5+
import { ListRolesCommandInput } from '@aws-sdk/client-iam'
6+
import { TestStateInput } from '@aws-sdk/client-sfn'
77
import * as vscode from 'vscode'
88

99
export enum WorkflowMode {
@@ -94,8 +94,8 @@ export enum ApiAction {
9494
}
9595

9696
type ApiCallRequestMapping = {
97-
[ApiAction.IAMListRoles]: IAM.ListRolesRequest
98-
[ApiAction.SFNTestState]: StepFunctions.TestStateInput
97+
[ApiAction.IAMListRoles]: ListRolesCommandInput
98+
[ApiAction.SFNTestState]: TestStateInput
9999
}
100100

101101
interface ApiCallRequestMessageBase<ApiName extends ApiAction> extends Message {

packages/core/src/test/awsService/cloudWatchLogs/document/logDataDocumentProvider.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import {
2121
import { Settings } from '../../../../shared/settings'
2222
import { LogDataCodeLensProvider } from '../../../../awsService/cloudWatchLogs/document/logDataCodeLensProvider'
2323
import { CLOUDWATCH_LOGS_SCHEME } from '../../../../shared/constants'
24-
import { FilteredLogEvent } from 'aws-sdk/clients/cloudwatchlogs'
24+
import { FilteredLogEvent } from '@aws-sdk/client-cloudwatch-logs'
2525

2626
const getLogEventsMessage = 'This is from getLogEvents'
2727

packages/core/src/test/awsService/cloudWatchLogs/registry/logDataRegistry.test.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ import {
2525
testLogData,
2626
unregisteredData,
2727
} from '../utils.test'
28-
import { FilteredLogEvents } from 'aws-sdk/clients/cloudwatchlogs'
28+
import { FilteredLogEvent } from '@aws-sdk/client-cloudwatch-logs'
2929
import { formatDateTimestamp } from '../../../../shared/datetime'
3030

3131
describe('LogDataRegistry', async function () {
@@ -128,8 +128,8 @@ describe('LogDataRegistry', async function () {
128128
const pageToken1 = 'page1Token'
129129
const pageToken2 = 'page2Token'
130130

131-
function createCwlEvents(id: string, count: number): FilteredLogEvents {
132-
let events: FilteredLogEvents = []
131+
function createCwlEvents(id: string, count: number): FilteredLogEvent[] {
132+
let events: FilteredLogEvent[] = []
133133
for (let i = 0; i < count; i++) {
134134
events = events.concat({ message: `message-${id}`, logStreamName: `stream-${id}` })
135135
}

packages/core/src/test/dynamicResources/explorer/resourceTypeNode.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import {
1313
assertNodeListOnlyHasPlaceholderNode,
1414
} from '../../utilities/explorerNodeAssertions'
1515
import { CloudControlClient } from '../../../shared/clients/cloudControl'
16-
import { CloudControl } from 'aws-sdk'
16+
import { ResourceDescription } from '@aws-sdk/client-cloudcontrol'
1717
import { ResourceTypeMetadata } from '../../../dynamicResources/model/resources'
1818
import sinon from 'sinon'
1919

@@ -183,7 +183,7 @@ describe('ResourceTypeNode', function () {
183183
cloudControl.listResources = sinon.stub().resolves({
184184
TypeName: fakeTypeName,
185185
NextToken: undefined,
186-
ResourceDescriptions: resourceIdentifiers.map<CloudControl.ResourceDescription>((identifier) => {
186+
ResourceDescriptions: resourceIdentifiers.map<ResourceDescription>((identifier) => {
187187
return {
188188
Identifier: identifier,
189189
ResourceModel: '',

packages/core/src/test/shared/defaultAwsContext.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
*/
55

66
import assert from 'assert'
7-
import * as AWS from 'aws-sdk'
7+
import { AwsCredentialIdentity } from '@aws-sdk/types'
88
import { AwsContextCredentials } from '../../shared/awsContext'
99
import { DefaultAwsContext } from '../../shared/awsContext'
1010

@@ -125,7 +125,7 @@ describe('DefaultAwsContext', function () {
125125

126126
function makeSampleAwsContextCredentials(endpointUrl?: string): AwsContextCredentials {
127127
return {
128-
credentials: {} as any as AWS.Credentials,
128+
credentials: {} as AwsCredentialIdentity,
129129
credentialsId: 'qwerty',
130130
accountId: testAccountIdValue,
131131
endpointUrl,

0 commit comments

Comments
 (0)