aws-cdk-lib 2.137.0__py3-none-any.whl → 2.139.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of aws-cdk-lib might be problematic. Click here for more details.

Files changed (73) hide show
  1. aws_cdk/__init__.py +8 -0
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.137.0.jsii.tgz → aws-cdk-lib@2.139.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_amplify/__init__.py +29 -113
  5. aws_cdk/aws_apigateway/__init__.py +29 -16
  6. aws_cdk/aws_appconfig/__init__.py +315 -77
  7. aws_cdk/aws_appintegrations/__init__.py +55 -6
  8. aws_cdk/aws_apprunner/__init__.py +5 -2
  9. aws_cdk/aws_appsync/__init__.py +400 -13
  10. aws_cdk/aws_aps/__init__.py +64 -47
  11. aws_cdk/aws_autoscaling/__init__.py +62 -60
  12. aws_cdk/aws_b2bi/__init__.py +2 -6
  13. aws_cdk/aws_backup/__init__.py +53 -57
  14. aws_cdk/aws_batch/__init__.py +109 -0
  15. aws_cdk/aws_bcmdataexports/__init__.py +1114 -0
  16. aws_cdk/aws_bedrock/__init__.py +4144 -0
  17. aws_cdk/aws_chatbot/__init__.py +6 -4
  18. aws_cdk/aws_cleanrooms/__init__.py +526 -3
  19. aws_cdk/aws_cleanroomsml/__init__.py +960 -0
  20. aws_cdk/aws_cloudtrail/__init__.py +10 -10
  21. aws_cdk/aws_cloudwatch/__init__.py +244 -8
  22. aws_cdk/aws_codebuild/__init__.py +27 -22
  23. aws_cdk/aws_codeconnections/__init__.py +435 -0
  24. aws_cdk/aws_cognito/__init__.py +175 -79
  25. aws_cdk/aws_datazone/__init__.py +22 -0
  26. aws_cdk/aws_deadline/__init__.py +5394 -0
  27. aws_cdk/aws_dms/__init__.py +2 -4
  28. aws_cdk/aws_ec2/__init__.py +402 -247
  29. aws_cdk/aws_ecr/__init__.py +630 -0
  30. aws_cdk/aws_ecs/__init__.py +361 -20
  31. aws_cdk/aws_efs/__init__.py +594 -2
  32. aws_cdk/aws_elasticache/__init__.py +86 -32
  33. aws_cdk/aws_elasticloadbalancingv2/__init__.py +75 -10
  34. aws_cdk/aws_emr/__init__.py +2 -2
  35. aws_cdk/aws_entityresolution/__init__.py +1982 -773
  36. aws_cdk/aws_events_targets/__init__.py +17 -4
  37. aws_cdk/aws_globalaccelerator/__init__.py +443 -0
  38. aws_cdk/aws_iam/__init__.py +1 -2
  39. aws_cdk/aws_internetmonitor/__init__.py +14 -6
  40. aws_cdk/aws_ivs/__init__.py +1273 -71
  41. aws_cdk/aws_kms/__init__.py +44 -0
  42. aws_cdk/aws_lambda/__init__.py +9 -0
  43. aws_cdk/aws_mediatailor/__init__.py +41 -0
  44. aws_cdk/aws_oam/__init__.py +204 -0
  45. aws_cdk/aws_personalize/__init__.py +8 -6
  46. aws_cdk/aws_pinpoint/__init__.py +5 -3
  47. aws_cdk/aws_pipes/__init__.py +5 -1
  48. aws_cdk/aws_quicksight/__init__.py +12 -6
  49. aws_cdk/aws_rds/__init__.py +370 -96
  50. aws_cdk/aws_redshiftserverless/__init__.py +157 -0
  51. aws_cdk/aws_route53/__init__.py +587 -14
  52. aws_cdk/aws_sagemaker/__init__.py +233 -2
  53. aws_cdk/aws_securityhub/__init__.py +4940 -102
  54. aws_cdk/aws_securitylake/__init__.py +1326 -89
  55. aws_cdk/aws_ses_actions/__init__.py +155 -0
  56. aws_cdk/aws_sns/__init__.py +61 -4
  57. aws_cdk/aws_ssm/__init__.py +5 -2
  58. aws_cdk/aws_ssmcontacts/__init__.py +11 -4
  59. aws_cdk/aws_stepfunctions/__init__.py +8 -16
  60. aws_cdk/aws_stepfunctions_tasks/__init__.py +676 -1
  61. aws_cdk/aws_timestream/__init__.py +1045 -0
  62. aws_cdk/aws_transfer/__init__.py +19 -10
  63. aws_cdk/aws_verifiedpermissions/__init__.py +114 -37
  64. aws_cdk/aws_wisdom/__init__.py +2 -2
  65. aws_cdk/aws_workspacesthinclient/__init__.py +8 -8
  66. aws_cdk/custom_resources/__init__.py +688 -26
  67. aws_cdk/cx_api/__init__.py +17 -0
  68. {aws_cdk_lib-2.137.0.dist-info → aws_cdk_lib-2.139.0.dist-info}/METADATA +3 -3
  69. {aws_cdk_lib-2.137.0.dist-info → aws_cdk_lib-2.139.0.dist-info}/RECORD +73 -69
  70. {aws_cdk_lib-2.137.0.dist-info → aws_cdk_lib-2.139.0.dist-info}/LICENSE +0 -0
  71. {aws_cdk_lib-2.137.0.dist-info → aws_cdk_lib-2.139.0.dist-info}/NOTICE +0 -0
  72. {aws_cdk_lib-2.137.0.dist-info → aws_cdk_lib-2.139.0.dist-info}/WHEEL +0 -0
  73. {aws_cdk_lib-2.137.0.dist-info → aws_cdk_lib-2.139.0.dist-info}/top_level.txt +0 -0
