Skip to content

Commit c49c112

Browse files
jgreenbow-userfulalexpulver
authored andcommitted
Initial update to CDKv2 (#1)
* Initial update to CDKv2 Imports adjusted - updated requirements files - replacement of aws_cdk.core with aws_cdk - import new constructs module Cleared cdk context values Updated aws-cdk CLI to compatible version * Removed ignored pylint options * Replaced cdk-chalice with chalice[cdkv2] As cdk-chalice has not been updated for cdkv2 yet, chalice[cdkv2] provides an alternative implementation for these constructs. However, this breaks the current tests. Bumped pip-tools for requirements resolution * Pinned flake8 to prevent dependency conflict flake8>=4.0 pins importlib-metadata<4.3 as a dependency. This is incompatible with other packages requiring importlib-metadata>=4.12. * Resolved pylint W1514: unspecified encoding * Updated token values in chalice config
1 parent 9d7ed90 commit c49c112

14 files changed

+92
-2038
lines changed

api/infrastructure.py

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,18 @@
1616
import pathlib
1717
from typing import Any, Dict
1818

19-
import cdk_chalice
19+
import aws_cdk as cdk
20+
import chalice.cdk
21+
from aws_cdk import aws_dynamodb as dynamodb
2022
from aws_cdk import aws_iam as iam
21-
from aws_cdk import core as cdk
23+
from aws_cdk import aws_sam as sam
24+
from constructs import Construct
2225

2326

24-
class API(cdk.Construct):
27+
class API(Construct):
2528
def __init__(
2629
self,
27-
scope: cdk.Construct,
30+
scope: Construct,
2831
id_: str,
2932
*,
3033
dynamodb_table_name: str,
@@ -47,14 +50,14 @@ def __init__(
4750
self.handler_role, dynamodb_table_name, lambda_reserved_concurrency
4851
)
4952
source_dir = pathlib.Path(__file__).resolve().parent.joinpath("runtime")
50-
chalice = cdk_chalice.Chalice(
53+
chalice = chalice.cdk.Chalice(
5154
self,
5255
"Chalice",
5356
source_dir=str(source_dir),
5457
stage_config=stage_config,
5558
)
56-
self.rest_api = chalice.sam_template.get_resource("RestAPI")
57-
self.endpoint_url: cdk.CfnOutput = chalice.sam_template.get_output(
59+
self.rest_api: sam.CfnApi = chalice.get_resource("RestAPI")
60+
self.endpoint_url: cdk.CfnOutput = chalice.get_output(
5861
"EndpointURL"
5962
)
6063

api/runtime/requirements.txt

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,33 +8,35 @@ attrs==21.4.0
88
# via chalice
99
blessed==1.19.1
1010
# via inquirer
11-
boto3==1.24.74
11+
boto3==1.24.37
1212
# via -r api/runtime/requirements.in
13-
botocore==1.27.74
13+
botocore==1.27.37
1414
# via
1515
# boto3
1616
# chalice
1717
# s3transfer
18-
chalice==1.27.3
18+
chalice==1.27.1
1919
# via -r api/runtime/requirements.in
2020
click==8.1.3
2121
# via chalice
22-
importlib-metadata==4.2.0
22+
importlib-metadata==4.12.0
2323
# via click
24-
inquirer==2.10.0
24+
inquirer==2.9.2
2525
# via chalice
2626
jmespath==1.0.1
2727
# via
2828
# boto3
2929
# botocore
3030
# chalice
31+
mypy-extensions==0.4.3
32+
# via chalice
3133
python-dateutil==2.8.2
3234
# via botocore
3335
python-editor==1.0.4
3436
# via inquirer
3537
pyyaml==6.0
3638
# via chalice
37-
readchar==4.0.3
39+
readchar==3.1.0
3840
# via inquirer
3941
s3transfer==0.6.0
4042
# via boto3
@@ -44,10 +46,8 @@ six==1.16.0
4446
# chalice
4547
# python-dateutil
4648
typing-extensions==4.3.0
47-
# via
48-
# chalice
49-
# importlib-metadata
50-
urllib3==1.26.12
49+
# via importlib-metadata
50+
urllib3==1.26.11
5151
# via botocore
5252
wcwidth==0.2.5
5353
# via blessed

app.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515

1616
import os
1717

18+
import aws_cdk as cdk
1819
from aws_cdk import aws_dynamodb as dynamodb
19-
from aws_cdk import core as cdk
2020

2121
import constants
2222
from component import UserManagementBackend

cdk.context.json

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,2 @@
11
{
2-
"@aws-cdk/core:enableStackNameDuplicates": "true",
3-
"@aws-cdk/core:newStyleStackSynthesis": "true",
4-
"acknowledged-issue-numbers": [
5-
19836
6-
]
72
}

component.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,9 @@
1515

1616
from typing import Any
1717

18+
import aws_cdk as cdk
1819
from aws_cdk import aws_dynamodb as dynamodb
19-
from aws_cdk import core as cdk
20+
from constructs import Construct
2021

2122
from api.infrastructure import API
2223
from database.infrastructure import Database
@@ -26,7 +27,7 @@
2627
class UserManagementBackend(cdk.Stack):
2728
def __init__(
2829
self,
29-
scope: cdk.Construct,
30+
scope: Construct,
3031
id_: str,
3132
*,
3233
database_dynamodb_billing_mode: dynamodb.BillingMode,

database/infrastructure.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,18 @@
1313
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
1414
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1515

16+
import aws_cdk as cdk
1617
from aws_cdk import aws_dynamodb as dynamodb
17-
from aws_cdk import core as cdk
18+
from constructs import Construct
1819

1920

20-
class Database(cdk.Construct):
21+
class Database(Construct):
2122
def __init__(
2223
self,
23-
scope: cdk.Construct,
24+
scope: Construct,
2425
id_: str,
2526
*,
26-
dynamodb_billing_mode: dynamodb.BillingMode
27+
dynamodb_billing_mode: dynamodb.BillingMode,
2728
):
2829
super().__init__(scope, id_)
2930

monitoring/infrastructure.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,17 @@
1313
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
1414
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1515

16+
import aws_cdk as cdk
1617
from aws_cdk import aws_cloudwatch as cloudwatch
1718
from aws_cdk import aws_sam as sam
18-
from aws_cdk import core as cdk
19+
from constructs import Construct
1920

2021
from api.infrastructure import API
2122
from database.infrastructure import Database
2223

2324

24-
class Monitoring(cdk.Construct):
25-
def __init__(self, scope: cdk.Construct, id_: str, *, database: Database, api: API):
25+
class Monitoring(Construct):
26+
def __init__(self, scope: Construct, id_: str, *, database: Database, api: API):
2627
super().__init__(scope, id_)
2728

2829
apigateway: sam.CfnApi = api.rest_api

package-lock.json

Lines changed: 7 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
22
"devDependencies": {
3-
"aws-cdk": "1.172.0"
3+
"aws-cdk": "2.33.0"
44
}
55
}

requirements-dev.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
bandit
33
black
44
coverage
5-
flake8
5+
flake8~=3.9
66
isort
77
mypy
88
pylint

requirements-dev.txt

Lines changed: 26 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -4,46 +4,40 @@
44
#
55
# pip-compile requirements-dev.in
66
#
7-
astroid==2.12.9
7+
astroid==2.11.7
88
# via pylint
99
bandit==1.7.4
1010
# via -r requirements-dev.in
11-
black==22.8.0
11+
black==22.6.0
1212
# via -r requirements-dev.in
13-
certifi==2022.9.14
14-
# via
15-
# -c requirements.txt
16-
# requests
17-
charset-normalizer==2.1.1
18-
# via
19-
# -c requirements.txt
20-
# requests
13+
certifi==2022.6.15
14+
# via requests
15+
charset-normalizer==2.1.0
16+
# via requests
2117
click==8.1.3
2218
# via
2319
# -c requirements.txt
2420
# black
2521
# safety
2622
colorama==0.4.5
2723
# via radon
28-
coverage==6.4.4
24+
coverage==6.4.2
2925
# via -r requirements-dev.in
3026
dill==0.3.5.1
3127
# via pylint
32-
dparse==0.6.0
28+
dparse==0.5.1
3329
# via safety
34-
flake8==5.0.4
30+
flake8==3.9.2
3531
# via -r requirements-dev.in
3632
future==0.18.2
3733
# via radon
3834
gitdb==4.0.9
3935
# via gitpython
4036
gitpython==3.1.27
4137
# via bandit
42-
idna==3.4
43-
# via
44-
# -c requirements.txt
45-
# requests
46-
importlib-metadata==4.2.0
38+
idna==3.3
39+
# via requests
40+
importlib-metadata==4.12.0
4741
# via
4842
# -c requirements.txt
4943
# click
@@ -57,57 +51,55 @@ lazy-object-proxy==1.7.1
5751
# via astroid
5852
mando==0.6.4
5953
# via radon
60-
mccabe==0.7.0
54+
mccabe==0.6.1
6155
# via
6256
# flake8
6357
# pylint
6458
mypy==0.971
6559
# via -r requirements-dev.in
6660
mypy-extensions==0.4.3
6761
# via
62+
# -c requirements.txt
6863
# black
6964
# mypy
7065
packaging==21.3
7166
# via
72-
# -c requirements.txt
7367
# dparse
7468
# safety
75-
pathspec==0.10.1
69+
pathspec==0.9.0
7670
# via black
77-
pbr==5.10.0
71+
pbr==5.9.0
7872
# via stevedore
7973
platformdirs==2.5.2
8074
# via
8175
# black
8276
# pylint
83-
pycodestyle==2.9.1
77+
pycodestyle==2.7.0
8478
# via flake8
85-
pyflakes==2.5.0
79+
pyflakes==2.3.1
8680
# via flake8
87-
pylint==2.15.2
81+
pylint==2.14.5
8882
# via -r requirements-dev.in
8983
pyparsing==3.0.9
90-
# via
91-
# -c requirements.txt
92-
# packaging
84+
# via packaging
9385
pyyaml==6.0
9486
# via
9587
# -c requirements.txt
9688
# bandit
89+
# dparse
9790
# xenon
9891
radon==5.1.0
9992
# via
10093
# -r requirements-dev.in
10194
# xenon
10295
requests==2.28.1
10396
# via
104-
# -c requirements.txt
10597
# safety
10698
# xenon
107-
ruamel.yaml==0.17.21
99+
ruamel-yaml==0.17.21
108100
# via safety
109-
ruamel.yaml.clib==0.2.6
110-
# via ruamel.yaml
101+
ruamel-yaml-clib==0.2.6
102+
# via ruamel-yaml
111103
safety==2.1.1
112104
# via -r requirements-dev.in
113105
six==1.16.0
@@ -125,7 +117,7 @@ tomli==2.0.1
125117
# black
126118
# mypy
127119
# pylint
128-
tomlkit==0.11.4
120+
tomlkit==0.11.1
129121
# via pylint
130122
typed-ast==1.5.4
131123
# via
@@ -141,7 +133,7 @@ typing-extensions==4.3.0
141133
# importlib-metadata
142134
# mypy
143135
# pylint
144-
urllib3==1.26.12
136+
urllib3==1.26.11
145137
# via
146138
# -c requirements.txt
147139
# requests

requirements.in

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
-c api/runtime/requirements.txt
2-
aws_cdk.aws_dynamodb
3-
aws_cdk.pipelines
4-
aws_cdk.core
5-
cdk-chalice
2+
aws-cdk-lib
3+
chalice[cdkv2]
4+
constructs

0 commit comments

Comments
 (0)