aws-cdk-lib 2.178.2__py3-none-any.whl → 2.179.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 (34) hide show
  1. aws_cdk/__init__.py +69 -35
  2. aws_cdk/_jsii/__init__.py +1 -2
  3. aws_cdk/_jsii/{aws-cdk-lib@2.178.2.jsii.tgz → aws-cdk-lib@2.179.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_apigateway/__init__.py +170 -29
  5. aws_cdk/aws_apigatewayv2/__init__.py +151 -32
  6. aws_cdk/aws_apigatewayv2_integrations/__init__.py +348 -0
  7. aws_cdk/aws_applicationautoscaling/__init__.py +8 -8
  8. aws_cdk/aws_appsync/__init__.py +6 -4
  9. aws_cdk/aws_cloudfront/__init__.py +5 -5
  10. aws_cdk/aws_codebuild/__init__.py +216 -0
  11. aws_cdk/aws_codepipeline/__init__.py +89 -28
  12. aws_cdk/aws_codepipeline_actions/__init__.py +526 -62
  13. aws_cdk/aws_cognito/__init__.py +676 -20
  14. aws_cdk/aws_ec2/__init__.py +25 -9
  15. aws_cdk/aws_ecs/__init__.py +8 -8
  16. aws_cdk/aws_eks/__init__.py +555 -179
  17. aws_cdk/aws_elasticloadbalancingv2/__init__.py +99 -0
  18. aws_cdk/aws_events/__init__.py +9 -15
  19. aws_cdk/aws_events_targets/__init__.py +303 -16
  20. aws_cdk/aws_iam/__init__.py +3 -3
  21. aws_cdk/aws_ivs/__init__.py +241 -73
  22. aws_cdk/aws_logs/__init__.py +62 -13
  23. aws_cdk/aws_pinpoint/__init__.py +14 -9
  24. aws_cdk/aws_rds/__init__.py +168 -24
  25. aws_cdk/aws_s3/__init__.py +9 -9
  26. aws_cdk/aws_stepfunctions_tasks/__init__.py +127 -21
  27. aws_cdk/pipelines/__init__.py +2 -2
  28. {aws_cdk_lib-2.178.2.dist-info → aws_cdk_lib-2.179.0.dist-info}/METADATA +1 -2
  29. {aws_cdk_lib-2.178.2.dist-info → aws_cdk_lib-2.179.0.dist-info}/RECORD +33 -34
  30. aws_cdk/lambda_layer_kubectl/__init__.py +0 -107
  31. {aws_cdk_lib-2.178.2.dist-info → aws_cdk_lib-2.179.0.dist-info}/LICENSE +0 -0
  32. {aws_cdk_lib-2.178.2.dist-info → aws_cdk_lib-2.179.0.dist-info}/NOTICE +0 -0
  33. {aws_cdk_lib-2.178.2.dist-info → aws_cdk_lib-2.179.0.dist-info}/WHEEL +0 -0
  34. {aws_cdk_lib-2.178.2.dist-info → aws_cdk_lib-2.179.0.dist-info}/top_level.txt +0 -0
@@ -8,6 +8,7 @@ r'''
8
8
  * [Lambda Integration](#lambda)
9
9
  * [HTTP Proxy Integration](#http-proxy)
10
10
  * [StepFunctions Integration](#stepfunctions-integration)
11
+ * [SQS Integration](#sqs-integration)
11
12
  * [Private Integration](#private-integration)
12
13
  * [Request Parameters](#request-parameters)
13
14
  * [WebSocket APIs](#websocket-apis)
@@ -128,6 +129,91 @@ http_api.add_routes(
128
129
  * The `executionArn` parameter is required for the `STOP_EXECUTION` subtype. It is necessary to specify the `executionArn` in the `parameterMapping` property of the `HttpStepFunctionsIntegration` object.
129
130
  * `START_SYNC_EXECUTION` subtype is only supported for EXPRESS type state machine.
130
131
 
132
+ ### SQS Integration
133
+
134
+ SQS integrations enable integrating an HTTP API route with AWS SQS.
135
+ This allows the HTTP API to send, receive and delete messages from an SQS queue.
136
+
137
+ The following code configures a SQS integrations:
138
+
139
+ ```python
140
+ import aws_cdk.aws_sqs as sqs
141
+ from aws_cdk.aws_apigatewayv2_integrations import HttpSqsIntegration
142
+
143
+ # queue: sqs.IQueue
144
+ # http_api: apigwv2.HttpApi
145
+
146
+
147
+ # default integration (send message)
148
+ http_api.add_routes(
149
+ path="/default",
150
+ methods=[apigwv2.HttpMethod.POST],
151
+ integration=HttpSqsIntegration("defaultIntegration",
152
+ queue=queue
153
+ )
154
+ )
155
+ # send message integration
156
+ http_api.add_routes(
157
+ path="/send-message",
158
+ methods=[apigwv2.HttpMethod.POST],
159
+ integration=HttpSqsIntegration("sendMessageIntegration",
160
+ queue=queue,
161
+ subtype=apigwv2.HttpIntegrationSubtype.SQS_SEND_MESSAGE
162
+ )
163
+ )
164
+ # receive message integration
165
+ http_api.add_routes(
166
+ path="/receive-message",
167
+ methods=[apigwv2.HttpMethod.POST],
168
+ integration=HttpSqsIntegration("receiveMessageIntegration",
169
+ queue=queue,
170
+ subtype=apigwv2.HttpIntegrationSubtype.SQS_RECEIVE_MESSAGE
171
+ )
172
+ )
173
+ # delete message integration
174
+ http_api.add_routes(
175
+ path="/delete-message",
176
+ methods=[apigwv2.HttpMethod.POST],
177
+ integration=HttpSqsIntegration("deleteMessageIntegration",
178
+ queue=queue,
179
+ subtype=apigwv2.HttpIntegrationSubtype.SQS_DELETE_MESSAGE
180
+ )
181
+ )
182
+ # purge queue integration
183
+ http_api.add_routes(
184
+ path="/purge-queue",
185
+ methods=[apigwv2.HttpMethod.POST],
186
+ integration=HttpSqsIntegration("purgeQueueIntegration",
187
+ queue=queue,
188
+ subtype=apigwv2.HttpIntegrationSubtype.SQS_PURGE_QUEUE
189
+ )
190
+ )
191
+ ```
192
+
193
+ #### SQS integration parameter mappings
194
+
195
+ You can configure the custom parameter mappings of the SQS integration using the `parameterMapping` property of the `HttpSqsIntegration` object.
196
+
197
+ The default parameter mapping settings for each subtype are as follows:
198
+
199
+ ```python
200
+ import aws_cdk.aws_sqs as sqs
201
+ # queue: sqs.IQueue
202
+
203
+
204
+ # SQS_SEND_MESSAGE
205
+ apigwv2.ParameterMapping().custom("QueueUrl", queue.queue_url).custom("MessageBody", "$request.body.MessageBody")
206
+
207
+ # SQS_RECEIVE_MESSAGE
208
+ apigwv2.ParameterMapping().custom("QueueUrl", queue.queue_url)
209
+
210
+ # SQS_DELETE_MESSAGE
211
+ apigwv2.ParameterMapping().custom("QueueUrl", queue.queue_url).custom("ReceiptHandle", "$request.body.ReceiptHandle")
212
+
213
+ # SQS_PURGE_QUEUE
214
+ apigwv2.ParameterMapping().custom("QueueUrl", queue.queue_url)
215
+ ```
216
+
131
217
  ### Private Integration
132
218
 
133
219
  Private integrations enable integrating an HTTP API route with private resources in a VPC, such as Application Load Balancers or
@@ -430,6 +516,7 @@ from ..aws_elasticloadbalancingv2 import (
430
516
  from ..aws_iam import IRole as _IRole_235f5d8e
431
517
  from ..aws_lambda import IFunction as _IFunction_6adb0ab8
432
518
  from ..aws_servicediscovery import IService as _IService_46860ae1
519
+ from ..aws_sqs import IQueue as _IQueue_7ed6f679
433
520
  from ..aws_stepfunctions import StateMachine as _StateMachine_a256d24f
434
521
 
435
522
 
@@ -1271,6 +1358,246 @@ class HttpServiceDiscoveryIntegrationProps(HttpPrivateIntegrationOptions):
1271
1358
  )
1272
1359
 
1273
1360
 
1361
+ class HttpSqsIntegration(
1362
+ _HttpRouteIntegration_d3ee7c34,
1363
+ metaclass=jsii.JSIIMeta,
1364
+ jsii_type="aws-cdk-lib.aws_apigatewayv2_integrations.HttpSqsIntegration",
1365
+ ):
1366
+ '''The Sqs integration resource for HTTP API.
1367
+
1368
+ :exampleMetadata: infused
1369
+
1370
+ Example::
1371
+
1372
+ import aws_cdk.aws_sqs as sqs
1373
+ from aws_cdk.aws_apigatewayv2_integrations import HttpSqsIntegration
1374
+
1375
+ # queue: sqs.IQueue
1376
+ # http_api: apigwv2.HttpApi
1377
+
1378
+
1379
+ # default integration (send message)
1380
+ http_api.add_routes(
1381
+ path="/default",
1382
+ methods=[apigwv2.HttpMethod.POST],
1383
+ integration=HttpSqsIntegration("defaultIntegration",
1384
+ queue=queue
1385
+ )
1386
+ )
1387
+ # send message integration
1388
+ http_api.add_routes(
1389
+ path="/send-message",
1390
+ methods=[apigwv2.HttpMethod.POST],
1391
+ integration=HttpSqsIntegration("sendMessageIntegration",
1392
+ queue=queue,
1393
+ subtype=apigwv2.HttpIntegrationSubtype.SQS_SEND_MESSAGE
1394
+ )
1395
+ )
1396
+ # receive message integration
1397
+ http_api.add_routes(
1398
+ path="/receive-message",
1399
+ methods=[apigwv2.HttpMethod.POST],
1400
+ integration=HttpSqsIntegration("receiveMessageIntegration",
1401
+ queue=queue,
1402
+ subtype=apigwv2.HttpIntegrationSubtype.SQS_RECEIVE_MESSAGE
1403
+ )
1404
+ )
1405
+ # delete message integration
1406
+ http_api.add_routes(
1407
+ path="/delete-message",
1408
+ methods=[apigwv2.HttpMethod.POST],
1409
+ integration=HttpSqsIntegration("deleteMessageIntegration",
1410
+ queue=queue,
1411
+ subtype=apigwv2.HttpIntegrationSubtype.SQS_DELETE_MESSAGE
1412
+ )
1413
+ )
1414
+ # purge queue integration
1415
+ http_api.add_routes(
1416
+ path="/purge-queue",
1417
+ methods=[apigwv2.HttpMethod.POST],
1418
+ integration=HttpSqsIntegration("purgeQueueIntegration",
1419
+ queue=queue,
1420
+ subtype=apigwv2.HttpIntegrationSubtype.SQS_PURGE_QUEUE
1421
+ )
1422
+ )
1423
+ '''
1424
+
1425
+ def __init__(
1426
+ self,
1427
+ id: builtins.str,
1428
+ *,
1429
+ queue: _IQueue_7ed6f679,
1430
+ parameter_mapping: typing.Optional[_ParameterMapping_c11a48e0] = None,
1431
+ subtype: typing.Optional[_HttpIntegrationSubtype_beb63b59] = None,
1432
+ ) -> None:
1433
+ '''
1434
+ :param id: id of the underlying integration construct.
1435
+ :param queue: SQS queue that Integrates with API Gateway.
1436
+ :param parameter_mapping: Specifies how to transform HTTP requests before sending them to the backend. Default: - specify ``QueueUrl``. Additionally, set ``MessageBody`` to ``$request.body.MessageBody`` for ``SQS_SEND_MESSAGE`` subtype and set ``ReceiptHandle`` to ``$request.body.ReceiptHandle`` for ``SQS_DELETE_MESSAGE`` subtype.
1437
+ :param subtype: The subtype of the HTTP integration. Only subtypes starting with SQS_ can be specified. Default: HttpIntegrationSubtype.SQS_SEND_MESSAGE
1438
+ '''
1439
+ if __debug__:
1440
+ type_hints = typing.get_type_hints(_typecheckingstub__26e844829cda3c6c377e33299ff9302e7502c75bb44dad66e9545facd663d244)
1441
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
1442
+ props = HttpSqsIntegrationProps(
1443
+ queue=queue, parameter_mapping=parameter_mapping, subtype=subtype
1444
+ )
1445
+
1446
+ jsii.create(self.__class__, self, [id, props])
1447
+
1448
+ @jsii.member(jsii_name="bind")
1449
+ def bind(
1450
+ self,
1451
+ *,
1452
+ route: _IHttpRoute_2fbc6171,
1453
+ scope: _constructs_77d1e7e8.Construct,
1454
+ ) -> _HttpRouteIntegrationConfig_aafc4b76:
1455
+ '''Bind this integration to the route.
1456
+
1457
+ :param route: The route to which this is being bound.
1458
+ :param scope: The current scope in which the bind is occurring. If the ``HttpRouteIntegration`` being bound creates additional constructs, this will be used as their parent scope.
1459
+ '''
1460
+ options = _HttpRouteIntegrationBindOptions_f870a39e(route=route, scope=scope)
1461
+
1462
+ return typing.cast(_HttpRouteIntegrationConfig_aafc4b76, jsii.invoke(self, "bind", [options]))
1463
+
1464
+
1465
+ @jsii.data_type(
1466
+ jsii_type="aws-cdk-lib.aws_apigatewayv2_integrations.HttpSqsIntegrationProps",
1467
+ jsii_struct_bases=[],
1468
+ name_mapping={
1469
+ "queue": "queue",
1470
+ "parameter_mapping": "parameterMapping",
1471
+ "subtype": "subtype",
1472
+ },
1473
+ )
1474
+ class HttpSqsIntegrationProps:
1475
+ def __init__(
1476
+ self,
1477
+ *,
1478
+ queue: _IQueue_7ed6f679,
1479
+ parameter_mapping: typing.Optional[_ParameterMapping_c11a48e0] = None,
1480
+ subtype: typing.Optional[_HttpIntegrationSubtype_beb63b59] = None,
1481
+ ) -> None:
1482
+ '''Properties to initialize ``HttpSqsIntegration``.
1483
+
1484
+ :param queue: SQS queue that Integrates with API Gateway.
1485
+ :param parameter_mapping: Specifies how to transform HTTP requests before sending them to the backend. Default: - specify ``QueueUrl``. Additionally, set ``MessageBody`` to ``$request.body.MessageBody`` for ``SQS_SEND_MESSAGE`` subtype and set ``ReceiptHandle`` to ``$request.body.ReceiptHandle`` for ``SQS_DELETE_MESSAGE`` subtype.
1486
+ :param subtype: The subtype of the HTTP integration. Only subtypes starting with SQS_ can be specified. Default: HttpIntegrationSubtype.SQS_SEND_MESSAGE
1487
+
1488
+ :exampleMetadata: infused
1489
+
1490
+ Example::
1491
+
1492
+ import aws_cdk.aws_sqs as sqs
1493
+ from aws_cdk.aws_apigatewayv2_integrations import HttpSqsIntegration
1494
+
1495
+ # queue: sqs.IQueue
1496
+ # http_api: apigwv2.HttpApi
1497
+
1498
+
1499
+ # default integration (send message)
1500
+ http_api.add_routes(
1501
+ path="/default",
1502
+ methods=[apigwv2.HttpMethod.POST],
1503
+ integration=HttpSqsIntegration("defaultIntegration",
1504
+ queue=queue
1505
+ )
1506
+ )
1507
+ # send message integration
1508
+ http_api.add_routes(
1509
+ path="/send-message",
1510
+ methods=[apigwv2.HttpMethod.POST],
1511
+ integration=HttpSqsIntegration("sendMessageIntegration",
1512
+ queue=queue,
1513
+ subtype=apigwv2.HttpIntegrationSubtype.SQS_SEND_MESSAGE
1514
+ )
1515
+ )
1516
+ # receive message integration
1517
+ http_api.add_routes(
1518
+ path="/receive-message",
1519
+ methods=[apigwv2.HttpMethod.POST],
1520
+ integration=HttpSqsIntegration("receiveMessageIntegration",
1521
+ queue=queue,
1522
+ subtype=apigwv2.HttpIntegrationSubtype.SQS_RECEIVE_MESSAGE
1523
+ )
1524
+ )
1525
+ # delete message integration
1526
+ http_api.add_routes(
1527
+ path="/delete-message",
1528
+ methods=[apigwv2.HttpMethod.POST],
1529
+ integration=HttpSqsIntegration("deleteMessageIntegration",
1530
+ queue=queue,
1531
+ subtype=apigwv2.HttpIntegrationSubtype.SQS_DELETE_MESSAGE
1532
+ )
1533
+ )
1534
+ # purge queue integration
1535
+ http_api.add_routes(
1536
+ path="/purge-queue",
1537
+ methods=[apigwv2.HttpMethod.POST],
1538
+ integration=HttpSqsIntegration("purgeQueueIntegration",
1539
+ queue=queue,
1540
+ subtype=apigwv2.HttpIntegrationSubtype.SQS_PURGE_QUEUE
1541
+ )
1542
+ )
1543
+ '''
1544
+ if __debug__:
1545
+ type_hints = typing.get_type_hints(_typecheckingstub__8a7e21b776e0221926527e68875c71cef4289537168431b8f7179bdb31603f63)
1546
+ check_type(argname="argument queue", value=queue, expected_type=type_hints["queue"])
1547
+ check_type(argname="argument parameter_mapping", value=parameter_mapping, expected_type=type_hints["parameter_mapping"])
1548
+ check_type(argname="argument subtype", value=subtype, expected_type=type_hints["subtype"])
1549
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1550
+ "queue": queue,
1551
+ }
1552
+ if parameter_mapping is not None:
1553
+ self._values["parameter_mapping"] = parameter_mapping
1554
+ if subtype is not None:
1555
+ self._values["subtype"] = subtype
1556
+
1557
+ @builtins.property
1558
+ def queue(self) -> _IQueue_7ed6f679:
1559
+ '''SQS queue that Integrates with API Gateway.'''
1560
+ result = self._values.get("queue")
1561
+ assert result is not None, "Required property 'queue' is missing"
1562
+ return typing.cast(_IQueue_7ed6f679, result)
1563
+
1564
+ @builtins.property
1565
+ def parameter_mapping(self) -> typing.Optional[_ParameterMapping_c11a48e0]:
1566
+ '''Specifies how to transform HTTP requests before sending them to the backend.
1567
+
1568
+ :default:
1569
+
1570
+ - specify ``QueueUrl``. Additionally, set ``MessageBody`` to ``$request.body.MessageBody`` for ``SQS_SEND_MESSAGE`` subtype
1571
+ and set ``ReceiptHandle`` to ``$request.body.ReceiptHandle`` for ``SQS_DELETE_MESSAGE`` subtype.
1572
+
1573
+ :see: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services-reference.html
1574
+ '''
1575
+ result = self._values.get("parameter_mapping")
1576
+ return typing.cast(typing.Optional[_ParameterMapping_c11a48e0], result)
1577
+
1578
+ @builtins.property
1579
+ def subtype(self) -> typing.Optional[_HttpIntegrationSubtype_beb63b59]:
1580
+ '''The subtype of the HTTP integration.
1581
+
1582
+ Only subtypes starting with SQS_ can be specified.
1583
+
1584
+ :default: HttpIntegrationSubtype.SQS_SEND_MESSAGE
1585
+ '''
1586
+ result = self._values.get("subtype")
1587
+ return typing.cast(typing.Optional[_HttpIntegrationSubtype_beb63b59], result)
1588
+
1589
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1590
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1591
+
1592
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1593
+ return not (rhs == self)
1594
+
1595
+ def __repr__(self) -> str:
1596
+ return "HttpSqsIntegrationProps(%s)" % ", ".join(
1597
+ k + "=" + repr(v) for k, v in self._values.items()
1598
+ )
1599
+
1600
+
1274
1601
  class HttpStepFunctionsIntegration(
1275
1602
  _HttpRouteIntegration_d3ee7c34,
1276
1603
  metaclass=jsii.JSIIMeta,
@@ -2554,6 +2881,8 @@ __all__ = [
2554
2881
  "HttpPrivateIntegrationOptions",
2555
2882
  "HttpServiceDiscoveryIntegration",
2556
2883
  "HttpServiceDiscoveryIntegrationProps",
2884
+ "HttpSqsIntegration",
2885
+ "HttpSqsIntegrationProps",
2557
2886
  "HttpStepFunctionsIntegration",
2558
2887
  "HttpStepFunctionsIntegrationProps",
2559
2888
  "HttpUrlIntegration",
@@ -2721,6 +3050,25 @@ def _typecheckingstub__8bbb857ee24522818d504a3830c65b95bbc66b9ef70c67fa5b85fbdca
2721
3050
  """Type checking stubs"""
2722
3051
  pass
2723
3052
 
3053
+ def _typecheckingstub__26e844829cda3c6c377e33299ff9302e7502c75bb44dad66e9545facd663d244(
3054
+ id: builtins.str,
3055
+ *,
3056
+ queue: _IQueue_7ed6f679,
3057
+ parameter_mapping: typing.Optional[_ParameterMapping_c11a48e0] = None,
3058
+ subtype: typing.Optional[_HttpIntegrationSubtype_beb63b59] = None,
3059
+ ) -> None:
3060
+ """Type checking stubs"""
3061
+ pass
3062
+
3063
+ def _typecheckingstub__8a7e21b776e0221926527e68875c71cef4289537168431b8f7179bdb31603f63(
3064
+ *,
3065
+ queue: _IQueue_7ed6f679,
3066
+ parameter_mapping: typing.Optional[_ParameterMapping_c11a48e0] = None,
3067
+ subtype: typing.Optional[_HttpIntegrationSubtype_beb63b59] = None,
3068
+ ) -> None:
3069
+ """Type checking stubs"""
3070
+ pass
3071
+
2724
3072
  def _typecheckingstub__76518171338936bd0fbff4054b2b72b876355e21b6eef931d4dd4f111fc7889f(
2725
3073
  id: builtins.str,
2726
3074
  *,
@@ -1496,9 +1496,9 @@ class CfnScalableTarget(
1496
1496
  *,
1497
1497
  schedule: builtins.str,
1498
1498
  scheduled_action_name: builtins.str,
1499
- end_time: typing.Optional[typing.Union[_IResolvable_da3f097b, datetime.datetime]] = None,
1499
+ end_time: typing.Optional[typing.Union[datetime.datetime, _IResolvable_da3f097b]] = None,
1500
1500
  scalable_target_action: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnScalableTarget.ScalableTargetActionProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1501
- start_time: typing.Optional[typing.Union[_IResolvable_da3f097b, datetime.datetime]] = None,
1501
+ start_time: typing.Optional[typing.Union[datetime.datetime, _IResolvable_da3f097b]] = None,
1502
1502
  timezone: typing.Optional[builtins.str] = None,
1503
1503
  ) -> None:
1504
1504
  '''``ScheduledAction`` is a property of the `AWS::ApplicationAutoScaling::ScalableTarget <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html>`_ resource that specifies a scheduled action for a scalable target.
@@ -1593,13 +1593,13 @@ class CfnScalableTarget(
1593
1593
  @builtins.property
1594
1594
  def end_time(
1595
1595
  self,
1596
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, datetime.datetime]]:
1596
+ ) -> typing.Optional[typing.Union[datetime.datetime, _IResolvable_da3f097b]]:
1597
1597
  '''The date and time that the action is scheduled to end, in UTC.
1598
1598
 
1599
1599
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-scheduledaction.html#cfn-applicationautoscaling-scalabletarget-scheduledaction-endtime
1600
1600
  '''