@@ -91,6 +91,8 @@ AppSync provides a data source for executing SQL commands against Amazon Aurora
91
91
  Serverless clusters. You can use AppSync resolvers to execute SQL statements
92
92
  against the Data API with GraphQL queries, mutations, and subscriptions.
93
93
 
94
+ #### Aurora Serverless V1 Cluster
95
+
94
96
  ```python
95
97
  # Build a data source for AppSync to access the database.
96
98
  # api: appsync.GraphqlApi
@@ -152,6 +154,73 @@ rds_dS.create_resolver("MutationAddDemoRdsResolver",
152
154
  )
153
155
  ```
154
156
 
157
+ #### Aurora Serverless V2 Cluster
158
+
159
+ ```python
160
+ # Build a data source for AppSync to access the database.
161
+ # api: appsync.GraphqlApi
162
+ # Create username and password secret for DB Cluster
163
+ secret = rds.DatabaseSecret(self, "AuroraSecret",
164
+ username="clusteradmin"
165
+ )
166
+
167
+ # The VPC to place the cluster in
168
+ vpc = ec2.Vpc(self, "AuroraVpc")
169
+
170
+ # Create the serverless cluster, provide all values needed to customise the database.
171
+ cluster = rds.DatabaseCluster(self, "AuroraClusterV2",
172
+ engine=rds.DatabaseClusterEngine.aurora_postgres(version=rds.AuroraPostgresEngineVersion.VER_15_5),
173
+ credentials={"username": "clusteradmin"},
174
+ cluster_identifier="db-endpoint-test",
175
+ writer=rds.ClusterInstance.serverless_v2("writer"),
176
+ serverless_v2_min_capacity=2,
177
+ serverless_v2_max_capacity=10,
178
+ vpc=vpc,
179
+ default_database_name="demos",
180
+ enable_data_api=True
181
+ )
182
+ rds_dS = api.add_rds_data_source_v2("rds", cluster, secret, "demos")
183
+
184
+ # Set up a resolver for an RDS query.
185
+ rds_dS.create_resolver("QueryGetDemosRdsResolver",
186
+ type_name="Query",
187
+ field_name="getDemosRds",
188
+ request_mapping_template=appsync.MappingTemplate.from_string("""
189
+ {
190
+ "version": "2018-05-29",
191
+ "statements": [
192
+ "SELECT * FROM demos"
193
+ ]
194
+ }
195
+ """),
196
+ response_mapping_template=appsync.MappingTemplate.from_string("""
197
+ $utils.toJson($utils.rds.toJsonObject($ctx.result)[0])
198
+ """)
199
+ )
200
+
201
+ # Set up a resolver for an RDS mutation.
202
+ rds_dS.create_resolver("MutationAddDemoRdsResolver",
203
+ type_name="Mutation",
204
+ field_name="addDemoRds",
205
+ request_mapping_template=appsync.MappingTemplate.from_string("""
206
+ {
207
+ "version": "2018-05-29",
208
+ "statements": [
209
+ "INSERT INTO demos VALUES (:id, :version)",
210
+ "SELECT * WHERE id = :id"
211
+ ],
212
+ "variableMap": {
213
+ ":id": $util.toJson($util.autoId()),
214
+ ":version": $util.toJson($ctx.args.version)
215
+ }
216
+ }
217
+ """),
218
+ response_mapping_template=appsync.MappingTemplate.from_string("""
219
+ $utils.toJson($utils.rds.toJsonObject($ctx.result)[1][0])
220
+ """)
221
+ )
222
+ ```
223
+
155
224
  ### HTTP Endpoints