1601
1601
  result = self._values.get("end_time")
1602
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, datetime.datetime]], result)
1602
+ return typing.cast(typing.Optional[typing.Union[datetime.datetime, _IResolvable_da3f097b]], result)
1603
1603
 
1604
1604
  @builtins.property
1605
1605
  def scalable_target_action(
@@ -1617,13 +1617,13 @@ class CfnScalableTarget(
1617
1617
  @builtins.property
1618
1618
  def start_time(
1619
1619
  self,
1620
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, datetime.datetime]]:
1620
+ ) -> typing.Optional[typing.Union[datetime.datetime, _IResolvable_da3f097b]]:
1621
1621
  '''The date and time that the action is scheduled to begin, in UTC.
1622
1622
 
1623
1623
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-scheduledaction.html#cfn-applicationautoscaling-scalabletarget-scheduledaction-starttime
1624
1624
  '''
1625
1625
  result = self._values.get("start_time")
1626
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, datetime.datetime]], result)
1626
+ return typing.cast(typing.Optional[typing.Union[datetime.datetime, _IResolvable_da3f097b]], result)
1627
1627
 
1628
1628
  @builtins.property
1629
1629
  def timezone(self) -> typing.Optional[builtins.str]:
@@ -7849,9 +7849,9 @@ def _typecheckingstub__602ff955f286e3df520d04ef3c033f033ea91710efbf10e64903936bd
7849
7849
  *,
7850
7850
  schedule: builtins.str,
7851
7851
  scheduled_action_name: builtins.str,
7852
- end_time: typing.Optional[typing.Union[_IResolvable_da3f097b, datetime.datetime]] = None,
7852
+ end_time: typing.Optional[typing.Union[datetime.datetime, _IResolvable_da3f097b]] = None,
7853
7853
  scalable_target_action: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnScalableTarget.ScalableTargetActionProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
7854
- start_time: typing.Optional[typing.Union[_IResolvable_da3f097b, datetime.datetime]] = None,
7854
+ start_time: typing.Optional[typing.Union[datetime.datetime, _IResolvable_da3f097b]] = None,
7855
7855
  timezone: typing.Optional[builtins.str] = None,
7856
7856
  ) -> None:
7857
7857
  """Type checking stubs"""
@@ -970,9 +970,9 @@ Each option provides a different method of security:
970
970
 
971
971
  * API Keys (`AppSyncAuthorizationType.API_KEY`)
972
972
  * Amazon Cognito User Pools (`AppSyncAuthorizationType.USER_POOL`)
973
- * OpenID Connect (`AppSyncAuthorizationType.OPENID_CONNECT`)
974
- * AWS Identity and Access Management (`AppSyncAuthorizationType.AWS_IAM`)
975
- * AWS Lambda (`AppSyncAuthorizationType.AWS_LAMBDA`)
973
+ * OpenID Connect (`AppSyncAuthorizationType.OIDC`)
974
+ * AWS Identity and Access Management (`AppSyncAuthorizationType.IAM`)
975
+ * AWS Lambda (`AppSyncAuthorizationType.LAMBDA`)
976
976
 