156
225
 
157
226
  GraphQL schema file `schema.graphql`:
@@ -854,7 +923,10 @@ from ..aws_logs import (
854
923
  ILogGroup as _ILogGroup_3c4fa718, RetentionDays as _RetentionDays_070f99f0
855
924
  )
856
925
  from ..aws_opensearchservice import IDomain as _IDomain_3c13cbdd
857
- from ..aws_rds import IServerlessCluster as _IServerlessCluster_adbbb720
926
+ from ..aws_rds import (
927
+ IDatabaseCluster as _IDatabaseCluster_6554c32b,
928
+ IServerlessCluster as _IServerlessCluster_adbbb720,
929
+ )
858
930
  from ..aws_s3_assets import AssetOptions as _AssetOptions_2aa69621
859
931
  from ..aws_secretsmanager import ISecret as _ISecret_6e020e6a
860
932
 
@@ -11406,6 +11478,28 @@ class IGraphqlApi(_IResource_c80c4260, typing_extensions.Protocol):
11406
11478
  '''
11407
11479
  ...
11408
11480
 
11481
+ @jsii.member(jsii_name="addRdsDataSourceV2")
11482
+ def add_rds_data_source_v2(
11483
+ self,
11484
+ id: builtins.str,
11485
+ serverless_cluster: _IDatabaseCluster_6554c32b,
11486
+ secret_store: _ISecret_6e020e6a,
11487
+ database_name: typing.Optional[builtins.str] = None,
11488
+ *,
11489
+ description: typing.Optional[builtins.str] = None,
11490
+ name: typing.Optional[builtins.str] = None,
11491
+ ) -> "RdsDataSource":
11492
+ '''add a new Rds Serverless V2 data source to this API.
11493
+
11494
+ :param id: The data source's id.
11495
+ :param serverless_cluster: The serverless V2 cluster to interact with this data source.
11496
+ :param secret_store: The secret store that contains the username and password for the serverless cluster.
11497
+ :param database_name: The optional name of the database to use within the cluster.
11498
+ :param description: The description of the data source. Default: - No description
11499
+ :param name: The name of the data source, overrides the id given by cdk. Default: - generated by cdk given the id
11500
+ '''
11501
+ ...
11502
+
11409
11503
  @jsii.member(jsii_name="addSchemaDependency")
11410
11504
  def add_schema_dependency(self, construct: _CfnResource_9df397a6) -> builtins.bool:
11411
11505
  '''Add schema dependency if not imported.