977
977
  When you define your API, you configure the authorization mode to connect to your Event API WebSocket.
978
978
  You also configure the default authorization modes to use when publishing and subscribing to messages.
@@ -22172,7 +22172,9 @@ class EventApi(
22172
22172
  @builtins.property
22173
22173
  @jsii.member(jsii_name="apiKeys")
22174
22174
  def api_keys(self) -> typing.Mapping[builtins.str, CfnApiKey]:
22175
- '''the configured API keys, if present.
22175
+ '''The configured API keys, if present.
22176
+
22177
+ The key of this object is an apiKey name (apiKeyConfig.name) if specified, ``Default`` otherwise.
22176
22178
 
22177
22179
  :default: - no api key
22178
22180
 
@@ -20067,7 +20067,7 @@ class OriginBase(
20067
20067
  @jsii.member(jsii_name="bind")
20068
20068
  def bind(
20069
20069
  self,
20070
- _scope: _constructs_77d1e7e8.Construct,
20070
+ scope: _constructs_77d1e7e8.Construct,
20071
20071
  *,
20072
20072
  origin_id: builtins.str,
20073
20073
  distribution_id: typing.Optional[builtins.str] = None,
@@ -20076,18 +20076,18 @@ class OriginBase(
20076
20076
 
20077
20077
  Can be used to grant permissions, create dependent resources, etc.
20078
20078
 
20079
- :param _scope: -
20079
+ :param scope: -
20080
20080
  :param origin_id: The identifier of this Origin, as assigned by the Distribution this Origin has been used added to.
20081
20081
  :param distribution_id: The identifier of the Distribution this Origin is used for. This is used to grant origin access permissions to the distribution for origin access control. Default: - no distribution id
20082
20082
  '''
20083
20083
  if __debug__:
20084
20084
  type_hints = typing.get_type_hints(_typecheckingstub__8428dfc90e69bdd5363e69afd9c590a4ed2f1363b22242197295117dc5221878)
20085
- check_type(argname="argument _scope", value=_scope, expected_type=type_hints["_scope"])
20085
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
20086
20086
  options = OriginBindOptions(
20087
20087
  origin_id=origin_id, distribution_id=distribution_id
20088
20088
  )
20089
20089
 
20090
- return typing.cast("OriginBindConfig", jsii.invoke(self, "bind", [_scope, options]))
20090
+ return typing.cast("OriginBindConfig", jsii.invoke(self, "bind", [scope, options]))
20091
20091
 
20092
20092
  @jsii.member(jsii_name="renderCustomOriginConfig")
20093
20093
  def _render_custom_origin_config(
@@ -28183,7 +28183,7 @@ def _typecheckingstub__5b13f814bf47a5f3949ffc4b53034b4702a02836213167c9ba4c6a8d6
28183
28183
  pass
28184
28184
 
28185
28185
  def _typecheckingstub__8428dfc90e69bdd5363e69afd9c590a4ed2f1363b22242197295117dc5221878(
28186
- _scope: _constructs_77d1e7e8.Construct,
28186
+ scope: _constructs_77d1e7e8.Construct,
28187
28187
  *,
28188
28188
  origin_id: builtins.str,
28189
28189
  distribution_id: typing.Optional[builtins.str] = None,