@@ -11734,6 +11828,36 @@ class _IGraphqlApiProxy(
11734
11828
 
11735
11829
  return typing.cast("RdsDataSource", jsii.invoke(self, "addRdsDataSource", [id, serverless_cluster, secret_store, database_name, options]))
11736
11830
 
11831
+ @jsii.member(jsii_name="addRdsDataSourceV2")
11832
+ def add_rds_data_source_v2(
11833
+ self,
11834
+ id: builtins.str,
11835
+ serverless_cluster: _IDatabaseCluster_6554c32b,
11836
+ secret_store: _ISecret_6e020e6a,
11837
+ database_name: typing.Optional[builtins.str] = None,
11838
+ *,
11839
+ description: typing.Optional[builtins.str] = None,
11840
+ name: typing.Optional[builtins.str] = None,
11841
+ ) -> "RdsDataSource":
11842
+ '''add a new Rds Serverless V2 data source to this API.
11843
+
11844
+ :param id: The data source's id.
11845
+ :param serverless_cluster: The serverless V2 cluster to interact with this data source.
11846
+ :param secret_store: The secret store that contains the username and password for the serverless cluster.
11847
+ :param database_name: The optional name of the database to use within the cluster.
11848
+ :param description: The description of the data source. Default: - No description
11849
+ :param name: The name of the data source, overrides the id given by cdk. Default: - generated by cdk given the id
11850
+ '''
11851
+ if __debug__:
11852
+ type_hints = typing.get_type_hints(_typecheckingstub__61bc6fb619aeb960346b149372d6f08ad695a7fb87cd5ad9ed2cbcb5146b60f3)
11853
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
11854
+ check_type(argname="argument serverless_cluster", value=serverless_cluster, expected_type=type_hints["serverless_cluster"])
11855
+ check_type(argname="argument secret_store", value=secret_store, expected_type=type_hints["secret_store"])
11856
+ check_type(argname="argument database_name", value=database_name, expected_type=type_hints["database_name"])
11857
+ options = DataSourceOptions(description=description, name=name)
11858
+
11859
+ return typing.cast("RdsDataSource", jsii.invoke(self, "addRdsDataSourceV2", [id, serverless_cluster, secret_store, database_name, options]))
11860
+
11737
11861
  @jsii.member(jsii_name="addSchemaDependency")
11738
11862
  def add_schema_dependency(self, construct: _CfnResource_9df397a6) -> builtins.bool:
11739
11863
  '''Add schema dependency if not imported.
@@ -12531,23 +12655,63 @@ class MappingTemplate(
12531
12655
 
12532
12656
  Example::
12533
12657
 
12534
- import aws_cdk.aws_events as events
12658
+ # Build a data source for AppSync to access the database.
12659
+ # api: appsync.GraphqlApi
12660
+ # Create username and password secret for DB Cluster
12661
+ secret = rds.DatabaseSecret(self, "AuroraSecret",
12662
+ username="clusteradmin"
12663
+ )
12535
12664
 
12665
+ # The VPC to place the cluster in
12666
+ vpc = ec2.Vpc(self, "AuroraVpc")
12536
12667
 
12537
- api = appsync.GraphqlApi(self, "EventBridgeApi",
12538
- name="EventBridgeApi",
12539
- definition=appsync.Definition.from_file(path.join(__dirname, "appsync.eventbridge.graphql"))
12668
+ # Create the serverless cluster, provide all values needed to customise the database.
12669
+ cluster = rds.ServerlessCluster(self, "AuroraCluster",
12670
+ engine=rds.DatabaseClusterEngine.AURORA_MYSQL,
12671
+ vpc=vpc,
12672
+ credentials={"username": "clusteradmin"},
12673
+ cluster_identifier="db-endpoint-test",
12674
+ default_database_name="demos"
12540
12675
  )
12676
+ rds_dS = api.add_rds_data_source("rds", cluster, secret, "demos")
12541
12677
 
12542
- bus = events.EventBus(self, "DestinationEventBus")
12543
-
12544
- data_source = api.add_event_bridge_data_source("NoneDS", bus)
12678
+ # Set up a resolver for an RDS query.
12679
+ rds_dS.create_resolver("QueryGetDemosRdsResolver",
12680
+ type_name="Query",
12681
+ field_name="getDemosRds",
12682
+ request_mapping_template=appsync.MappingTemplate.from_string("""
12683
+ {
12684
+ "version": "2018-05-29",
12685
+ "statements": [
12686
+ "SELECT * FROM demos"
12687
+ ]
12688
+ }
12689
+ """),
12690
+ response_mapping_template=appsync.MappingTemplate.from_string("""
12691
+ $utils.toJson($utils.rds.toJsonObject($ctx.result)[0])
12692
+ """)
12693
+ )
12545
12694
 
12546
- data_source.create_resolver("EventResolver",
12695
+ # Set up a resolver for an RDS mutation.
12696
+ rds_dS.create_resolver("MutationAddDemoRdsResolver",
12547
12697
  type_name="Mutation",
12548
- field_name="emitEvent",
12549
- request_mapping_template=appsync.MappingTemplate.from_file("request.vtl"),
12550
- response_mapping_template=appsync.MappingTemplate.from_file("response.vtl")
12698
+ field_name="addDemoRds",
12699
+ request_mapping_template=appsync.MappingTemplate.from_string("""
12700
+ {
12701
+ "version": "2018-05-29",
12702
+ "statements": [
12703
+ "INSERT INTO demos VALUES (:id, :version)",
12704
+ "SELECT * WHERE id = :id"
12705
+ ],
12706
+ "variableMap": {
12707
+ ":id": $util.toJson($util.autoId()),
12708
+ ":version": $util.toJson($ctx.args.version)
12709
+ }
12710
+ }
12711
+ """),
12712
+ response_mapping_template=appsync.MappingTemplate.from_string("""
12713
+ $utils.toJson($utils.rds.toJsonObject($ctx.result)[1][0])
12714
+ """)
12551
12715
  )
12552
12716
  '''
12553
12717
 
@@ -15998,6 +16162,36 @@ class GraphqlApiBase(
15998
16162
 
15999
16163
  return typing.cast("RdsDataSource", jsii.invoke(self, "addRdsDataSource", [id, serverless_cluster, secret_store, database_name, options]))
16000
16164
 
16165
+ @jsii.member(jsii_name="addRdsDataSourceV2")
16166
+ def add_rds_data_source_v2(
16167
+ self,
16168
+ id: builtins.str,
16169
+ serverless_cluster: _IDatabaseCluster_6554c32b,
16170
+ secret_store: _ISecret_6e020e6a,
16171
+ database_name: typing.Optional[builtins.str] = None,
16172
+ *,
16173
+ description: typing.Optional[builtins.str] = None,
16174
+ name: typing.Optional[builtins.str] = None,
16175
+ ) -> "RdsDataSource":
16176
+ '''add a new Rds data source to this API.
16177
+
16178
+ :param id: The data source's id.
16179
+ :param serverless_cluster: The serverless V2 cluster to interact with this data source.
16180
+ :param secret_store: The secret store that contains the username and password for the serverless cluster.
16181
+ :param database_name: The optional name of the database to use within the cluster.
16182
+ :param description: The description of the data source. Default: - No description
16183
+ :param name: The name of the data source, overrides the id given by cdk. Default: - generated by cdk given the id
16184
+ '''
16185
+ if __debug__:
16186
+ type_hints = typing.get_type_hints(_typecheckingstub__0d4d8935d69e29b6975caad596c95628af13c6b8e33430de6530665203cf5ef8)
16187
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
16188
+ check_type(argname="argument serverless_cluster", value=serverless_cluster, expected_type=type_hints["serverless_cluster"])
16189
+ check_type(argname="argument secret_store", value=secret_store, expected_type=type_hints["secret_store"])
16190
+ check_type(argname="argument database_name", value=database_name, expected_type=type_hints["database_name"])
16191
+ options = DataSourceOptions(description=description, name=name)
16192
+
16193
+ return typing.cast("RdsDataSource", jsii.invoke(self, "addRdsDataSourceV2", [id, serverless_cluster, secret_store, database_name, options]))
16194
+
16001
16195
  @jsii.member(jsii_name="addSchemaDependency")
16002
16196
  def add_schema_dependency(self, construct: _CfnResource_9df397a6) -> builtins.bool:
16003
16197
  '''Add schema dependency if not imported.
@@ -16811,7 +17005,7 @@ class RdsDataSourceProps(BackedDataSourceProps):
16811
17005
  serverless_cluster: _IServerlessCluster_adbbb720,
16812
17006
  database_name: typing.Optional[builtins.str] = None,
16813
17007
  ) -> None:
16814
- '''Properties for an AppSync RDS datasource.
17008
+ '''Properties for an AppSync RDS datasource Aurora Serverless V1.
16815
17009
 
16816
17010
  :param api: The API to attach this data source to.
16817
17011
  :param description: the description of the data source. Default: - None
@@ -16941,6 +17135,161 @@ class RdsDataSourceProps(BackedDataSourceProps):
16941
17135
  )
16942
17136
 
16943
17137
 
17138
+ @jsii.data_type(
17139
+ jsii_type="aws-cdk-lib.aws_appsync.RdsDataSourcePropsV2",
17140
+ jsii_struct_bases=[BackedDataSourceProps],
17141
+ name_mapping={
17142
+ "api": "api",
17143
+ "description": "description",
17144
+ "name": "name",
17145
+ "service_role": "serviceRole",
17146
+ "secret_store": "secretStore",
17147
+ "serverless_cluster": "serverlessCluster",
17148
+ "database_name": "databaseName",
17149
+ },
17150
+ )
17151
+ class RdsDataSourcePropsV2(BackedDataSourceProps):
17152
+ def __init__(
17153
+ self,
17154
+ *,
17155
+ api: IGraphqlApi,
17156
+ description: typing.Optional[builtins.str] = None,
17157
+ name: typing.Optional[builtins.str] = None,
17158
+ service_role: typing.Optional[_IRole_235f5d8e] = None,
17159
+ secret_store: _ISecret_6e020e6a,
17160
+ serverless_cluster: _IDatabaseCluster_6554c32b,
17161
+ database_name: typing.Optional[builtins.str] = None,
17162
+ ) -> None:
17163
+ '''Properties for an AppSync RDS datasource Aurora Serverless V2.
17164
+
17165
+ :param api: The API to attach this data source to.
17166
+ :param description: the description of the data source. Default: - None
17167
+ :param name: The name of the data source. Default: - id of data source
17168
+ :param service_role: The IAM service role to be assumed by AppSync to interact with the data source. Default: - Create a new role
17169
+ :param secret_store: The secret containing the credentials for the database.
17170
+ :param serverless_cluster: The serverless cluster to call to interact with this data source.
17171
+ :param database_name: The name of the database to use within the cluster. Default: - None
17172
+
17173
+ :exampleMetadata: fixture=_generated
17174
+
17175
+ Example::
17176
+
17177
+ # The code below shows an example of how to instantiate this type.
17178
+ # The values are placeholders you should change.
17179
+ from aws_cdk import aws_appsync as appsync
17180
+ from aws_cdk import aws_iam as iam
17181
+ from aws_cdk import aws_rds as rds
17182
+ from aws_cdk import aws_secretsmanager as secretsmanager
17183
+
17184
+ # database_cluster: rds.DatabaseCluster
17185
+ # graphql_api: appsync.GraphqlApi
17186
+ # role: iam.Role
17187
+ # secret: secretsmanager.Secret
17188
+
17189
+ rds_data_source_props_v2 = appsync.RdsDataSourcePropsV2(
17190
+ api=graphql_api,
17191
+ secret_store=secret,
17192
+ serverless_cluster=database_cluster,
17193
+
17194
+ # the properties below are optional
17195
+ database_name="databaseName",
17196
+ description="description",
17197
+ name="name",
17198
+ service_role=role
17199
+ )
17200
+ '''
17201
+ if __debug__:
17202
+ type_hints = typing.get_type_hints(_typecheckingstub__2a4c5dd27ab94dcef9db42bba97fd0abc5e49c989bce0ba0ca35793d1db20a70)
17203
+ check_type(argname="argument api", value=api, expected_type=type_hints["api"])
17204
+ check_type(argname="argument description", value=description, expected_type=type_hints["description"])
17205
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
17206
+ check_type(argname="argument service_role", value=service_role, expected_type=type_hints["service_role"])
17207
+ check_type(argname="argument secret_store", value=secret_store, expected_type=type_hints["secret_store"])
17208
+ check_type(argname="argument serverless_cluster", value=serverless_cluster, expected_type=type_hints["serverless_cluster"])
17209
+ check_type(argname="argument database_name", value=database_name, expected_type=type_hints["database_name"])
17210
+ self._values: typing.Dict[builtins.str, typing.Any] = {
17211
+ "api": api,
17212
+ "secret_store": secret_store,
17213
+ "serverless_cluster": serverless_cluster,
17214
+ }
17215
+ if description is not None:
17216
+ self._values["description"] = description
17217
+ if name is not None:
17218
+ self._values["name"] = name
17219
+ if service_role is not None:
17220
+ self._values["service_role"] = service_role
17221
+ if database_name is not None:
17222
+ self._values["database_name"] = database_name
17223
+
17224
+ @builtins.property
17225
+ def api(self) -> IGraphqlApi:
17226
+ '''The API to attach this data source to.'''
17227
+ result = self._values.get("api")
17228
+ assert result is not None, "Required property 'api' is missing"
17229
+ return typing.cast(IGraphqlApi, result)
17230
+
17231
+ @builtins.property
17232
+ def description(self) -> typing.Optional[builtins.str]:
17233
+ '''the description of the data source.
17234
+
17235
+ :default: - None
17236
+ '''
17237
+ result = self._values.get("description")
17238
+ return typing.cast(typing.Optional[builtins.str], result)
17239
+
17240
+ @builtins.property
17241
+ def name(self) -> typing.Optional[builtins.str]:
17242
+ '''The name of the data source.
17243
+
17244
+ :default: - id of data source
17245
+ '''
17246
+ result = self._values.get("name")
17247
+ return typing.cast(typing.Optional[builtins.str], result)
17248
+
17249
+ @builtins.property
17250
+ def service_role(self) -> typing.Optional[_IRole_235f5d8e]:
17251
+ '''The IAM service role to be assumed by AppSync to interact with the data source.
17252
+
17253
+ :default: - Create a new role
17254
+ '''
17255
+ result = self._values.get("service_role")
17256
+ return typing.cast(typing.Optional[_IRole_235f5d8e], result)
17257
+
17258
+ @builtins.property
17259
+ def secret_store(self) -> _ISecret_6e020e6a:
17260
+ '''The secret containing the credentials for the database.'''
17261
+ result = self._values.get("secret_store")
17262
+ assert result is not None, "Required property 'secret_store' is missing"
17263
+ return typing.cast(_ISecret_6e020e6a, result)
17264
+
17265
+ @builtins.property
17266
+ def serverless_cluster(self) -> _IDatabaseCluster_6554c32b:
17267
+ '''The serverless cluster to call to interact with this data source.'''
17268
+ result = self._values.get("serverless_cluster")
17269
+ assert result is not None, "Required property 'serverless_cluster' is missing"
17270
+ return typing.cast(_IDatabaseCluster_6554c32b, result)
17271
+
17272
+ @builtins.property
17273
+ def database_name(self) -> typing.Optional[builtins.str]:
17274
+ '''The name of the database to use within the cluster.
17275
+
17276
+ :default: - None
17277
+ '''
17278
+ result = self._values.get("database_name")
17279
+ return typing.cast(typing.Optional[builtins.str], result)
17280
+
17281
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
17282
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
17283
+
17284
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
17285
+ return not (rhs == self)
17286
+
17287
+ def __repr__(self) -> str:
17288
+ return "RdsDataSourcePropsV2(%s)" % ", ".join(
17289
+ k + "=" + repr(v) for k, v in self._values.items()
17290
+ )
17291
+
17292
+
16944
17293
  class GraphqlApi(
16945
17294
  GraphqlApiBase,
16946
17295
  metaclass=jsii.JSIIMeta,
@@ -17228,6 +17577,7 @@ __all__ = [
17228
17577
  "PrimaryKey",
17229
17578
  "RdsDataSource",
17230
17579
  "RdsDataSourceProps",
17580
+ "RdsDataSourcePropsV2",
17231
17581
  "Resolver",
17232
17582
  "ResolverProps",
17233
17583
  "RuntimeConfig",
@@ -18822,6 +19172,18 @@ def _typecheckingstub__00411b1875c06ea0450c7cb3f4f4dbd07f2f28986d7180e3a06f5ea23
18822
19172
  """Type checking stubs"""
18823
19173
  pass
18824
19174
 
19175
+ def _typecheckingstub__61bc6fb619aeb960346b149372d6f08ad695a7fb87cd5ad9ed2cbcb5146b60f3(
19176
+ id: builtins.str,
19177
+ serverless_cluster: _IDatabaseCluster_6554c32b,
19178
+ secret_store: _ISecret_6e020e6a,
19179
+ database_name: typing.Optional[builtins.str] = None,
19180
+ *,
19181
+ description: typing.Optional[builtins.str] = None,
19182
+ name: typing.Optional[builtins.str] = None,
19183
+ ) -> None:
19184
+ """Type checking stubs"""
19185
+ pass
19186
+
18825
19187
  def _typecheckingstub__7845da8546318a24ccdcc5b7669f4273b997f01e1807a63aae7beabbe99b178b(
18826
19188
  construct: _CfnResource_9df397a6,
18827
19189
  ) -> None:
@@ -19529,6 +19891,18 @@ def _typecheckingstub__5c5e408fa29227d2c0f12593dd86151b649a2b97300fea604c91973af
19529
19891
  """Type checking stubs"""
19530
19892
  pass
19531
19893
 
19894
+ def _typecheckingstub__0d4d8935d69e29b6975caad596c95628af13c6b8e33430de6530665203cf5ef8(
19895
+ id: builtins.str,
19896
+ serverless_cluster: _IDatabaseCluster_6554c32b,
19897
+ secret_store: _ISecret_6e020e6a,
19898
+ database_name: typing.Optional[builtins.str] = None,
19899
+ *,
19900
+ description: typing.Optional[builtins.str] = None,
19901
+ name: typing.Optional[builtins.str] = None,
19902
+ ) -> None:
19903
+ """Type checking stubs"""
19904
+ pass
19905
+
19532
19906
  def _typecheckingstub__d3519600d64431e6297911193398dcc136af3b4dd3ec5511d0601a8cbf274f4c(
19533
19907
  construct: _CfnResource_9df397a6,
19534
19908
  ) -> None:
@@ -19682,6 +20056,19 @@ def _typecheckingstub__c062ac22fbaef687d5273408a83f4b49e1466d504c5d1d22aa7e464c3
19682
20056
  """Type checking stubs"""
19683
20057
  pass
19684
20058
 
20059
+ def _typecheckingstub__2a4c5dd27ab94dcef9db42bba97fd0abc5e49c989bce0ba0ca35793d1db20a70(
20060
+ *,
20061
+ api: IGraphqlApi,
20062
+ description: typing.Optional[builtins.str] = None,
20063
+ name: typing.Optional[builtins.str] = None,
20064
+ service_role: typing.Optional[_IRole_235f5d8e] = None,
20065
+ secret_store: _ISecret_6e020e6a,
20066
+ serverless_cluster: _IDatabaseCluster_6554c32b,
20067
+ database_name: typing.Optional[builtins.str] = None,
20068
+ ) -> None:
20069
+ """Type checking stubs"""
20070
+ pass
20071
+
19685
20072
  def _typecheckingstub__cdc21261f45618890d843fff7978e6e8e4f4cfe7884c4fffbff6b8dad98036d4(
19686
20073
  scope: _constructs_77d1e7e8.Construct,
19687
20074
  id: builtins.str,