aws-cdk-lib 2.164.1__py3-none-any.whl → 2.166.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 (52) hide show
  1. aws_cdk/__init__.py +20 -0
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.164.1.jsii.tgz → aws-cdk-lib@2.166.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_appsync/__init__.py +2163 -375
  5. aws_cdk/aws_autoscaling/__init__.py +145 -8
  6. aws_cdk/aws_backup/__init__.py +627 -3
  7. aws_cdk/aws_bedrock/__init__.py +982 -191
  8. aws_cdk/aws_codebuild/__init__.py +88 -33
  9. aws_cdk/aws_codepipeline/__init__.py +98 -5
  10. aws_cdk/aws_codestar/__init__.py +1 -1
  11. aws_cdk/aws_cognito/__init__.py +656 -102
  12. aws_cdk/aws_connect/__init__.py +1 -1
  13. aws_cdk/aws_datasync/__init__.py +9 -7
  14. aws_cdk/aws_devopsguru/__init__.py +2 -2
  15. aws_cdk/aws_dms/__init__.py +762 -0
  16. aws_cdk/aws_dynamodb/__init__.py +13 -8
  17. aws_cdk/aws_ec2/__init__.py +134 -35
  18. aws_cdk/aws_ecs/__init__.py +41 -31
  19. aws_cdk/aws_eks/__init__.py +10 -12
  20. aws_cdk/aws_elasticache/__init__.py +52 -6
  21. aws_cdk/aws_emrserverless/__init__.py +35 -33
  22. aws_cdk/aws_events/__init__.py +25 -30
  23. aws_cdk/aws_imagebuilder/__init__.py +183 -0
  24. aws_cdk/aws_iot/__init__.py +37 -43
  25. aws_cdk/aws_iotwireless/__init__.py +2 -2
  26. aws_cdk/aws_kinesis/__init__.py +297 -1
  27. aws_cdk/aws_lambda/__init__.py +3 -3
  28. aws_cdk/aws_m2/__init__.py +58 -58
  29. aws_cdk/aws_mediapackagev2/__init__.py +191 -0
  30. aws_cdk/aws_memorydb/__init__.py +41 -0
  31. aws_cdk/aws_networkfirewall/__init__.py +14 -5
  32. aws_cdk/aws_opensearchservice/__init__.py +969 -0
  33. aws_cdk/aws_pipes/__init__.py +1 -1
  34. aws_cdk/aws_qbusiness/__init__.py +23 -14
  35. aws_cdk/aws_rds/__init__.py +187 -48
  36. aws_cdk/aws_redshift/__init__.py +23 -23
  37. aws_cdk/aws_refactorspaces/__init__.py +56 -61
  38. aws_cdk/aws_resiliencehub/__init__.py +4 -4
  39. aws_cdk/aws_route53/__init__.py +37 -9
  40. aws_cdk/aws_s3_deployment/__init__.py +13 -7
  41. aws_cdk/aws_sagemaker/__init__.py +128 -23
  42. aws_cdk/aws_secretsmanager/__init__.py +2 -1
  43. aws_cdk/aws_ses/__init__.py +19 -0
  44. aws_cdk/aws_synthetics/__init__.py +121 -0
  45. aws_cdk/aws_timestream/__init__.py +41 -0
  46. aws_cdk/aws_wisdom/__init__.py +2035 -61
  47. {aws_cdk_lib-2.164.1.dist-info → aws_cdk_lib-2.166.0.dist-info}/METADATA +6 -6
  48. {aws_cdk_lib-2.164.1.dist-info → aws_cdk_lib-2.166.0.dist-info}/RECORD +52 -52
  49. {aws_cdk_lib-2.164.1.dist-info → aws_cdk_lib-2.166.0.dist-info}/LICENSE +0 -0
  50. {aws_cdk_lib-2.164.1.dist-info → aws_cdk_lib-2.166.0.dist-info}/NOTICE +0 -0
  51. {aws_cdk_lib-2.164.1.dist-info → aws_cdk_lib-2.166.0.dist-info}/WHEEL +0 -0
  52. {aws_cdk_lib-2.164.1.dist-info → aws_cdk_lib-2.166.0.dist-info}/top_level.txt +0 -0
@@ -972,6 +972,7 @@ from .. import (
972
972
  IResolvable as _IResolvable_da3f097b,
973
973
  IResource as _IResource_c80c4260,
974
974
  ITaggable as _ITaggable_36806126,
975
+ ITaggableV2 as _ITaggableV2_4e6798f8,
975
976
  IgnoreMode as _IgnoreMode_655a98e8,
976
977
  Resource as _Resource_45bc6135,
977
978
  ResourceProps as _ResourceProps_15a65b4e,
@@ -2445,16 +2446,16 @@ class CachingConfig:
2445
2446
  )
2446
2447
 
2447
2448
 
2448
- @jsii.implements(_IInspectable_c2943556)
2449
- class CfnApiCache(
2449
+ @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
2450
+ class CfnApi(
2450
2451
  _CfnResource_9df397a6,
2451
2452
  metaclass=jsii.JSIIMeta,
2452
- jsii_type="aws-cdk-lib.aws_appsync.CfnApiCache",
2453
+ jsii_type="aws-cdk-lib.aws_appsync.CfnApi",
2453
2454
  ):
2454
- '''The ``AWS::AppSync::ApiCache`` resource represents the input of a ``CreateApiCache`` operation.
2455
+ '''Creates a ``GraphqlApi`` object.
2455
2456
 
2456
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html
2457
- :cloudformationResource: AWS::AppSync::ApiCache
2457
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-api.html
2458
+ :cloudformationResource: AWS::AppSync::Api
2458
2459
  :exampleMetadata: fixture=_generated
2459
2460
 
2460
2461
  Example::
@@ -2463,16 +2464,59 @@ class CfnApiCache(
2463
2464
  # The values are placeholders you should change.
2464
2465
  from aws_cdk import aws_appsync as appsync
2465
2466
 
2466
- cfn_api_cache = appsync.CfnApiCache(self, "MyCfnApiCache",
2467
- api_caching_behavior="apiCachingBehavior",
2468
- api_id="apiId",
2469
- ttl=123,
2470
- type="type",
2467
+ cfn_api = appsync.CfnApi(self, "MyCfnApi",
2468
+ name="name",
2471
2469
 
2472
2470
  # the properties below are optional
2473
- at_rest_encryption_enabled=False,
2474
- health_metrics_config="healthMetricsConfig",
2475
- transit_encryption_enabled=False
2471
+ event_config=appsync.CfnApi.EventConfigProperty(
2472
+ auth_providers=[appsync.CfnApi.AuthProviderProperty(
2473
+ auth_type="authType",
2474
+
2475
+ # the properties below are optional
2476
+ cognito_config=appsync.CfnApi.CognitoConfigProperty(
2477
+ aws_region="awsRegion",
2478
+ user_pool_id="userPoolId",
2479
+
2480
+ # the properties below are optional
2481
+ app_id_client_regex="appIdClientRegex"
2482
+ ),
2483
+ lambda_authorizer_config=appsync.CfnApi.LambdaAuthorizerConfigProperty(
2484
+ authorizer_uri="authorizerUri",
2485
+
2486
+ # the properties below are optional
2487
+ authorizer_result_ttl_in_seconds=123,
2488
+ identity_validation_expression="identityValidationExpression"
2489
+ ),
2490
+ open_id_connect_config=appsync.CfnApi.OpenIDConnectConfigProperty(
2491
+ issuer="issuer",
2492
+
2493
+ # the properties below are optional
2494
+ auth_ttl=123,
2495
+ client_id="clientId",
2496
+ iat_ttl=123
2497
+ )
2498
+ )],
2499
+ connection_auth_modes=[appsync.CfnApi.AuthModeProperty(
2500
+ auth_type="authType"
2501
+ )],
2502
+ default_publish_auth_modes=[appsync.CfnApi.AuthModeProperty(
2503
+ auth_type="authType"
2504
+ )],
2505
+ default_subscribe_auth_modes=[appsync.CfnApi.AuthModeProperty(
2506
+ auth_type="authType"
2507
+ )],
2508
+
2509
+ # the properties below are optional
2510
+ log_config=appsync.CfnApi.EventLogConfigProperty(
2511
+ cloud_watch_logs_role_arn="cloudWatchLogsRoleArn",
2512
+ log_level="logLevel"
2513
+ )
2514
+ ),
2515
+ owner_contact="ownerContact",
2516
+ tags=[CfnTag(
2517
+ key="key",
2518
+ value="value"
2519
+ )]
2476
2520
  )
2477
2521
  '''
2478
2522
 
@@ -2481,37 +2525,28 @@ class CfnApiCache(
2481
2525
  scope: _constructs_77d1e7e8.Construct,
2482
2526
  id: builtins.str,
2483
2527
  *,
2484
- api_caching_behavior: builtins.str,
2485
- api_id: builtins.str,
2486
- ttl: jsii.Number,
2487
- type: builtins.str,
2488
- at_rest_encryption_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
2489
- health_metrics_config: typing.Optional[builtins.str] = None,
2490
- transit_encryption_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
2528
+ name: builtins.str,
2529
+ event_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnApi.EventConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2530
+ owner_contact: typing.Optional[builtins.str] = None,
2531
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2491
2532
  ) -> None:
2492
2533
  '''
2493
2534
  :param scope: Scope in which this resource is defined.
2494
2535
  :param id: Construct identifier for this resource (unique in its scope).
2495
- :param api_caching_behavior: Caching behavior. - *FULL_REQUEST_CACHING* : All requests are fully cached. - *PER_RESOLVER_CACHING* : Individual resolvers that you specify are cached.
2496
- :param api_id: The GraphQL API ID.
2497
- :param ttl: TTL in seconds for cache entries. Valid values are 1–3,600 seconds.
2498
- :param type: The cache instance type. Valid values are. - ``SMALL`` - ``MEDIUM`` - ``LARGE`` - ``XLARGE`` - ``LARGE_2X`` - ``LARGE_4X`` - ``LARGE_8X`` (not available in all regions) - ``LARGE_12X`` Historically, instance types were identified by an EC2-style value. As of July 2020, this is deprecated, and the generic identifiers above should be used. The following legacy instance types are available, but their use is discouraged: - *T2_SMALL* : A t2.small instance type. - *T2_MEDIUM* : A t2.medium instance type. - *R4_LARGE* : A r4.large instance type. - *R4_XLARGE* : A r4.xlarge instance type. - *R4_2XLARGE* : A r4.2xlarge instance type. - *R4_4XLARGE* : A r4.4xlarge instance type. - *R4_8XLARGE* : A r4.8xlarge instance type.
2499
- :param at_rest_encryption_enabled: At-rest encryption flag for cache. You cannot update this setting after creation.
2500
- :param health_metrics_config: Controls how cache health metrics will be emitted to CloudWatch. Cache health metrics include:. - *NetworkBandwidthOutAllowanceExceeded* : The network packets dropped because the throughput exceeded the aggregated bandwidth limit. This is useful for diagnosing bottlenecks in a cache configuration. - *EngineCPUUtilization* : The CPU utilization (percentage) allocated to the Redis process. This is useful for diagnosing bottlenecks in a cache configuration. Metrics will be recorded by API ID. You can set the value to ``ENABLED`` or ``DISABLED`` .
2501
- :param transit_encryption_enabled: Transit encryption flag when connecting to cache. You cannot update this setting after creation.
2536
+ :param name: The API name.
2537
+ :param event_config: The configuration for an Event Api.
2538
+ :param owner_contact: The owner contact information for an API resource. This field accepts any string input with a length of 0 - 256 characters.
2539
+ :param tags: The tags.
2502
2540
  '''
2503
2541
  if __debug__:
2504
- type_hints = typing.get_type_hints(_typecheckingstub__e9d92b7b2abdac7341eb92f7ac10d2d67dd2700af68eaf42c72c47ffdaacc344)
2542
+ type_hints = typing.get_type_hints(_typecheckingstub__9b24e030284e4cb760e04c0345cc69b457962fa5c53b82f009a5c412ad0fa1e5)
2505
2543
  check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
2506
2544
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
2507
- props = CfnApiCacheProps(
2508
- api_caching_behavior=api_caching_behavior,
2509
- api_id=api_id,
2510
- ttl=ttl,
2511
- type=type,
2512
- at_rest_encryption_enabled=at_rest_encryption_enabled,
2513
- health_metrics_config=health_metrics_config,
2514
- transit_encryption_enabled=transit_encryption_enabled,
2545
+ props = CfnApiProps(
2546
+ name=name,
2547
+ event_config=event_config,
2548
+ owner_contact=owner_contact,
2549
+ tags=tags,
2515
2550
  )
2516
2551
 
2517
2552
  jsii.create(self.__class__, self, [scope, id, props])
@@ -2523,7 +2558,7 @@ class CfnApiCache(
2523
2558
  :param inspector: tree inspector to collect and process attributes.
2524
2559
  '''
2525
2560
  if __debug__:
2526
- type_hints = typing.get_type_hints(_typecheckingstub__142193172b7ee1304f3b8fd949531b4cfa950ea62d0dc10f9ed5a184a603132d)
2561
+ type_hints = typing.get_type_hints(_typecheckingstub__1a34658e511f6fa9562934d95c768fd4b2af2314ddf2dab2969f39073417c21f)
2527
2562
  check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
2528
2563
  return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
2529
2564
 
@@ -2536,7 +2571,7 @@ class CfnApiCache(
2536
2571
  :param props: -
2537
2572
  '''
2538
2573
  if __debug__:
2539
- type_hints = typing.get_type_hints(_typecheckingstub__1ce863b5f21a86ce886458054cd4de0550269c18eb7c4f3fb37884dc2869845e)
2574
+ type_hints = typing.get_type_hints(_typecheckingstub__80dee192d808ade2b05e0e5eae2e320cb156ff9affe045ecbcaf005a54690f10)
2540
2575
  check_type(argname="argument props", value=props, expected_type=type_hints["props"])
2541
2576
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
2542
2577
 
@@ -2547,309 +2582,1644 @@ class CfnApiCache(
2547
2582
  return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
2548
2583
 
2549
2584
  @builtins.property
2550
- @jsii.member(jsii_name="attrId")
2551
- def attr_id(self) -> builtins.str:
2552
- '''
2553
- :cloudformationAttribute: Id
2554
- '''
2555
- return typing.cast(builtins.str, jsii.get(self, "attrId"))
2585
+ @jsii.member(jsii_name="attrApiArn")
2586
+ def attr_api_arn(self) -> builtins.str:
2587
+ '''The Amazon Resource Name (ARN) of the AppSync Api.
2556
2588
 
2557
- @builtins.property
2558
- @jsii.member(jsii_name="cfnProperties")
2559
- def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
2560
- return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
2589
+ :cloudformationAttribute: ApiArn
2590
+ '''
2591
+ return typing.cast(builtins.str, jsii.get(self, "attrApiArn"))
2561
2592
 
2562
2593
  @builtins.property
2563
- @jsii.member(jsii_name="apiCachingBehavior")
2564
- def api_caching_behavior(self) -> builtins.str:
2565
- '''Caching behavior.'''
2566
- return typing.cast(builtins.str, jsii.get(self, "apiCachingBehavior"))
2594
+ @jsii.member(jsii_name="attrApiId")
2595
+ def attr_api_id(self) -> builtins.str:
2596
+ '''The API ID.
2567
2597
 
2568
- @api_caching_behavior.setter
2569
- def api_caching_behavior(self, value: builtins.str) -> None:
2570
- if __debug__:
2571
- type_hints = typing.get_type_hints(_typecheckingstub__aee6b3576fbf654864dae4f55fe292d210bf01534f16f80af0ac225f8fa338c9)
2572
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2573
- jsii.set(self, "apiCachingBehavior", value) # pyright: ignore[reportArgumentType]
2598
+ :cloudformationAttribute: ApiId
2599
+ '''
2600
+ return typing.cast(builtins.str, jsii.get(self, "attrApiId"))
2574
2601
 
2575
2602
  @builtins.property
2576
- @jsii.member(jsii_name="apiId")
2577
- def api_id(self) -> builtins.str:
2578
- '''The GraphQL API ID.'''
2579
- return typing.cast(builtins.str, jsii.get(self, "apiId"))
2603
+ @jsii.member(jsii_name="attrDns")
2604
+ def attr_dns(self) -> _IResolvable_da3f097b:
2605
+ '''A map of DNS names for the AppSync API.
2580
2606
 
2581
- @api_id.setter
2582
- def api_id(self, value: builtins.str) -> None:
2583
- if __debug__:
2584
- type_hints = typing.get_type_hints(_typecheckingstub__6c2fdac623dbaddb2a0226d75e6f3ca84c058f3f46b9c9a1289820c1cf0827e1)
2585
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2586
- jsii.set(self, "apiId", value) # pyright: ignore[reportArgumentType]
2607
+ :cloudformationAttribute: Dns
2608
+ '''
2609
+ return typing.cast(_IResolvable_da3f097b, jsii.get(self, "attrDns"))
2587
2610
 
2588
2611
  @builtins.property
2589
- @jsii.member(jsii_name="ttl")
2590
- def ttl(self) -> jsii.Number:
2591
- '''TTL in seconds for cache entries.'''
2592
- return typing.cast(jsii.Number, jsii.get(self, "ttl"))
2593
-
2594
- @ttl.setter
2595
- def ttl(self, value: jsii.Number) -> None:
2596
- if __debug__:
2597
- type_hints = typing.get_type_hints(_typecheckingstub__1893b7ba08236941b8e5bb4704e7fe53f8819086085796443b5d68f513e66eaa)
2598
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2599
- jsii.set(self, "ttl", value) # pyright: ignore[reportArgumentType]
2612
+ @jsii.member(jsii_name="cdkTagManager")
2613
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
2614
+ '''Tag Manager which manages the tags for this resource.'''
2615
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
2600
2616
 
2601
2617
  @builtins.property
2602
- @jsii.member(jsii_name="type")
2603
- def type(self) -> builtins.str:
2604
- '''The cache instance type.
2618
+ @jsii.member(jsii_name="cfnProperties")
2619
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
2620
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
2605
2621
 
2606
- Valid values are.
2607
- '''
2608
- return typing.cast(builtins.str, jsii.get(self, "type"))
2622
+ @builtins.property
2623
+ @jsii.member(jsii_name="name")
2624
+ def name(self) -> builtins.str:
2625
+ '''The API name.'''
2626
+ return typing.cast(builtins.str, jsii.get(self, "name"))
2609
2627
 
2610
- @type.setter
2611
- def type(self, value: builtins.str) -> None:
2628
+ @name.setter
2629
+ def name(self, value: builtins.str) -> None:
2612
2630
  if __debug__:
2613
- type_hints = typing.get_type_hints(_typecheckingstub__45dc491e21920c6cd0ddecd9aada80283ac759d9eaca52c45a6ce35197166e9d)
2631
+ type_hints = typing.get_type_hints(_typecheckingstub__2bbcc5e3c150d28701074668c2cc2da51f0ba8e3870f53f61466fcc37a9b9d92)
2614
2632
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2615
- jsii.set(self, "type", value) # pyright: ignore[reportArgumentType]
2633
+ jsii.set(self, "name", value) # pyright: ignore[reportArgumentType]
2616
2634
 
2617
2635
  @builtins.property
2618
- @jsii.member(jsii_name="atRestEncryptionEnabled")
2619
- def at_rest_encryption_enabled(
2636
+ @jsii.member(jsii_name="eventConfig")
2637
+ def event_config(
2620
2638
  self,
2621
- ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
2622
- '''At-rest encryption flag for cache.'''
2623
- return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "atRestEncryptionEnabled"))
2639
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnApi.EventConfigProperty"]]:
2640
+ '''The configuration for an Event Api.'''
2641
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnApi.EventConfigProperty"]], jsii.get(self, "eventConfig"))
2624
2642
 
2625
- @at_rest_encryption_enabled.setter
2626
- def at_rest_encryption_enabled(
2643
+ @event_config.setter
2644
+ def event_config(
2627
2645
  self,
2628
- value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
2646
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnApi.EventConfigProperty"]],
2629
2647
  ) -> None:
2630
2648
  if __debug__:
2631
- type_hints = typing.get_type_hints(_typecheckingstub__93a4abe242f634763c1f128b7e17017d1176924c9b032d5536f4caa3b3fc3bd6)
2649
+ type_hints = typing.get_type_hints(_typecheckingstub__9323cec9a000145849866e550b55f0a549087cc444c4fa5706fdbc7c1455d154)
2632
2650
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2633
- jsii.set(self, "atRestEncryptionEnabled", value) # pyright: ignore[reportArgumentType]
2651
+ jsii.set(self, "eventConfig", value) # pyright: ignore[reportArgumentType]
2634
2652
 
2635
2653
  @builtins.property
2636
- @jsii.member(jsii_name="healthMetricsConfig")
2637
- def health_metrics_config(self) -> typing.Optional[builtins.str]:
2638
- '''Controls how cache health metrics will be emitted to CloudWatch.
2639
-
2640
- Cache health metrics include:.
2641
- '''
2642
- return typing.cast(typing.Optional[builtins.str], jsii.get(self, "healthMetricsConfig"))
2654
+ @jsii.member(jsii_name="ownerContact")
2655
+ def owner_contact(self) -> typing.Optional[builtins.str]:
2656
+ '''The owner contact information for an API resource.'''
2657
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "ownerContact"))
2643
2658
 
2644
- @health_metrics_config.setter
2645
- def health_metrics_config(self, value: typing.Optional[builtins.str]) -> None:
2659
+ @owner_contact.setter
2660
+ def owner_contact(self, value: typing.Optional[builtins.str]) -> None:
2646
2661
  if __debug__:
2647
- type_hints = typing.get_type_hints(_typecheckingstub__55de0a796fc6cc946fccbec8ff82c493648ae16228267a0627a624d4e64e10dd)
2662
+ type_hints = typing.get_type_hints(_typecheckingstub__b829d518b74ad55cbf9233be61a91ddec84af300e750befd18c27d6ec18db38d)
2648
2663
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2649
- jsii.set(self, "healthMetricsConfig", value) # pyright: ignore[reportArgumentType]
2664
+ jsii.set(self, "ownerContact", value) # pyright: ignore[reportArgumentType]
2650
2665
 
2651
2666
  @builtins.property
2652
- @jsii.member(jsii_name="transitEncryptionEnabled")
2653
- def transit_encryption_enabled(
2654
- self,
2655
- ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
2656
- '''Transit encryption flag when connecting to cache.'''
2657
- return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "transitEncryptionEnabled"))
2667
+ @jsii.member(jsii_name="tags")
2668
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
2669
+ '''The tags.'''
2670
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
2658
2671
 
2659
- @transit_encryption_enabled.setter
2660
- def transit_encryption_enabled(
2661
- self,
2662
- value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
2663
- ) -> None:
2672
+ @tags.setter
2673
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
2664
2674
  if __debug__:
2665
- type_hints = typing.get_type_hints(_typecheckingstub__eb39499095e917401c885f7c77781744d09df071b1ed62c6f2c32cbbc6fbdb33)
2675
+ type_hints = typing.get_type_hints(_typecheckingstub__a8b30f166f8b9fa0fc02ab2eb4ff33b85277e77827ecebf6d7fd569a6667a8ea)
2666
2676
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2667
- jsii.set(self, "transitEncryptionEnabled", value) # pyright: ignore[reportArgumentType]
2677
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
2668
2678
 
2679
+ @jsii.data_type(
2680
+ jsii_type="aws-cdk-lib.aws_appsync.CfnApi.AuthModeProperty",
2681
+ jsii_struct_bases=[],
2682
+ name_mapping={"auth_type": "authType"},
2683
+ )
2684
+ class AuthModeProperty:
2685
+ def __init__(self, *, auth_type: typing.Optional[builtins.str] = None) -> None:
2686
+ '''An auth mode.
2669
2687
 
2670
- @jsii.data_type(
2671
- jsii_type="aws-cdk-lib.aws_appsync.CfnApiCacheProps",
2672
- jsii_struct_bases=[],
2673
- name_mapping={
2674
- "api_caching_behavior": "apiCachingBehavior",
2675
- "api_id": "apiId",
2676
- "ttl": "ttl",
2677
- "type": "type",
2678
- "at_rest_encryption_enabled": "atRestEncryptionEnabled",
2679
- "health_metrics_config": "healthMetricsConfig",
2680
- "transit_encryption_enabled": "transitEncryptionEnabled",
2681
- },
2682
- )
2683
- class CfnApiCacheProps:
2684
- def __init__(
2685
- self,
2686
- *,
2687
- api_caching_behavior: builtins.str,
2688
- api_id: builtins.str,
2689
- ttl: jsii.Number,
2690
- type: builtins.str,
2691
- at_rest_encryption_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
2692
- health_metrics_config: typing.Optional[builtins.str] = None,
2693
- transit_encryption_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
2694
- ) -> None:
2695
- '''Properties for defining a ``CfnApiCache``.
2688
+ :param auth_type: Security configuration for your AppSync API.
2696
2689
 
2697
- :param api_caching_behavior: Caching behavior. - *FULL_REQUEST_CACHING* : All requests are fully cached. - *PER_RESOLVER_CACHING* : Individual resolvers that you specify are cached.
2698
- :param api_id: The GraphQL API ID.
2699
- :param ttl: TTL in seconds for cache entries. Valid values are 1–3,600 seconds.
2700
- :param type: The cache instance type. Valid values are. - ``SMALL`` - ``MEDIUM`` - ``LARGE`` - ``XLARGE`` - ``LARGE_2X`` - ``LARGE_4X`` - ``LARGE_8X`` (not available in all regions) - ``LARGE_12X`` Historically, instance types were identified by an EC2-style value. As of July 2020, this is deprecated, and the generic identifiers above should be used. The following legacy instance types are available, but their use is discouraged: - *T2_SMALL* : A t2.small instance type. - *T2_MEDIUM* : A t2.medium instance type. - *R4_LARGE* : A r4.large instance type. - *R4_XLARGE* : A r4.xlarge instance type. - *R4_2XLARGE* : A r4.2xlarge instance type. - *R4_4XLARGE* : A r4.4xlarge instance type. - *R4_8XLARGE* : A r4.8xlarge instance type.
2701
- :param at_rest_encryption_enabled: At-rest encryption flag for cache. You cannot update this setting after creation.
2702
- :param health_metrics_config: Controls how cache health metrics will be emitted to CloudWatch. Cache health metrics include:. - *NetworkBandwidthOutAllowanceExceeded* : The network packets dropped because the throughput exceeded the aggregated bandwidth limit. This is useful for diagnosing bottlenecks in a cache configuration. - *EngineCPUUtilization* : The CPU utilization (percentage) allocated to the Redis process. This is useful for diagnosing bottlenecks in a cache configuration. Metrics will be recorded by API ID. You can set the value to ``ENABLED`` or ``DISABLED`` .
2703
- :param transit_encryption_enabled: Transit encryption flag when connecting to cache. You cannot update this setting after creation.
2690
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-authmode.html
2691
+ :exampleMetadata: fixture=_generated
2704
2692
 
2705
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html
2706
- :exampleMetadata: fixture=_generated
2693
+ Example::
2707
2694
 
2708
- Example::
2695
+ # The code below shows an example of how to instantiate this type.
2696
+ # The values are placeholders you should change.
2697
+ from aws_cdk import aws_appsync as appsync
2698
+
2699
+ auth_mode_property = appsync.CfnApi.AuthModeProperty(
2700
+ auth_type="authType"
2701
+ )
2702
+ '''
2703
+ if __debug__:
2704
+ type_hints = typing.get_type_hints(_typecheckingstub__27b661cb5be7fc793a7469c90adcd7629e723a94b2a389fead69d96cfde5dba2)
2705
+ check_type(argname="argument auth_type", value=auth_type, expected_type=type_hints["auth_type"])
2706
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
2707
+ if auth_type is not None:
2708
+ self._values["auth_type"] = auth_type
2709
2709
 
2710
- # The code below shows an example of how to instantiate this type.
2711
- # The values are placeholders you should change.
2712
- from aws_cdk import aws_appsync as appsync
2713
-
2714
- cfn_api_cache_props = appsync.CfnApiCacheProps(
2715
- api_caching_behavior="apiCachingBehavior",
2716
- api_id="apiId",
2717
- ttl=123,
2718
- type="type",
2719
-
2720
- # the properties below are optional
2721
- at_rest_encryption_enabled=False,
2722
- health_metrics_config="healthMetricsConfig",
2723
- transit_encryption_enabled=False
2724
- )
2710
+ @builtins.property
2711
+ def auth_type(self) -> typing.Optional[builtins.str]:
2712
+ '''Security configuration for your AppSync API.
2713
+
2714
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-authmode.html#cfn-appsync-api-authmode-authtype
2715
+ '''
2716
+ result = self._values.get("auth_type")
2717
+ return typing.cast(typing.Optional[builtins.str], result)
2718
+
2719
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2720
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2721
+
2722
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2723
+ return not (rhs == self)
2724
+
2725
+ def __repr__(self) -> str:
2726
+ return "AuthModeProperty(%s)" % ", ".join(
2727
+ k + "=" + repr(v) for k, v in self._values.items()
2728
+ )
2729
+
2730
+ @jsii.data_type(
2731
+ jsii_type="aws-cdk-lib.aws_appsync.CfnApi.AuthProviderProperty",
2732
+ jsii_struct_bases=[],
2733
+ name_mapping={
2734
+ "auth_type": "authType",
2735
+ "cognito_config": "cognitoConfig",
2736
+ "lambda_authorizer_config": "lambdaAuthorizerConfig",
2737
+ "open_id_connect_config": "openIdConnectConfig",
2738
+ },
2739
+ )
2740
+ class AuthProviderProperty:
2741
+ def __init__(
2742
+ self,
2743
+ *,
2744
+ auth_type: builtins.str,
2745
+ cognito_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnApi.CognitoConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2746
+ lambda_authorizer_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnApi.LambdaAuthorizerConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2747
+ open_id_connect_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnApi.OpenIDConnectConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2748
+ ) -> None:
2749
+ '''An auth provider for the AppSync API.
2750
+
2751
+ :param auth_type: Security configuration for your AppSync API.
2752
+ :param cognito_config: Optional authorization configuration for using Amazon Cognito user pools with your API endpoint.
2753
+ :param lambda_authorizer_config: A LambdaAuthorizerConfig holds configuration on how to authorize AWS AppSync API access when using the AWS_LAMBDA authorizer mode. Be aware that an AWS AppSync API may have only one Lambda authorizer configured at a time.
2754
+ :param open_id_connect_config: The OpenID Connect configuration.
2755
+
2756
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-authprovider.html
2757
+ :exampleMetadata: fixture=_generated
2758
+
2759
+ Example::
2760
+
2761
+ # The code below shows an example of how to instantiate this type.
2762
+ # The values are placeholders you should change.
2763
+ from aws_cdk import aws_appsync as appsync
2764
+
2765
+ auth_provider_property = appsync.CfnApi.AuthProviderProperty(
2766
+ auth_type="authType",
2767
+
2768
+ # the properties below are optional
2769
+ cognito_config=appsync.CfnApi.CognitoConfigProperty(
2770
+ aws_region="awsRegion",
2771
+ user_pool_id="userPoolId",
2772
+
2773
+ # the properties below are optional
2774
+ app_id_client_regex="appIdClientRegex"
2775
+ ),
2776
+ lambda_authorizer_config=appsync.CfnApi.LambdaAuthorizerConfigProperty(
2777
+ authorizer_uri="authorizerUri",
2778
+
2779
+ # the properties below are optional
2780
+ authorizer_result_ttl_in_seconds=123,
2781
+ identity_validation_expression="identityValidationExpression"
2782
+ ),
2783
+ open_id_connect_config=appsync.CfnApi.OpenIDConnectConfigProperty(
2784
+ issuer="issuer",
2785
+
2786
+ # the properties below are optional
2787
+ auth_ttl=123,
2788
+ client_id="clientId",
2789
+ iat_ttl=123
2790
+ )
2791
+ )
2792
+ '''
2793
+ if __debug__:
2794
+ type_hints = typing.get_type_hints(_typecheckingstub__d3b431432784c1151b3b95b1186edc1bcfaa11a3f70614ce43f998df8d1ae46d)
2795
+ check_type(argname="argument auth_type", value=auth_type, expected_type=type_hints["auth_type"])
2796
+ check_type(argname="argument cognito_config", value=cognito_config, expected_type=type_hints["cognito_config"])
2797
+ check_type(argname="argument lambda_authorizer_config", value=lambda_authorizer_config, expected_type=type_hints["lambda_authorizer_config"])
2798
+ check_type(argname="argument open_id_connect_config", value=open_id_connect_config, expected_type=type_hints["open_id_connect_config"])
2799
+ self._values: typing.Dict[builtins.str, typing.Any] = {
2800
+ "auth_type": auth_type,
2801
+ }
2802
+ if cognito_config is not None:
2803
+ self._values["cognito_config"] = cognito_config
2804
+ if lambda_authorizer_config is not None:
2805
+ self._values["lambda_authorizer_config"] = lambda_authorizer_config
2806
+ if open_id_connect_config is not None:
2807
+ self._values["open_id_connect_config"] = open_id_connect_config
2808
+
2809
+ @builtins.property
2810
+ def auth_type(self) -> builtins.str:
2811
+ '''Security configuration for your AppSync API.
2812
+
2813
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-authprovider.html#cfn-appsync-api-authprovider-authtype
2814
+ '''
2815
+ result = self._values.get("auth_type")
2816
+ assert result is not None, "Required property 'auth_type' is missing"
2817
+ return typing.cast(builtins.str, result)
2818
+
2819
+ @builtins.property
2820
+ def cognito_config(
2821
+ self,
2822
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnApi.CognitoConfigProperty"]]:
2823
+ '''Optional authorization configuration for using Amazon Cognito user pools with your API endpoint.
2824
+
2825
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-authprovider.html#cfn-appsync-api-authprovider-cognitoconfig
2826
+ '''
2827
+ result = self._values.get("cognito_config")
2828
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnApi.CognitoConfigProperty"]], result)
2829
+
2830
+ @builtins.property
2831
+ def lambda_authorizer_config(
2832
+ self,
2833
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnApi.LambdaAuthorizerConfigProperty"]]:
2834
+ '''A LambdaAuthorizerConfig holds configuration on how to authorize AWS AppSync API access when using the AWS_LAMBDA authorizer mode.
2835
+
2836
+ Be aware that an AWS AppSync API may have only one Lambda authorizer configured at a time.
2837
+
2838
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-authprovider.html#cfn-appsync-api-authprovider-lambdaauthorizerconfig
2839
+ '''
2840
+ result = self._values.get("lambda_authorizer_config")
2841
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnApi.LambdaAuthorizerConfigProperty"]], result)
2842
+
2843
+ @builtins.property
2844
+ def open_id_connect_config(
2845
+ self,
2846
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnApi.OpenIDConnectConfigProperty"]]:
2847
+ '''The OpenID Connect configuration.
2848
+
2849
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-authprovider.html#cfn-appsync-api-authprovider-openidconnectconfig
2850
+ '''
2851
+ result = self._values.get("open_id_connect_config")
2852
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnApi.OpenIDConnectConfigProperty"]], result)
2853
+
2854
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2855
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2856
+
2857
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2858
+ return not (rhs == self)
2859
+
2860
+ def __repr__(self) -> str:
2861
+ return "AuthProviderProperty(%s)" % ", ".join(
2862
+ k + "=" + repr(v) for k, v in self._values.items()
2863
+ )
2864
+
2865
+ @jsii.data_type(
2866
+ jsii_type="aws-cdk-lib.aws_appsync.CfnApi.CognitoConfigProperty",
2867
+ jsii_struct_bases=[],
2868
+ name_mapping={
2869
+ "aws_region": "awsRegion",
2870
+ "user_pool_id": "userPoolId",
2871
+ "app_id_client_regex": "appIdClientRegex",
2872
+ },
2873
+ )
2874
+ class CognitoConfigProperty:
2875
+ def __init__(
2876
+ self,
2877
+ *,
2878
+ aws_region: builtins.str,
2879
+ user_pool_id: builtins.str,
2880
+ app_id_client_regex: typing.Optional[builtins.str] = None,
2881
+ ) -> None:
2882
+ '''Optional authorization configuration for using Amazon Cognito user pools with your API endpoint.
2883
+
2884
+ :param aws_region:
2885
+ :param user_pool_id:
2886
+ :param app_id_client_regex:
2887
+
2888
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-cognitoconfig.html
2889
+ :exampleMetadata: fixture=_generated
2890
+
2891
+ Example::
2892
+
2893
+ # The code below shows an example of how to instantiate this type.
2894
+ # The values are placeholders you should change.
2895
+ from aws_cdk import aws_appsync as appsync
2896
+
2897
+ cognito_config_property = appsync.CfnApi.CognitoConfigProperty(
2898
+ aws_region="awsRegion",
2899
+ user_pool_id="userPoolId",
2900
+
2901
+ # the properties below are optional
2902
+ app_id_client_regex="appIdClientRegex"
2903
+ )
2904
+ '''
2905
+ if __debug__:
2906
+ type_hints = typing.get_type_hints(_typecheckingstub__012c8ad0fa2d1afcda68ca532d5e287baa9e170049fe0c4e05e77dab9f8eb753)
2907
+ check_type(argname="argument aws_region", value=aws_region, expected_type=type_hints["aws_region"])
2908
+ check_type(argname="argument user_pool_id", value=user_pool_id, expected_type=type_hints["user_pool_id"])
2909
+ check_type(argname="argument app_id_client_regex", value=app_id_client_regex, expected_type=type_hints["app_id_client_regex"])
2910
+ self._values: typing.Dict[builtins.str, typing.Any] = {
2911
+ "aws_region": aws_region,
2912
+ "user_pool_id": user_pool_id,
2913
+ }
2914
+ if app_id_client_regex is not None:
2915
+ self._values["app_id_client_regex"] = app_id_client_regex
2916
+
2917
+ @builtins.property
2918
+ def aws_region(self) -> builtins.str:
2919
+ '''
2920
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-cognitoconfig.html#cfn-appsync-api-cognitoconfig-awsregion
2921
+ '''
2922
+ result = self._values.get("aws_region")
2923
+ assert result is not None, "Required property 'aws_region' is missing"
2924
+ return typing.cast(builtins.str, result)
2925
+
2926
+ @builtins.property
2927
+ def user_pool_id(self) -> builtins.str:
2928
+ '''
2929
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-cognitoconfig.html#cfn-appsync-api-cognitoconfig-userpoolid
2930
+ '''
2931
+ result = self._values.get("user_pool_id")
2932
+ assert result is not None, "Required property 'user_pool_id' is missing"
2933
+ return typing.cast(builtins.str, result)
2934
+
2935
+ @builtins.property
2936
+ def app_id_client_regex(self) -> typing.Optional[builtins.str]:
2937
+ '''
2938
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-cognitoconfig.html#cfn-appsync-api-cognitoconfig-appidclientregex
2939
+ '''
2940
+ result = self._values.get("app_id_client_regex")
2941
+ return typing.cast(typing.Optional[builtins.str], result)
2942
+
2943
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2944
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2945
+
2946
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2947
+ return not (rhs == self)
2948
+
2949
+ def __repr__(self) -> str:
2950
+ return "CognitoConfigProperty(%s)" % ", ".join(
2951
+ k + "=" + repr(v) for k, v in self._values.items()
2952
+ )
2953
+
2954
+ @jsii.data_type(
2955
+ jsii_type="aws-cdk-lib.aws_appsync.CfnApi.EventConfigProperty",
2956
+ jsii_struct_bases=[],
2957
+ name_mapping={
2958
+ "auth_providers": "authProviders",
2959
+ "connection_auth_modes": "connectionAuthModes",
2960
+ "default_publish_auth_modes": "defaultPublishAuthModes",
2961
+ "default_subscribe_auth_modes": "defaultSubscribeAuthModes",
2962
+ "log_config": "logConfig",
2963
+ },
2964
+ )
2965
+ class EventConfigProperty:
2966
+ def __init__(
2967
+ self,
2968
+ *,
2969
+ auth_providers: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnApi.AuthProviderProperty", typing.Dict[builtins.str, typing.Any]]]]],
2970
+ connection_auth_modes: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnApi.AuthModeProperty", typing.Dict[builtins.str, typing.Any]]]]],
2971
+ default_publish_auth_modes: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnApi.AuthModeProperty", typing.Dict[builtins.str, typing.Any]]]]],
2972
+ default_subscribe_auth_modes: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnApi.AuthModeProperty", typing.Dict[builtins.str, typing.Any]]]]],
2973
+ log_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnApi.EventLogConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2974
+ ) -> None:
2975
+ '''The configuration for an Event Api.
2976
+
2977
+ :param auth_providers: A list of auth providers for the AppSync API.
2978
+ :param connection_auth_modes: A list of auth modes for the AppSync API.
2979
+ :param default_publish_auth_modes: A list of auth modes for the AppSync API.
2980
+ :param default_subscribe_auth_modes: A list of auth modes for the AppSync API.
2981
+ :param log_config: The log config for the AppSync API.
2982
+
2983
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-eventconfig.html
2984
+ :exampleMetadata: fixture=_generated
2985
+
2986
+ Example::
2987
+
2988
+ # The code below shows an example of how to instantiate this type.
2989
+ # The values are placeholders you should change.
2990
+ from aws_cdk import aws_appsync as appsync
2991
+
2992
+ event_config_property = appsync.CfnApi.EventConfigProperty(
2993
+ auth_providers=[appsync.CfnApi.AuthProviderProperty(
2994
+ auth_type="authType",
2995
+
2996
+ # the properties below are optional
2997
+ cognito_config=appsync.CfnApi.CognitoConfigProperty(
2998
+ aws_region="awsRegion",
2999
+ user_pool_id="userPoolId",
3000
+
3001
+ # the properties below are optional
3002
+ app_id_client_regex="appIdClientRegex"
3003
+ ),
3004
+ lambda_authorizer_config=appsync.CfnApi.LambdaAuthorizerConfigProperty(
3005
+ authorizer_uri="authorizerUri",
3006
+
3007
+ # the properties below are optional
3008
+ authorizer_result_ttl_in_seconds=123,
3009
+ identity_validation_expression="identityValidationExpression"
3010
+ ),
3011
+ open_id_connect_config=appsync.CfnApi.OpenIDConnectConfigProperty(
3012
+ issuer="issuer",
3013
+
3014
+ # the properties below are optional
3015
+ auth_ttl=123,
3016
+ client_id="clientId",
3017
+ iat_ttl=123
3018
+ )
3019
+ )],
3020
+ connection_auth_modes=[appsync.CfnApi.AuthModeProperty(
3021
+ auth_type="authType"
3022
+ )],
3023
+ default_publish_auth_modes=[appsync.CfnApi.AuthModeProperty(
3024
+ auth_type="authType"
3025
+ )],
3026
+ default_subscribe_auth_modes=[appsync.CfnApi.AuthModeProperty(
3027
+ auth_type="authType"
3028
+ )],
3029
+
3030
+ # the properties below are optional
3031
+ log_config=appsync.CfnApi.EventLogConfigProperty(
3032
+ cloud_watch_logs_role_arn="cloudWatchLogsRoleArn",
3033
+ log_level="logLevel"
3034
+ )
3035
+ )
3036
+ '''
3037
+ if __debug__:
3038
+ type_hints = typing.get_type_hints(_typecheckingstub__53f8b01a4596f6e890e45a2870f92278e02fc06e912e096c33920157038135cf)
3039
+ check_type(argname="argument auth_providers", value=auth_providers, expected_type=type_hints["auth_providers"])
3040
+ check_type(argname="argument connection_auth_modes", value=connection_auth_modes, expected_type=type_hints["connection_auth_modes"])
3041
+ check_type(argname="argument default_publish_auth_modes", value=default_publish_auth_modes, expected_type=type_hints["default_publish_auth_modes"])
3042
+ check_type(argname="argument default_subscribe_auth_modes", value=default_subscribe_auth_modes, expected_type=type_hints["default_subscribe_auth_modes"])
3043
+ check_type(argname="argument log_config", value=log_config, expected_type=type_hints["log_config"])
3044
+ self._values: typing.Dict[builtins.str, typing.Any] = {
3045
+ "auth_providers": auth_providers,
3046
+ "connection_auth_modes": connection_auth_modes,
3047
+ "default_publish_auth_modes": default_publish_auth_modes,
3048
+ "default_subscribe_auth_modes": default_subscribe_auth_modes,
3049
+ }
3050
+ if log_config is not None:
3051
+ self._values["log_config"] = log_config
3052
+
3053
+ @builtins.property
3054
+ def auth_providers(
3055
+ self,
3056
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnApi.AuthProviderProperty"]]]:
3057
+ '''A list of auth providers for the AppSync API.
3058
+
3059
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-eventconfig.html#cfn-appsync-api-eventconfig-authproviders
3060
+ '''
3061
+ result = self._values.get("auth_providers")
3062
+ assert result is not None, "Required property 'auth_providers' is missing"
3063
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnApi.AuthProviderProperty"]]], result)
3064
+
3065
+ @builtins.property
3066
+ def connection_auth_modes(
3067
+ self,
3068
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnApi.AuthModeProperty"]]]:
3069
+ '''A list of auth modes for the AppSync API.
3070
+
3071
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-eventconfig.html#cfn-appsync-api-eventconfig-connectionauthmodes
3072
+ '''
3073
+ result = self._values.get("connection_auth_modes")
3074
+ assert result is not None, "Required property 'connection_auth_modes' is missing"
3075
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnApi.AuthModeProperty"]]], result)
3076
+
3077
+ @builtins.property
3078
+ def default_publish_auth_modes(
3079
+ self,
3080
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnApi.AuthModeProperty"]]]:
3081
+ '''A list of auth modes for the AppSync API.
3082
+
3083
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-eventconfig.html#cfn-appsync-api-eventconfig-defaultpublishauthmodes
3084
+ '''
3085
+ result = self._values.get("default_publish_auth_modes")
3086
+ assert result is not None, "Required property 'default_publish_auth_modes' is missing"
3087
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnApi.AuthModeProperty"]]], result)
3088
+
3089
+ @builtins.property
3090
+ def default_subscribe_auth_modes(
3091
+ self,
3092
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnApi.AuthModeProperty"]]]:
3093
+ '''A list of auth modes for the AppSync API.
3094
+
3095
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-eventconfig.html#cfn-appsync-api-eventconfig-defaultsubscribeauthmodes
3096
+ '''
3097
+ result = self._values.get("default_subscribe_auth_modes")
3098
+ assert result is not None, "Required property 'default_subscribe_auth_modes' is missing"
3099
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnApi.AuthModeProperty"]]], result)
3100
+
3101
+ @builtins.property
3102
+ def log_config(
3103
+ self,
3104
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnApi.EventLogConfigProperty"]]:
3105
+ '''The log config for the AppSync API.
3106
+
3107
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-eventconfig.html#cfn-appsync-api-eventconfig-logconfig
3108
+ '''
3109
+ result = self._values.get("log_config")
3110
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnApi.EventLogConfigProperty"]], result)
3111
+
3112
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3113
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3114
+
3115
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3116
+ return not (rhs == self)
3117
+
3118
+ def __repr__(self) -> str:
3119
+ return "EventConfigProperty(%s)" % ", ".join(
3120
+ k + "=" + repr(v) for k, v in self._values.items()
3121
+ )
3122
+
3123
+ @jsii.data_type(
3124
+ jsii_type="aws-cdk-lib.aws_appsync.CfnApi.EventLogConfigProperty",
3125
+ jsii_struct_bases=[],
3126
+ name_mapping={
3127
+ "cloud_watch_logs_role_arn": "cloudWatchLogsRoleArn",
3128
+ "log_level": "logLevel",
3129
+ },
3130
+ )
3131
+ class EventLogConfigProperty:
3132
+ def __init__(
3133
+ self,
3134
+ *,
3135
+ cloud_watch_logs_role_arn: builtins.str,
3136
+ log_level: builtins.str,
3137
+ ) -> None:
3138
+ '''The log config for the AppSync API.
3139
+
3140
+ :param cloud_watch_logs_role_arn:
3141
+ :param log_level: Logging level for the AppSync API.
3142
+
3143
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-eventlogconfig.html
3144
+ :exampleMetadata: fixture=_generated
3145
+
3146
+ Example::
3147
+
3148
+ # The code below shows an example of how to instantiate this type.
3149
+ # The values are placeholders you should change.
3150
+ from aws_cdk import aws_appsync as appsync
3151
+
3152
+ event_log_config_property = appsync.CfnApi.EventLogConfigProperty(
3153
+ cloud_watch_logs_role_arn="cloudWatchLogsRoleArn",
3154
+ log_level="logLevel"
3155
+ )
3156
+ '''
3157
+ if __debug__:
3158
+ type_hints = typing.get_type_hints(_typecheckingstub__5cbb1c5597e58c84a31d8dc10841de6fa70b9c328dacba388a7afdab090b3e6a)
3159
+ check_type(argname="argument cloud_watch_logs_role_arn", value=cloud_watch_logs_role_arn, expected_type=type_hints["cloud_watch_logs_role_arn"])
3160
+ check_type(argname="argument log_level", value=log_level, expected_type=type_hints["log_level"])
3161
+ self._values: typing.Dict[builtins.str, typing.Any] = {
3162
+ "cloud_watch_logs_role_arn": cloud_watch_logs_role_arn,
3163
+ "log_level": log_level,
3164
+ }
3165
+
3166
+ @builtins.property
3167
+ def cloud_watch_logs_role_arn(self) -> builtins.str:
3168
+ '''
3169
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-eventlogconfig.html#cfn-appsync-api-eventlogconfig-cloudwatchlogsrolearn
3170
+ '''
3171
+ result = self._values.get("cloud_watch_logs_role_arn")
3172
+ assert result is not None, "Required property 'cloud_watch_logs_role_arn' is missing"
3173
+ return typing.cast(builtins.str, result)
3174
+
3175
+ @builtins.property
3176
+ def log_level(self) -> builtins.str:
3177
+ '''Logging level for the AppSync API.
3178
+
3179
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-eventlogconfig.html#cfn-appsync-api-eventlogconfig-loglevel
3180
+ '''
3181
+ result = self._values.get("log_level")
3182
+ assert result is not None, "Required property 'log_level' is missing"
3183
+ return typing.cast(builtins.str, result)
3184
+
3185
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3186
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3187
+
3188
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3189
+ return not (rhs == self)
3190
+
3191
+ def __repr__(self) -> str:
3192
+ return "EventLogConfigProperty(%s)" % ", ".join(
3193
+ k + "=" + repr(v) for k, v in self._values.items()
3194
+ )
3195
+
3196
+ @jsii.data_type(
3197
+ jsii_type="aws-cdk-lib.aws_appsync.CfnApi.LambdaAuthorizerConfigProperty",
3198
+ jsii_struct_bases=[],
3199
+ name_mapping={
3200
+ "authorizer_uri": "authorizerUri",
3201
+ "authorizer_result_ttl_in_seconds": "authorizerResultTtlInSeconds",
3202
+ "identity_validation_expression": "identityValidationExpression",
3203
+ },
3204
+ )
3205
+ class LambdaAuthorizerConfigProperty:
3206
+ def __init__(
3207
+ self,
3208
+ *,
3209
+ authorizer_uri: builtins.str,
3210
+ authorizer_result_ttl_in_seconds: typing.Optional[jsii.Number] = None,
3211
+ identity_validation_expression: typing.Optional[builtins.str] = None,
3212
+ ) -> None:
3213
+ '''A ``LambdaAuthorizerConfig`` specifies how to authorize AWS AppSync API access when using the ``AWS_LAMBDA`` authorizer mode.
3214
+
3215
+ Be aware that an AWS AppSync API can have only one AWS Lambda authorizer configured at a time.
3216
+
3217
+ :param authorizer_uri: The Amazon Resource Name (ARN) of the Lambda function to be called for authorization. This can be a standard Lambda ARN, a version ARN ( ``.../v3`` ), or an alias ARN. *Note* : This Lambda function must have the following resource-based policy assigned to it. When configuring Lambda authorizers in the console, this is done for you. To use the AWS Command Line Interface ( AWS CLI ), run the following: ``aws lambda add-permission --function-name "arn:aws:lambda:us-east-2:111122223333:function:my-function" --statement-id "appsync" --principal appsync.amazonaws.com --action lambda:InvokeFunction``
3218
+ :param authorizer_result_ttl_in_seconds: The number of seconds a response should be cached for. The default is 0 seconds, which disables caching. If you don't specify a value for ``authorizerResultTtlInSeconds`` , the default value is used. The maximum value is one hour (3600 seconds). The Lambda function can override this by returning a ``ttlOverride`` key in its response.
3219
+ :param identity_validation_expression: A regular expression for validation of tokens before the Lambda function is called.
3220
+
3221
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-lambdaauthorizerconfig.html
3222
+ :exampleMetadata: fixture=_generated
3223
+
3224
+ Example::
3225
+
3226
+ # The code below shows an example of how to instantiate this type.
3227
+ # The values are placeholders you should change.
3228
+ from aws_cdk import aws_appsync as appsync
3229
+
3230
+ lambda_authorizer_config_property = appsync.CfnApi.LambdaAuthorizerConfigProperty(
3231
+ authorizer_uri="authorizerUri",
3232
+
3233
+ # the properties below are optional
3234
+ authorizer_result_ttl_in_seconds=123,
3235
+ identity_validation_expression="identityValidationExpression"
3236
+ )
3237
+ '''
3238
+ if __debug__:
3239
+ type_hints = typing.get_type_hints(_typecheckingstub__6eb7eaf1ef726d95b558700ffd22e714695a485aed3b5a3ae796f2a03efae22c)
3240
+ check_type(argname="argument authorizer_uri", value=authorizer_uri, expected_type=type_hints["authorizer_uri"])
3241
+ check_type(argname="argument authorizer_result_ttl_in_seconds", value=authorizer_result_ttl_in_seconds, expected_type=type_hints["authorizer_result_ttl_in_seconds"])
3242
+ check_type(argname="argument identity_validation_expression", value=identity_validation_expression, expected_type=type_hints["identity_validation_expression"])
3243
+ self._values: typing.Dict[builtins.str, typing.Any] = {
3244
+ "authorizer_uri": authorizer_uri,
3245
+ }
3246
+ if authorizer_result_ttl_in_seconds is not None:
3247
+ self._values["authorizer_result_ttl_in_seconds"] = authorizer_result_ttl_in_seconds
3248
+ if identity_validation_expression is not None:
3249
+ self._values["identity_validation_expression"] = identity_validation_expression
3250
+
3251
+ @builtins.property
3252
+ def authorizer_uri(self) -> builtins.str:
3253
+ '''The Amazon Resource Name (ARN) of the Lambda function to be called for authorization.
3254
+
3255
+ This can be a standard Lambda ARN, a version ARN ( ``.../v3`` ), or an alias ARN.
3256
+
3257
+ *Note* : This Lambda function must have the following resource-based policy assigned to it. When configuring Lambda authorizers in the console, this is done for you. To use the AWS Command Line Interface ( AWS CLI ), run the following:
3258
+
3259
+ ``aws lambda add-permission --function-name "arn:aws:lambda:us-east-2:111122223333:function:my-function" --statement-id "appsync" --principal appsync.amazonaws.com --action lambda:InvokeFunction``
3260
+
3261
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-lambdaauthorizerconfig.html#cfn-appsync-api-lambdaauthorizerconfig-authorizeruri
3262
+ '''
3263
+ result = self._values.get("authorizer_uri")
3264
+ assert result is not None, "Required property 'authorizer_uri' is missing"
3265
+ return typing.cast(builtins.str, result)
3266
+
3267
+ @builtins.property
3268
+ def authorizer_result_ttl_in_seconds(self) -> typing.Optional[jsii.Number]:
3269
+ '''The number of seconds a response should be cached for.
3270
+
3271
+ The default is 0 seconds, which disables caching. If you don't specify a value for ``authorizerResultTtlInSeconds`` , the default value is used. The maximum value is one hour (3600 seconds). The Lambda function can override this by returning a ``ttlOverride`` key in its response.
3272
+
3273
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-lambdaauthorizerconfig.html#cfn-appsync-api-lambdaauthorizerconfig-authorizerresultttlinseconds
3274
+ '''
3275
+ result = self._values.get("authorizer_result_ttl_in_seconds")
3276
+ return typing.cast(typing.Optional[jsii.Number], result)
3277
+
3278
+ @builtins.property
3279
+ def identity_validation_expression(self) -> typing.Optional[builtins.str]:
3280
+ '''A regular expression for validation of tokens before the Lambda function is called.
3281
+
3282
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-lambdaauthorizerconfig.html#cfn-appsync-api-lambdaauthorizerconfig-identityvalidationexpression
3283
+ '''
3284
+ result = self._values.get("identity_validation_expression")
3285
+ return typing.cast(typing.Optional[builtins.str], result)
3286
+
3287
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3288
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3289
+
3290
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3291
+ return not (rhs == self)
3292
+
3293
+ def __repr__(self) -> str:
3294
+ return "LambdaAuthorizerConfigProperty(%s)" % ", ".join(
3295
+ k + "=" + repr(v) for k, v in self._values.items()
3296
+ )
3297
+
3298
+ @jsii.data_type(
3299
+ jsii_type="aws-cdk-lib.aws_appsync.CfnApi.OpenIDConnectConfigProperty",
3300
+ jsii_struct_bases=[],
3301
+ name_mapping={
3302
+ "issuer": "issuer",
3303
+ "auth_ttl": "authTtl",
3304
+ "client_id": "clientId",
3305
+ "iat_ttl": "iatTtl",
3306
+ },
3307
+ )
3308
+ class OpenIDConnectConfigProperty:
3309
+ def __init__(
3310
+ self,
3311
+ *,
3312
+ issuer: builtins.str,
3313
+ auth_ttl: typing.Optional[jsii.Number] = None,
3314
+ client_id: typing.Optional[builtins.str] = None,
3315
+ iat_ttl: typing.Optional[jsii.Number] = None,
3316
+ ) -> None:
3317
+ '''Describes an OpenID Connect (OIDC) configuration.
3318
+
3319
+ :param issuer: The issuer for the OIDC configuration. The issuer returned by discovery must exactly match the value of ``iss`` in the ID token.
3320
+ :param auth_ttl: The number of milliseconds that a token is valid after being authenticated.
3321
+ :param client_id: The client identifier of the relying party at the OpenID identity provider. This identifier is typically obtained when the relying party is registered with the OpenID identity provider. You can specify a regular expression so that AWS AppSync can validate against multiple client identifiers at a time.
3322
+ :param iat_ttl: The number of milliseconds that a token is valid after it's issued to a user.
3323
+
3324
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-openidconnectconfig.html
3325
+ :exampleMetadata: fixture=_generated
3326
+
3327
+ Example::
3328
+
3329
+ # The code below shows an example of how to instantiate this type.
3330
+ # The values are placeholders you should change.
3331
+ from aws_cdk import aws_appsync as appsync
3332
+
3333
+ open_iDConnect_config_property = appsync.CfnApi.OpenIDConnectConfigProperty(
3334
+ issuer="issuer",
3335
+
3336
+ # the properties below are optional
3337
+ auth_ttl=123,
3338
+ client_id="clientId",
3339
+ iat_ttl=123
3340
+ )
3341
+ '''
3342
+ if __debug__:
3343
+ type_hints = typing.get_type_hints(_typecheckingstub__560e301b02d9bfc40a0d691fa82c55f336f07c62f130aa6e9464ab1c1b676cf8)
3344
+ check_type(argname="argument issuer", value=issuer, expected_type=type_hints["issuer"])
3345
+ check_type(argname="argument auth_ttl", value=auth_ttl, expected_type=type_hints["auth_ttl"])
3346
+ check_type(argname="argument client_id", value=client_id, expected_type=type_hints["client_id"])
3347
+ check_type(argname="argument iat_ttl", value=iat_ttl, expected_type=type_hints["iat_ttl"])
3348
+ self._values: typing.Dict[builtins.str, typing.Any] = {
3349
+ "issuer": issuer,
3350
+ }
3351
+ if auth_ttl is not None:
3352
+ self._values["auth_ttl"] = auth_ttl
3353
+ if client_id is not None:
3354
+ self._values["client_id"] = client_id
3355
+ if iat_ttl is not None:
3356
+ self._values["iat_ttl"] = iat_ttl
3357
+
3358
+ @builtins.property
3359
+ def issuer(self) -> builtins.str:
3360
+ '''The issuer for the OIDC configuration.
3361
+
3362
+ The issuer returned by discovery must exactly match the value of ``iss`` in the ID token.
3363
+
3364
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-openidconnectconfig.html#cfn-appsync-api-openidconnectconfig-issuer
3365
+ '''
3366
+ result = self._values.get("issuer")
3367
+ assert result is not None, "Required property 'issuer' is missing"
3368
+ return typing.cast(builtins.str, result)
3369
+
3370
+ @builtins.property
3371
+ def auth_ttl(self) -> typing.Optional[jsii.Number]:
3372
+ '''The number of milliseconds that a token is valid after being authenticated.
3373
+
3374
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-openidconnectconfig.html#cfn-appsync-api-openidconnectconfig-authttl
3375
+ '''
3376
+ result = self._values.get("auth_ttl")
3377
+ return typing.cast(typing.Optional[jsii.Number], result)
3378
+
3379
+ @builtins.property
3380
+ def client_id(self) -> typing.Optional[builtins.str]:
3381
+ '''The client identifier of the relying party at the OpenID identity provider.
3382
+
3383
+ This identifier is typically obtained when the relying party is registered with the OpenID identity provider. You can specify a regular expression so that AWS AppSync can validate against multiple client identifiers at a time.
3384
+
3385
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-openidconnectconfig.html#cfn-appsync-api-openidconnectconfig-clientid
3386
+ '''
3387
+ result = self._values.get("client_id")
3388
+ return typing.cast(typing.Optional[builtins.str], result)
3389
+
3390
+ @builtins.property
3391
+ def iat_ttl(self) -> typing.Optional[jsii.Number]:
3392
+ '''The number of milliseconds that a token is valid after it's issued to a user.
3393
+
3394
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-openidconnectconfig.html#cfn-appsync-api-openidconnectconfig-iatttl
3395
+ '''
3396
+ result = self._values.get("iat_ttl")
3397
+ return typing.cast(typing.Optional[jsii.Number], result)
3398
+
3399
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3400
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3401
+
3402
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3403
+ return not (rhs == self)
3404
+
3405
+ def __repr__(self) -> str:
3406
+ return "OpenIDConnectConfigProperty(%s)" % ", ".join(
3407
+ k + "=" + repr(v) for k, v in self._values.items()
3408
+ )
3409
+
3410
+
3411
+ @jsii.implements(_IInspectable_c2943556)
3412
+ class CfnApiCache(
3413
+ _CfnResource_9df397a6,
3414
+ metaclass=jsii.JSIIMeta,
3415
+ jsii_type="aws-cdk-lib.aws_appsync.CfnApiCache",
3416
+ ):
3417
+ '''The ``AWS::AppSync::ApiCache`` resource represents the input of a ``CreateApiCache`` operation.
3418
+
3419
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html
3420
+ :cloudformationResource: AWS::AppSync::ApiCache
3421
+ :exampleMetadata: fixture=_generated
3422
+
3423
+ Example::
3424
+
3425
+ # The code below shows an example of how to instantiate this type.
3426
+ # The values are placeholders you should change.
3427
+ from aws_cdk import aws_appsync as appsync
3428
+
3429
+ cfn_api_cache = appsync.CfnApiCache(self, "MyCfnApiCache",
3430
+ api_caching_behavior="apiCachingBehavior",
3431
+ api_id="apiId",
3432
+ ttl=123,
3433
+ type="type",
3434
+
3435
+ # the properties below are optional
3436
+ at_rest_encryption_enabled=False,
3437
+ health_metrics_config="healthMetricsConfig",
3438
+ transit_encryption_enabled=False
3439
+ )
3440
+ '''
3441
+
3442
+ def __init__(
3443
+ self,
3444
+ scope: _constructs_77d1e7e8.Construct,
3445
+ id: builtins.str,
3446
+ *,
3447
+ api_caching_behavior: builtins.str,
3448
+ api_id: builtins.str,
3449
+ ttl: jsii.Number,
3450
+ type: builtins.str,
3451
+ at_rest_encryption_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
3452
+ health_metrics_config: typing.Optional[builtins.str] = None,
3453
+ transit_encryption_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
3454
+ ) -> None:
3455
+ '''
3456
+ :param scope: Scope in which this resource is defined.
3457
+ :param id: Construct identifier for this resource (unique in its scope).
3458
+ :param api_caching_behavior: Caching behavior. - *FULL_REQUEST_CACHING* : All requests are fully cached. - *PER_RESOLVER_CACHING* : Individual resolvers that you specify are cached.
3459
+ :param api_id: The GraphQL API ID.
3460
+ :param ttl: TTL in seconds for cache entries. Valid values are 1–3,600 seconds.
3461
+ :param type: The cache instance type. Valid values are. - ``SMALL`` - ``MEDIUM`` - ``LARGE`` - ``XLARGE`` - ``LARGE_2X`` - ``LARGE_4X`` - ``LARGE_8X`` (not available in all regions) - ``LARGE_12X`` Historically, instance types were identified by an EC2-style value. As of July 2020, this is deprecated, and the generic identifiers above should be used. The following legacy instance types are available, but their use is discouraged: - *T2_SMALL* : A t2.small instance type. - *T2_MEDIUM* : A t2.medium instance type. - *R4_LARGE* : A r4.large instance type. - *R4_XLARGE* : A r4.xlarge instance type. - *R4_2XLARGE* : A r4.2xlarge instance type. - *R4_4XLARGE* : A r4.4xlarge instance type. - *R4_8XLARGE* : A r4.8xlarge instance type.
3462
+ :param at_rest_encryption_enabled: At-rest encryption flag for cache. You cannot update this setting after creation.
3463
+ :param health_metrics_config: Controls how cache health metrics will be emitted to CloudWatch. Cache health metrics include:. - *NetworkBandwidthOutAllowanceExceeded* : The network packets dropped because the throughput exceeded the aggregated bandwidth limit. This is useful for diagnosing bottlenecks in a cache configuration. - *EngineCPUUtilization* : The CPU utilization (percentage) allocated to the Redis process. This is useful for diagnosing bottlenecks in a cache configuration. Metrics will be recorded by API ID. You can set the value to ``ENABLED`` or ``DISABLED`` .
3464
+ :param transit_encryption_enabled: Transit encryption flag when connecting to cache. You cannot update this setting after creation.
3465
+ '''
3466
+ if __debug__:
3467
+ type_hints = typing.get_type_hints(_typecheckingstub__e9d92b7b2abdac7341eb92f7ac10d2d67dd2700af68eaf42c72c47ffdaacc344)
3468
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
3469
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
3470
+ props = CfnApiCacheProps(
3471
+ api_caching_behavior=api_caching_behavior,
3472
+ api_id=api_id,
3473
+ ttl=ttl,
3474
+ type=type,
3475
+ at_rest_encryption_enabled=at_rest_encryption_enabled,
3476
+ health_metrics_config=health_metrics_config,
3477
+ transit_encryption_enabled=transit_encryption_enabled,
3478
+ )
3479
+
3480
+ jsii.create(self.__class__, self, [scope, id, props])
3481
+
3482
+ @jsii.member(jsii_name="inspect")
3483
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
3484
+ '''Examines the CloudFormation resource and discloses attributes.
3485
+
3486
+ :param inspector: tree inspector to collect and process attributes.
3487
+ '''
3488
+ if __debug__:
3489
+ type_hints = typing.get_type_hints(_typecheckingstub__142193172b7ee1304f3b8fd949531b4cfa950ea62d0dc10f9ed5a184a603132d)
3490
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
3491
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
3492
+
3493
+ @jsii.member(jsii_name="renderProperties")
3494
+ def _render_properties(
3495
+ self,
3496
+ props: typing.Mapping[builtins.str, typing.Any],
3497
+ ) -> typing.Mapping[builtins.str, typing.Any]:
3498
+ '''
3499
+ :param props: -
3500
+ '''
3501
+ if __debug__:
3502
+ type_hints = typing.get_type_hints(_typecheckingstub__1ce863b5f21a86ce886458054cd4de0550269c18eb7c4f3fb37884dc2869845e)
3503
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
3504
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
3505
+
3506
+ @jsii.python.classproperty
3507
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
3508
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
3509
+ '''The CloudFormation resource type name for this resource class.'''
3510
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
3511
+
3512
+ @builtins.property
3513
+ @jsii.member(jsii_name="attrId")
3514
+ def attr_id(self) -> builtins.str:
3515
+ '''
3516
+ :cloudformationAttribute: Id
3517
+ '''
3518
+ return typing.cast(builtins.str, jsii.get(self, "attrId"))
3519
+
3520
+ @builtins.property
3521
+ @jsii.member(jsii_name="cfnProperties")
3522
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
3523
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
3524
+
3525
+ @builtins.property
3526
+ @jsii.member(jsii_name="apiCachingBehavior")
3527
+ def api_caching_behavior(self) -> builtins.str:
3528
+ '''Caching behavior.'''
3529
+ return typing.cast(builtins.str, jsii.get(self, "apiCachingBehavior"))
3530
+
3531
+ @api_caching_behavior.setter
3532
+ def api_caching_behavior(self, value: builtins.str) -> None:
3533
+ if __debug__:
3534
+ type_hints = typing.get_type_hints(_typecheckingstub__aee6b3576fbf654864dae4f55fe292d210bf01534f16f80af0ac225f8fa338c9)
3535
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3536
+ jsii.set(self, "apiCachingBehavior", value) # pyright: ignore[reportArgumentType]
3537
+
3538
+ @builtins.property
3539
+ @jsii.member(jsii_name="apiId")
3540
+ def api_id(self) -> builtins.str:
3541
+ '''The GraphQL API ID.'''
3542
+ return typing.cast(builtins.str, jsii.get(self, "apiId"))
3543
+
3544
+ @api_id.setter
3545
+ def api_id(self, value: builtins.str) -> None:
3546
+ if __debug__:
3547
+ type_hints = typing.get_type_hints(_typecheckingstub__6c2fdac623dbaddb2a0226d75e6f3ca84c058f3f46b9c9a1289820c1cf0827e1)
3548
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3549
+ jsii.set(self, "apiId", value) # pyright: ignore[reportArgumentType]
3550
+
3551
+ @builtins.property
3552
+ @jsii.member(jsii_name="ttl")
3553
+ def ttl(self) -> jsii.Number:
3554
+ '''TTL in seconds for cache entries.'''
3555
+ return typing.cast(jsii.Number, jsii.get(self, "ttl"))
3556
+
3557
+ @ttl.setter
3558
+ def ttl(self, value: jsii.Number) -> None:
3559
+ if __debug__:
3560
+ type_hints = typing.get_type_hints(_typecheckingstub__1893b7ba08236941b8e5bb4704e7fe53f8819086085796443b5d68f513e66eaa)
3561
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3562
+ jsii.set(self, "ttl", value) # pyright: ignore[reportArgumentType]
3563
+
3564
+ @builtins.property
3565
+ @jsii.member(jsii_name="type")
3566
+ def type(self) -> builtins.str:
3567
+ '''The cache instance type.
3568
+
3569
+ Valid values are.
3570
+ '''
3571
+ return typing.cast(builtins.str, jsii.get(self, "type"))
3572
+
3573
+ @type.setter
3574
+ def type(self, value: builtins.str) -> None:
3575
+ if __debug__:
3576
+ type_hints = typing.get_type_hints(_typecheckingstub__45dc491e21920c6cd0ddecd9aada80283ac759d9eaca52c45a6ce35197166e9d)
3577
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3578
+ jsii.set(self, "type", value) # pyright: ignore[reportArgumentType]
3579
+
3580
+ @builtins.property
3581
+ @jsii.member(jsii_name="atRestEncryptionEnabled")
3582
+ def at_rest_encryption_enabled(
3583
+ self,
3584
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
3585
+ '''At-rest encryption flag for cache.'''
3586
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "atRestEncryptionEnabled"))
3587
+
3588
+ @at_rest_encryption_enabled.setter
3589
+ def at_rest_encryption_enabled(
3590
+ self,
3591
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
3592
+ ) -> None:
3593
+ if __debug__:
3594
+ type_hints = typing.get_type_hints(_typecheckingstub__93a4abe242f634763c1f128b7e17017d1176924c9b032d5536f4caa3b3fc3bd6)
3595
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3596
+ jsii.set(self, "atRestEncryptionEnabled", value) # pyright: ignore[reportArgumentType]
3597
+
3598
+ @builtins.property
3599
+ @jsii.member(jsii_name="healthMetricsConfig")
3600
+ def health_metrics_config(self) -> typing.Optional[builtins.str]:
3601
+ '''Controls how cache health metrics will be emitted to CloudWatch.
3602
+
3603
+ Cache health metrics include:.
3604
+ '''
3605
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "healthMetricsConfig"))
3606
+
3607
+ @health_metrics_config.setter
3608
+ def health_metrics_config(self, value: typing.Optional[builtins.str]) -> None:
3609
+ if __debug__:
3610
+ type_hints = typing.get_type_hints(_typecheckingstub__55de0a796fc6cc946fccbec8ff82c493648ae16228267a0627a624d4e64e10dd)
3611
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3612
+ jsii.set(self, "healthMetricsConfig", value) # pyright: ignore[reportArgumentType]
3613
+
3614
+ @builtins.property
3615
+ @jsii.member(jsii_name="transitEncryptionEnabled")
3616
+ def transit_encryption_enabled(
3617
+ self,
3618
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
3619
+ '''Transit encryption flag when connecting to cache.'''
3620
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "transitEncryptionEnabled"))
3621
+
3622
+ @transit_encryption_enabled.setter
3623
+ def transit_encryption_enabled(
3624
+ self,
3625
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
3626
+ ) -> None:
3627
+ if __debug__:
3628
+ type_hints = typing.get_type_hints(_typecheckingstub__eb39499095e917401c885f7c77781744d09df071b1ed62c6f2c32cbbc6fbdb33)
3629
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3630
+ jsii.set(self, "transitEncryptionEnabled", value) # pyright: ignore[reportArgumentType]
3631
+
3632
+
3633
+ @jsii.data_type(
3634
+ jsii_type="aws-cdk-lib.aws_appsync.CfnApiCacheProps",
3635
+ jsii_struct_bases=[],
3636
+ name_mapping={
3637
+ "api_caching_behavior": "apiCachingBehavior",
3638
+ "api_id": "apiId",
3639
+ "ttl": "ttl",
3640
+ "type": "type",
3641
+ "at_rest_encryption_enabled": "atRestEncryptionEnabled",
3642
+ "health_metrics_config": "healthMetricsConfig",
3643
+ "transit_encryption_enabled": "transitEncryptionEnabled",
3644
+ },
3645
+ )
3646
+ class CfnApiCacheProps:
3647
+ def __init__(
3648
+ self,
3649
+ *,
3650
+ api_caching_behavior: builtins.str,
3651
+ api_id: builtins.str,
3652
+ ttl: jsii.Number,
3653
+ type: builtins.str,
3654
+ at_rest_encryption_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
3655
+ health_metrics_config: typing.Optional[builtins.str] = None,
3656
+ transit_encryption_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
3657
+ ) -> None:
3658
+ '''Properties for defining a ``CfnApiCache``.
3659
+
3660
+ :param api_caching_behavior: Caching behavior. - *FULL_REQUEST_CACHING* : All requests are fully cached. - *PER_RESOLVER_CACHING* : Individual resolvers that you specify are cached.
3661
+ :param api_id: The GraphQL API ID.
3662
+ :param ttl: TTL in seconds for cache entries. Valid values are 1–3,600 seconds.
3663
+ :param type: The cache instance type. Valid values are. - ``SMALL`` - ``MEDIUM`` - ``LARGE`` - ``XLARGE`` - ``LARGE_2X`` - ``LARGE_4X`` - ``LARGE_8X`` (not available in all regions) - ``LARGE_12X`` Historically, instance types were identified by an EC2-style value. As of July 2020, this is deprecated, and the generic identifiers above should be used. The following legacy instance types are available, but their use is discouraged: - *T2_SMALL* : A t2.small instance type. - *T2_MEDIUM* : A t2.medium instance type. - *R4_LARGE* : A r4.large instance type. - *R4_XLARGE* : A r4.xlarge instance type. - *R4_2XLARGE* : A r4.2xlarge instance type. - *R4_4XLARGE* : A r4.4xlarge instance type. - *R4_8XLARGE* : A r4.8xlarge instance type.
3664
+ :param at_rest_encryption_enabled: At-rest encryption flag for cache. You cannot update this setting after creation.
3665
+ :param health_metrics_config: Controls how cache health metrics will be emitted to CloudWatch. Cache health metrics include:. - *NetworkBandwidthOutAllowanceExceeded* : The network packets dropped because the throughput exceeded the aggregated bandwidth limit. This is useful for diagnosing bottlenecks in a cache configuration. - *EngineCPUUtilization* : The CPU utilization (percentage) allocated to the Redis process. This is useful for diagnosing bottlenecks in a cache configuration. Metrics will be recorded by API ID. You can set the value to ``ENABLED`` or ``DISABLED`` .
3666
+ :param transit_encryption_enabled: Transit encryption flag when connecting to cache. You cannot update this setting after creation.
3667
+
3668
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html
3669
+ :exampleMetadata: fixture=_generated
3670
+
3671
+ Example::
3672
+
3673
+ # The code below shows an example of how to instantiate this type.
3674
+ # The values are placeholders you should change.
3675
+ from aws_cdk import aws_appsync as appsync
3676
+
3677
+ cfn_api_cache_props = appsync.CfnApiCacheProps(
3678
+ api_caching_behavior="apiCachingBehavior",
3679
+ api_id="apiId",
3680
+ ttl=123,
3681
+ type="type",
3682
+
3683
+ # the properties below are optional
3684
+ at_rest_encryption_enabled=False,
3685
+ health_metrics_config="healthMetricsConfig",
3686
+ transit_encryption_enabled=False
3687
+ )
3688
+ '''
3689
+ if __debug__:
3690
+ type_hints = typing.get_type_hints(_typecheckingstub__8f054fa3186eb5f122c20e523bed485713c72511ee3ee94be25733ecad9a348c)
3691
+ check_type(argname="argument api_caching_behavior", value=api_caching_behavior, expected_type=type_hints["api_caching_behavior"])
3692
+ check_type(argname="argument api_id", value=api_id, expected_type=type_hints["api_id"])
3693
+ check_type(argname="argument ttl", value=ttl, expected_type=type_hints["ttl"])
3694
+ check_type(argname="argument type", value=type, expected_type=type_hints["type"])
3695
+ check_type(argname="argument at_rest_encryption_enabled", value=at_rest_encryption_enabled, expected_type=type_hints["at_rest_encryption_enabled"])
3696
+ check_type(argname="argument health_metrics_config", value=health_metrics_config, expected_type=type_hints["health_metrics_config"])
3697
+ check_type(argname="argument transit_encryption_enabled", value=transit_encryption_enabled, expected_type=type_hints["transit_encryption_enabled"])
3698
+ self._values: typing.Dict[builtins.str, typing.Any] = {
3699
+ "api_caching_behavior": api_caching_behavior,
3700
+ "api_id": api_id,
3701
+ "ttl": ttl,
3702
+ "type": type,
3703
+ }
3704
+ if at_rest_encryption_enabled is not None:
3705
+ self._values["at_rest_encryption_enabled"] = at_rest_encryption_enabled
3706
+ if health_metrics_config is not None:
3707
+ self._values["health_metrics_config"] = health_metrics_config
3708
+ if transit_encryption_enabled is not None:
3709
+ self._values["transit_encryption_enabled"] = transit_encryption_enabled
3710
+
3711
+ @builtins.property
3712
+ def api_caching_behavior(self) -> builtins.str:
3713
+ '''Caching behavior.
3714
+
3715
+ - *FULL_REQUEST_CACHING* : All requests are fully cached.
3716
+ - *PER_RESOLVER_CACHING* : Individual resolvers that you specify are cached.
3717
+
3718
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html#cfn-appsync-apicache-apicachingbehavior
3719
+ '''
3720
+ result = self._values.get("api_caching_behavior")
3721
+ assert result is not None, "Required property 'api_caching_behavior' is missing"
3722
+ return typing.cast(builtins.str, result)
3723
+
3724
+ @builtins.property
3725
+ def api_id(self) -> builtins.str:
3726
+ '''The GraphQL API ID.
3727
+
3728
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html#cfn-appsync-apicache-apiid
3729
+ '''
3730
+ result = self._values.get("api_id")
3731
+ assert result is not None, "Required property 'api_id' is missing"
3732
+ return typing.cast(builtins.str, result)
3733
+
3734
+ @builtins.property
3735
+ def ttl(self) -> jsii.Number:
3736
+ '''TTL in seconds for cache entries.
3737
+
3738
+ Valid values are 1–3,600 seconds.
3739
+
3740
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html#cfn-appsync-apicache-ttl
3741
+ '''
3742
+ result = self._values.get("ttl")
3743
+ assert result is not None, "Required property 'ttl' is missing"
3744
+ return typing.cast(jsii.Number, result)
3745
+
3746
+ @builtins.property
3747
+ def type(self) -> builtins.str:
3748
+ '''The cache instance type. Valid values are.
3749
+
3750
+ - ``SMALL``
3751
+ - ``MEDIUM``
3752
+ - ``LARGE``
3753
+ - ``XLARGE``
3754
+ - ``LARGE_2X``
3755
+ - ``LARGE_4X``
3756
+ - ``LARGE_8X`` (not available in all regions)
3757
+ - ``LARGE_12X``
3758
+
3759
+ Historically, instance types were identified by an EC2-style value. As of July 2020, this is deprecated, and the generic identifiers above should be used.
3760
+
3761
+ The following legacy instance types are available, but their use is discouraged:
3762
+
3763
+ - *T2_SMALL* : A t2.small instance type.
3764
+ - *T2_MEDIUM* : A t2.medium instance type.
3765
+ - *R4_LARGE* : A r4.large instance type.
3766
+ - *R4_XLARGE* : A r4.xlarge instance type.
3767
+ - *R4_2XLARGE* : A r4.2xlarge instance type.
3768
+ - *R4_4XLARGE* : A r4.4xlarge instance type.
3769
+ - *R4_8XLARGE* : A r4.8xlarge instance type.
3770
+
3771
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html#cfn-appsync-apicache-type
3772
+ '''
3773
+ result = self._values.get("type")
3774
+ assert result is not None, "Required property 'type' is missing"
3775
+ return typing.cast(builtins.str, result)
3776
+
3777
+ @builtins.property
3778
+ def at_rest_encryption_enabled(
3779
+ self,
3780
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
3781
+ '''At-rest encryption flag for cache.
3782
+
3783
+ You cannot update this setting after creation.
3784
+
3785
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html#cfn-appsync-apicache-atrestencryptionenabled
3786
+ '''
3787
+ result = self._values.get("at_rest_encryption_enabled")
3788
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
3789
+
3790
+ @builtins.property
3791
+ def health_metrics_config(self) -> typing.Optional[builtins.str]:
3792
+ '''Controls how cache health metrics will be emitted to CloudWatch. Cache health metrics include:.
3793
+
3794
+ - *NetworkBandwidthOutAllowanceExceeded* : The network packets dropped because the throughput exceeded the aggregated bandwidth limit. This is useful for diagnosing bottlenecks in a cache configuration.
3795
+ - *EngineCPUUtilization* : The CPU utilization (percentage) allocated to the Redis process. This is useful for diagnosing bottlenecks in a cache configuration.
3796
+
3797
+ Metrics will be recorded by API ID. You can set the value to ``ENABLED`` or ``DISABLED`` .
3798
+
3799
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html#cfn-appsync-apicache-healthmetricsconfig
3800
+ '''
3801
+ result = self._values.get("health_metrics_config")
3802
+ return typing.cast(typing.Optional[builtins.str], result)
3803
+
3804
+ @builtins.property
3805
+ def transit_encryption_enabled(
3806
+ self,
3807
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
3808
+ '''Transit encryption flag when connecting to cache.
3809
+
3810
+ You cannot update this setting after creation.
3811
+
3812
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html#cfn-appsync-apicache-transitencryptionenabled
3813
+ '''
3814
+ result = self._values.get("transit_encryption_enabled")
3815
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
3816
+
3817
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3818
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3819
+
3820
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3821
+ return not (rhs == self)
3822
+
3823
+ def __repr__(self) -> str:
3824
+ return "CfnApiCacheProps(%s)" % ", ".join(
3825
+ k + "=" + repr(v) for k, v in self._values.items()
3826
+ )
3827
+
3828
+
3829
+ @jsii.implements(_IInspectable_c2943556)
3830
+ class CfnApiKey(
3831
+ _CfnResource_9df397a6,
3832
+ metaclass=jsii.JSIIMeta,
3833
+ jsii_type="aws-cdk-lib.aws_appsync.CfnApiKey",
3834
+ ):
3835
+ '''The ``AWS::AppSync::ApiKey`` resource creates a unique key that you can distribute to clients who are executing GraphQL operations with AWS AppSync that require an API key.
3836
+
3837
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html
3838
+ :cloudformationResource: AWS::AppSync::ApiKey
3839
+ :exampleMetadata: fixture=_generated
3840
+
3841
+ Example::
3842
+
3843
+ # The code below shows an example of how to instantiate this type.
3844
+ # The values are placeholders you should change.
3845
+ from aws_cdk import aws_appsync as appsync
3846
+
3847
+ cfn_api_key = appsync.CfnApiKey(self, "MyCfnApiKey",
3848
+ api_id="apiId",
3849
+
3850
+ # the properties below are optional
3851
+ description="description",
3852
+ expires=123
3853
+ )
3854
+ '''
3855
+
3856
+ def __init__(
3857
+ self,
3858
+ scope: _constructs_77d1e7e8.Construct,
3859
+ id: builtins.str,
3860
+ *,
3861
+ api_id: builtins.str,
3862
+ description: typing.Optional[builtins.str] = None,
3863
+ expires: typing.Optional[jsii.Number] = None,
3864
+ ) -> None:
3865
+ '''
3866
+ :param scope: Scope in which this resource is defined.
3867
+ :param id: Construct identifier for this resource (unique in its scope).
3868
+ :param api_id: Unique AWS AppSync GraphQL API ID for this API key.
3869
+ :param description: Unique description of your API key.
3870
+ :param expires: The time after which the API key expires. The date is represented as seconds since the epoch, rounded down to the nearest hour.
2725
3871
  '''
2726
3872
  if __debug__:
2727
- type_hints = typing.get_type_hints(_typecheckingstub__8f054fa3186eb5f122c20e523bed485713c72511ee3ee94be25733ecad9a348c)
2728
- check_type(argname="argument api_caching_behavior", value=api_caching_behavior, expected_type=type_hints["api_caching_behavior"])
3873
+ type_hints = typing.get_type_hints(_typecheckingstub__e6065dd18c9d420fd4fcd70aced8416006f044f82aecff54150165e832539a8e)
3874
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
3875
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
3876
+ props = CfnApiKeyProps(api_id=api_id, description=description, expires=expires)
3877
+
3878
+ jsii.create(self.__class__, self, [scope, id, props])
3879
+
3880
+ @jsii.member(jsii_name="inspect")
3881
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
3882
+ '''Examines the CloudFormation resource and discloses attributes.
3883
+
3884
+ :param inspector: tree inspector to collect and process attributes.
3885
+ '''
3886
+ if __debug__:
3887
+ type_hints = typing.get_type_hints(_typecheckingstub__1f8f02bc91fc0b32c990b8d08a5d7a0ef78a88363920fa69d4196dcc7f2ecfb3)
3888
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
3889
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
3890
+
3891
+ @jsii.member(jsii_name="renderProperties")
3892
+ def _render_properties(
3893
+ self,
3894
+ props: typing.Mapping[builtins.str, typing.Any],
3895
+ ) -> typing.Mapping[builtins.str, typing.Any]:
3896
+ '''
3897
+ :param props: -
3898
+ '''
3899
+ if __debug__:
3900
+ type_hints = typing.get_type_hints(_typecheckingstub__a844b496712966f29aae49f2f831e6a85c7acf03c2ce61c94162ccf13c5efd6d)
3901
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
3902
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
3903
+
3904
+ @jsii.python.classproperty
3905
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
3906
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
3907
+ '''The CloudFormation resource type name for this resource class.'''
3908
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
3909
+
3910
+ @builtins.property
3911
+ @jsii.member(jsii_name="attrApiKey")
3912
+ def attr_api_key(self) -> builtins.str:
3913
+ '''The API key.
3914
+
3915
+ :cloudformationAttribute: ApiKey
3916
+ '''
3917
+ return typing.cast(builtins.str, jsii.get(self, "attrApiKey"))
3918
+
3919
+ @builtins.property
3920
+ @jsii.member(jsii_name="attrApiKeyId")
3921
+ def attr_api_key_id(self) -> builtins.str:
3922
+ '''The API key ID.
3923
+
3924
+ :cloudformationAttribute: ApiKeyId
3925
+ '''
3926
+ return typing.cast(builtins.str, jsii.get(self, "attrApiKeyId"))
3927
+
3928
+ @builtins.property
3929
+ @jsii.member(jsii_name="attrArn")
3930
+ def attr_arn(self) -> builtins.str:
3931
+ '''The Amazon Resource Name (ARN) of the API key, such as ``arn:aws:appsync:us-east-1:123456789012:apis/graphqlapiid/apikey/apikeya1bzhi`` .
3932
+
3933
+ :cloudformationAttribute: Arn
3934
+ '''
3935
+ return typing.cast(builtins.str, jsii.get(self, "attrArn"))
3936
+
3937
+ @builtins.property
3938
+ @jsii.member(jsii_name="cfnProperties")
3939
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
3940
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
3941
+
3942
+ @builtins.property
3943
+ @jsii.member(jsii_name="apiId")
3944
+ def api_id(self) -> builtins.str:
3945
+ '''Unique AWS AppSync GraphQL API ID for this API key.'''
3946
+ return typing.cast(builtins.str, jsii.get(self, "apiId"))
3947
+
3948
+ @api_id.setter
3949
+ def api_id(self, value: builtins.str) -> None:
3950
+ if __debug__:
3951
+ type_hints = typing.get_type_hints(_typecheckingstub__3c1cce5f76a6037620e1cc2e57750c81cc5161ff526ce78123f0cd9f25c8e856)
3952
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3953
+ jsii.set(self, "apiId", value) # pyright: ignore[reportArgumentType]
3954
+
3955
+ @builtins.property
3956
+ @jsii.member(jsii_name="description")
3957
+ def description(self) -> typing.Optional[builtins.str]:
3958
+ '''Unique description of your API key.'''
3959
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "description"))
3960
+
3961
+ @description.setter
3962
+ def description(self, value: typing.Optional[builtins.str]) -> None:
3963
+ if __debug__:
3964
+ type_hints = typing.get_type_hints(_typecheckingstub__08afa042939638da41f04c7165f811f5081bd3c8943f787591f098aa4a3b8699)
3965
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3966
+ jsii.set(self, "description", value) # pyright: ignore[reportArgumentType]
3967
+
3968
+ @builtins.property
3969
+ @jsii.member(jsii_name="expires")
3970
+ def expires(self) -> typing.Optional[jsii.Number]:
3971
+ '''The time after which the API key expires.'''
3972
+ return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "expires"))
3973
+
3974
+ @expires.setter
3975
+ def expires(self, value: typing.Optional[jsii.Number]) -> None:
3976
+ if __debug__:
3977
+ type_hints = typing.get_type_hints(_typecheckingstub__8b034facb88dea82241969fd1a22a5bbaccf03068403021106e073c92112ab45)
3978
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3979
+ jsii.set(self, "expires", value) # pyright: ignore[reportArgumentType]
3980
+
3981
+
3982
+ @jsii.data_type(
3983
+ jsii_type="aws-cdk-lib.aws_appsync.CfnApiKeyProps",
3984
+ jsii_struct_bases=[],
3985
+ name_mapping={
3986
+ "api_id": "apiId",
3987
+ "description": "description",
3988
+ "expires": "expires",
3989
+ },
3990
+ )
3991
+ class CfnApiKeyProps:
3992
+ def __init__(
3993
+ self,
3994
+ *,
3995
+ api_id: builtins.str,
3996
+ description: typing.Optional[builtins.str] = None,
3997
+ expires: typing.Optional[jsii.Number] = None,
3998
+ ) -> None:
3999
+ '''Properties for defining a ``CfnApiKey``.
4000
+
4001
+ :param api_id: Unique AWS AppSync GraphQL API ID for this API key.
4002
+ :param description: Unique description of your API key.
4003
+ :param expires: The time after which the API key expires. The date is represented as seconds since the epoch, rounded down to the nearest hour.
4004
+
4005
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html
4006
+ :exampleMetadata: fixture=_generated
4007
+
4008
+ Example::
4009
+
4010
+ # The code below shows an example of how to instantiate this type.
4011
+ # The values are placeholders you should change.
4012
+ from aws_cdk import aws_appsync as appsync
4013
+
4014
+ cfn_api_key_props = appsync.CfnApiKeyProps(
4015
+ api_id="apiId",
4016
+
4017
+ # the properties below are optional
4018
+ description="description",
4019
+ expires=123
4020
+ )
4021
+ '''
4022
+ if __debug__:
4023
+ type_hints = typing.get_type_hints(_typecheckingstub__1688db2b7835c85b4e2cd69655b5d25321ff2aa2ea9e1b2a0612caff34184549)
2729
4024
  check_type(argname="argument api_id", value=api_id, expected_type=type_hints["api_id"])
2730
- check_type(argname="argument ttl", value=ttl, expected_type=type_hints["ttl"])
2731
- check_type(argname="argument type", value=type, expected_type=type_hints["type"])
2732
- check_type(argname="argument at_rest_encryption_enabled", value=at_rest_encryption_enabled, expected_type=type_hints["at_rest_encryption_enabled"])
2733
- check_type(argname="argument health_metrics_config", value=health_metrics_config, expected_type=type_hints["health_metrics_config"])
2734
- check_type(argname="argument transit_encryption_enabled", value=transit_encryption_enabled, expected_type=type_hints["transit_encryption_enabled"])
4025
+ check_type(argname="argument description", value=description, expected_type=type_hints["description"])
4026
+ check_type(argname="argument expires", value=expires, expected_type=type_hints["expires"])
2735
4027
  self._values: typing.Dict[builtins.str, typing.Any] = {
2736
- "api_caching_behavior": api_caching_behavior,
2737
4028
  "api_id": api_id,
2738
- "ttl": ttl,
2739
- "type": type,
2740
4029
  }
2741
- if at_rest_encryption_enabled is not None:
2742
- self._values["at_rest_encryption_enabled"] = at_rest_encryption_enabled
2743
- if health_metrics_config is not None:
2744
- self._values["health_metrics_config"] = health_metrics_config
2745
- if transit_encryption_enabled is not None:
2746
- self._values["transit_encryption_enabled"] = transit_encryption_enabled
4030
+ if description is not None:
4031
+ self._values["description"] = description
4032
+ if expires is not None:
4033
+ self._values["expires"] = expires
2747
4034
 
2748
4035
  @builtins.property
2749
- def api_caching_behavior(self) -> builtins.str:
2750
- '''Caching behavior.
2751
-
2752
- - *FULL_REQUEST_CACHING* : All requests are fully cached.
2753
- - *PER_RESOLVER_CACHING* : Individual resolvers that you specify are cached.
4036
+ def api_id(self) -> builtins.str:
4037
+ '''Unique AWS AppSync GraphQL API ID for this API key.
2754
4038
 
2755
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html#cfn-appsync-apicache-apicachingbehavior
4039
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html#cfn-appsync-apikey-apiid
2756
4040
  '''
2757
- result = self._values.get("api_caching_behavior")
2758
- assert result is not None, "Required property 'api_caching_behavior' is missing"
4041
+ result = self._values.get("api_id")
4042
+ assert result is not None, "Required property 'api_id' is missing"
2759
4043
  return typing.cast(builtins.str, result)
2760
4044
 
2761
4045
  @builtins.property
2762
- def api_id(self) -> builtins.str:
2763
- '''The GraphQL API ID.
4046
+ def description(self) -> typing.Optional[builtins.str]:
4047
+ '''Unique description of your API key.
4048
+
4049
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html#cfn-appsync-apikey-description
4050
+ '''
4051
+ result = self._values.get("description")
4052
+ return typing.cast(typing.Optional[builtins.str], result)
4053
+
4054
+ @builtins.property
4055
+ def expires(self) -> typing.Optional[jsii.Number]:
4056
+ '''The time after which the API key expires.
4057
+
4058
+ The date is represented as seconds since the epoch, rounded down to the nearest hour.
4059
+
4060
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html#cfn-appsync-apikey-expires
4061
+ '''
4062
+ result = self._values.get("expires")
4063
+ return typing.cast(typing.Optional[jsii.Number], result)
4064
+
4065
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4066
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4067
+
4068
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4069
+ return not (rhs == self)
4070
+
4071
+ def __repr__(self) -> str:
4072
+ return "CfnApiKeyProps(%s)" % ", ".join(
4073
+ k + "=" + repr(v) for k, v in self._values.items()
4074
+ )
4075
+
4076
+
4077
+ @jsii.data_type(
4078
+ jsii_type="aws-cdk-lib.aws_appsync.CfnApiProps",
4079
+ jsii_struct_bases=[],
4080
+ name_mapping={
4081
+ "name": "name",
4082
+ "event_config": "eventConfig",
4083
+ "owner_contact": "ownerContact",
4084
+ "tags": "tags",
4085
+ },
4086
+ )
4087
+ class CfnApiProps:
4088
+ def __init__(
4089
+ self,
4090
+ *,
4091
+ name: builtins.str,
4092
+ event_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnApi.EventConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
4093
+ owner_contact: typing.Optional[builtins.str] = None,
4094
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
4095
+ ) -> None:
4096
+ '''Properties for defining a ``CfnApi``.
2764
4097
 
2765
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html#cfn-appsync-apicache-apiid
2766
- '''
2767
- result = self._values.get("api_id")
2768
- assert result is not None, "Required property 'api_id' is missing"
2769
- return typing.cast(builtins.str, result)
4098
+ :param name: The API name.
4099
+ :param event_config: The configuration for an Event Api.
4100
+ :param owner_contact: The owner contact information for an API resource. This field accepts any string input with a length of 0 - 256 characters.
4101
+ :param tags: The tags.
2770
4102
 
2771
- @builtins.property
2772
- def ttl(self) -> jsii.Number:
2773
- '''TTL in seconds for cache entries.
4103
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-api.html
4104
+ :exampleMetadata: fixture=_generated
2774
4105
 
2775
- Valid values are 1–3,600 seconds.
4106
+ Example::
2776
4107
 
2777
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html#cfn-appsync-apicache-ttl
4108
+ # The code below shows an example of how to instantiate this type.
4109
+ # The values are placeholders you should change.
4110
+ from aws_cdk import aws_appsync as appsync
4111
+
4112
+ cfn_api_props = appsync.CfnApiProps(
4113
+ name="name",
4114
+
4115
+ # the properties below are optional
4116
+ event_config=appsync.CfnApi.EventConfigProperty(
4117
+ auth_providers=[appsync.CfnApi.AuthProviderProperty(
4118
+ auth_type="authType",
4119
+
4120
+ # the properties below are optional
4121
+ cognito_config=appsync.CfnApi.CognitoConfigProperty(
4122
+ aws_region="awsRegion",
4123
+ user_pool_id="userPoolId",
4124
+
4125
+ # the properties below are optional
4126
+ app_id_client_regex="appIdClientRegex"
4127
+ ),
4128
+ lambda_authorizer_config=appsync.CfnApi.LambdaAuthorizerConfigProperty(
4129
+ authorizer_uri="authorizerUri",
4130
+
4131
+ # the properties below are optional
4132
+ authorizer_result_ttl_in_seconds=123,
4133
+ identity_validation_expression="identityValidationExpression"
4134
+ ),
4135
+ open_id_connect_config=appsync.CfnApi.OpenIDConnectConfigProperty(
4136
+ issuer="issuer",
4137
+
4138
+ # the properties below are optional
4139
+ auth_ttl=123,
4140
+ client_id="clientId",
4141
+ iat_ttl=123
4142
+ )
4143
+ )],
4144
+ connection_auth_modes=[appsync.CfnApi.AuthModeProperty(
4145
+ auth_type="authType"
4146
+ )],
4147
+ default_publish_auth_modes=[appsync.CfnApi.AuthModeProperty(
4148
+ auth_type="authType"
4149
+ )],
4150
+ default_subscribe_auth_modes=[appsync.CfnApi.AuthModeProperty(
4151
+ auth_type="authType"
4152
+ )],
4153
+
4154
+ # the properties below are optional
4155
+ log_config=appsync.CfnApi.EventLogConfigProperty(
4156
+ cloud_watch_logs_role_arn="cloudWatchLogsRoleArn",
4157
+ log_level="logLevel"
4158
+ )
4159
+ ),
4160
+ owner_contact="ownerContact",
4161
+ tags=[CfnTag(
4162
+ key="key",
4163
+ value="value"
4164
+ )]
4165
+ )
2778
4166
  '''
2779
- result = self._values.get("ttl")
2780
- assert result is not None, "Required property 'ttl' is missing"
2781
- return typing.cast(jsii.Number, result)
4167
+ if __debug__:
4168
+ type_hints = typing.get_type_hints(_typecheckingstub__a6f1c28efbfb84e165cbbde9374da4810d0b8c625b2f4460dc4514b583cc8bc1)
4169
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
4170
+ check_type(argname="argument event_config", value=event_config, expected_type=type_hints["event_config"])
4171
+ check_type(argname="argument owner_contact", value=owner_contact, expected_type=type_hints["owner_contact"])
4172
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
4173
+ self._values: typing.Dict[builtins.str, typing.Any] = {
4174
+ "name": name,
4175
+ }
4176
+ if event_config is not None:
4177
+ self._values["event_config"] = event_config
4178
+ if owner_contact is not None:
4179
+ self._values["owner_contact"] = owner_contact
4180
+ if tags is not None:
4181
+ self._values["tags"] = tags
2782
4182
 
2783
4183
  @builtins.property
2784
- def type(self) -> builtins.str:
2785
- '''The cache instance type. Valid values are.
2786
-
2787
- - ``SMALL``
2788
- - ``MEDIUM``
2789
- - ``LARGE``
2790
- - ``XLARGE``
2791
- - ``LARGE_2X``
2792
- - ``LARGE_4X``
2793
- - ``LARGE_8X`` (not available in all regions)
2794
- - ``LARGE_12X``
2795
-
2796
- Historically, instance types were identified by an EC2-style value. As of July 2020, this is deprecated, and the generic identifiers above should be used.
2797
-
2798
- The following legacy instance types are available, but their use is discouraged:
2799
-
2800
- - *T2_SMALL* : A t2.small instance type.
2801
- - *T2_MEDIUM* : A t2.medium instance type.
2802
- - *R4_LARGE* : A r4.large instance type.
2803
- - *R4_XLARGE* : A r4.xlarge instance type.
2804
- - *R4_2XLARGE* : A r4.2xlarge instance type.
2805
- - *R4_4XLARGE* : A r4.4xlarge instance type.
2806
- - *R4_8XLARGE* : A r4.8xlarge instance type.
4184
+ def name(self) -> builtins.str:
4185
+ '''The API name.
2807
4186
 
2808
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html#cfn-appsync-apicache-type
4187
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-api.html#cfn-appsync-api-name
2809
4188
  '''
2810
- result = self._values.get("type")
2811
- assert result is not None, "Required property 'type' is missing"
4189
+ result = self._values.get("name")
4190
+ assert result is not None, "Required property 'name' is missing"
2812
4191
  return typing.cast(builtins.str, result)
2813
4192
 
2814
4193
  @builtins.property
2815
- def at_rest_encryption_enabled(
4194
+ def event_config(
2816
4195
  self,
2817
- ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
2818
- '''At-rest encryption flag for cache.
2819
-
2820
- You cannot update this setting after creation.
4196
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnApi.EventConfigProperty]]:
4197
+ '''The configuration for an Event Api.
2821
4198
 
2822
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html#cfn-appsync-apicache-atrestencryptionenabled
4199
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-api.html#cfn-appsync-api-eventconfig
2823
4200
  '''
2824
- result = self._values.get("at_rest_encryption_enabled")
2825
- return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
4201
+ result = self._values.get("event_config")
4202
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnApi.EventConfigProperty]], result)
2826
4203
 
2827
4204
  @builtins.property
2828
- def health_metrics_config(self) -> typing.Optional[builtins.str]:
2829
- '''Controls how cache health metrics will be emitted to CloudWatch. Cache health metrics include:.
2830
-
2831
- - *NetworkBandwidthOutAllowanceExceeded* : The network packets dropped because the throughput exceeded the aggregated bandwidth limit. This is useful for diagnosing bottlenecks in a cache configuration.
2832
- - *EngineCPUUtilization* : The CPU utilization (percentage) allocated to the Redis process. This is useful for diagnosing bottlenecks in a cache configuration.
4205
+ def owner_contact(self) -> typing.Optional[builtins.str]:
4206
+ '''The owner contact information for an API resource.
2833
4207
 
2834
- Metrics will be recorded by API ID. You can set the value to ``ENABLED`` or ``DISABLED`` .
4208
+ This field accepts any string input with a length of 0 - 256 characters.
2835
4209
 
2836
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html#cfn-appsync-apicache-healthmetricsconfig
4210
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-api.html#cfn-appsync-api-ownercontact
2837
4211
  '''
2838
- result = self._values.get("health_metrics_config")
4212
+ result = self._values.get("owner_contact")
2839
4213
  return typing.cast(typing.Optional[builtins.str], result)
2840
4214
 
2841
4215
  @builtins.property
2842
- def transit_encryption_enabled(
2843
- self,
2844
- ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
2845
- '''Transit encryption flag when connecting to cache.
2846
-
2847
- You cannot update this setting after creation.
4216
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
4217
+ '''The tags.
2848
4218
 
2849
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html#cfn-appsync-apicache-transitencryptionenabled
4219
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-api.html#cfn-appsync-api-tags
2850
4220
  '''
2851
- result = self._values.get("transit_encryption_enabled")
2852
- return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
4221
+ result = self._values.get("tags")
4222
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
2853
4223
 
2854
4224
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
2855
4225
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -2858,21 +4228,21 @@ class CfnApiCacheProps:
2858
4228
  return not (rhs == self)
2859
4229
 
2860
4230
  def __repr__(self) -> str:
2861
- return "CfnApiCacheProps(%s)" % ", ".join(
4231
+ return "CfnApiProps(%s)" % ", ".join(
2862
4232
  k + "=" + repr(v) for k, v in self._values.items()
2863
4233
  )
2864
4234
 
2865
4235
 
2866
- @jsii.implements(_IInspectable_c2943556)
2867
- class CfnApiKey(
4236
+ @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
4237
+ class CfnChannelNamespace(
2868
4238
  _CfnResource_9df397a6,
2869
4239
  metaclass=jsii.JSIIMeta,
2870
- jsii_type="aws-cdk-lib.aws_appsync.CfnApiKey",
4240
+ jsii_type="aws-cdk-lib.aws_appsync.CfnChannelNamespace",
2871
4241
  ):
2872
- '''The ``AWS::AppSync::ApiKey`` resource creates a unique key that you can distribute to clients who are executing GraphQL operations with AWS AppSync that require an API key.
4242
+ '''Resource schema for AppSync ChannelNamespace.
2873
4243
 
2874
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html
2875
- :cloudformationResource: AWS::AppSync::ApiKey
4244
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-channelnamespace.html
4245
+ :cloudformationResource: AWS::AppSync::ChannelNamespace
2876
4246
  :exampleMetadata: fixture=_generated
2877
4247
 
2878
4248
  Example::
@@ -2881,12 +4251,23 @@ class CfnApiKey(
2881
4251
  # The values are placeholders you should change.
2882
4252
  from aws_cdk import aws_appsync as appsync
2883
4253
 
2884
- cfn_api_key = appsync.CfnApiKey(self, "MyCfnApiKey",
4254
+ cfn_channel_namespace = appsync.CfnChannelNamespace(self, "MyCfnChannelNamespace",
2885
4255
  api_id="apiId",
4256
+ name="name",
2886
4257
 
2887
4258
  # the properties below are optional
2888
- description="description",
2889
- expires=123
4259
+ code_handlers="codeHandlers",
4260
+ code_s3_location="codeS3Location",
4261
+ publish_auth_modes=[appsync.CfnChannelNamespace.AuthModeProperty(
4262
+ auth_type="authType"
4263
+ )],
4264
+ subscribe_auth_modes=[appsync.CfnChannelNamespace.AuthModeProperty(
4265
+ auth_type="authType"
4266
+ )],
4267
+ tags=[CfnTag(
4268
+ key="key",
4269
+ value="value"
4270
+ )]
2890
4271
  )
2891
4272
  '''
2892
4273
 
@@ -2896,21 +4277,37 @@ class CfnApiKey(
2896
4277
  id: builtins.str,
2897
4278
  *,
2898
4279
  api_id: builtins.str,
2899
- description: typing.Optional[builtins.str] = None,
2900
- expires: typing.Optional[jsii.Number] = None,
4280
+ name: builtins.str,
4281
+ code_handlers: typing.Optional[builtins.str] = None,
4282
+ code_s3_location: typing.Optional[builtins.str] = None,
4283
+ publish_auth_modes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnChannelNamespace.AuthModeProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
4284
+ subscribe_auth_modes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnChannelNamespace.AuthModeProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
4285
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2901
4286
  ) -> None:
2902
4287
  '''
2903
4288
  :param scope: Scope in which this resource is defined.
2904
4289
  :param id: Construct identifier for this resource (unique in its scope).
2905
- :param api_id: Unique AWS AppSync GraphQL API ID for this API key.
2906
- :param description: Unique description of your API key.
2907
- :param expires: The time after which the API key expires. The date is represented as seconds since the epoch, rounded down to the nearest hour.
4290
+ :param api_id: AppSync Api Id that this Channel Namespace belongs to.
4291
+ :param name: Namespace indentifier.
4292
+ :param code_handlers: String of APPSYNC_JS code to be used by the handlers.
4293
+ :param code_s3_location: The Amazon S3 endpoint where the code is located.
4294
+ :param publish_auth_modes:
4295
+ :param subscribe_auth_modes:
4296
+ :param tags: An arbitrary set of tags (key-value pairs) for this AppSync API.
2908
4297
  '''
2909
4298
  if __debug__:
2910
- type_hints = typing.get_type_hints(_typecheckingstub__e6065dd18c9d420fd4fcd70aced8416006f044f82aecff54150165e832539a8e)
4299
+ type_hints = typing.get_type_hints(_typecheckingstub__a093c57f7353830d56f8cde41e8653e333d0f0b91da87dd9ca86d72460c39119)
2911
4300
  check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
2912
4301
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
2913
- props = CfnApiKeyProps(api_id=api_id, description=description, expires=expires)
4302
+ props = CfnChannelNamespaceProps(
4303
+ api_id=api_id,
4304
+ name=name,
4305
+ code_handlers=code_handlers,
4306
+ code_s3_location=code_s3_location,
4307
+ publish_auth_modes=publish_auth_modes,
4308
+ subscribe_auth_modes=subscribe_auth_modes,
4309
+ tags=tags,
4310
+ )
2914
4311
 
2915
4312
  jsii.create(self.__class__, self, [scope, id, props])
2916
4313
 
@@ -2921,7 +4318,7 @@ class CfnApiKey(
2921
4318
  :param inspector: tree inspector to collect and process attributes.
2922
4319
  '''
2923
4320
  if __debug__:
2924
- type_hints = typing.get_type_hints(_typecheckingstub__1f8f02bc91fc0b32c990b8d08a5d7a0ef78a88363920fa69d4196dcc7f2ecfb3)
4321
+ type_hints = typing.get_type_hints(_typecheckingstub__3ad9494241faa332c831f07b3784d74ff448ddf3fa3baab7ab580ea1404552c3)
2925
4322
  check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
2926
4323
  return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
2927
4324
 
@@ -2934,7 +4331,7 @@ class CfnApiKey(
2934
4331
  :param props: -
2935
4332
  '''
2936
4333
  if __debug__:
2937
- type_hints = typing.get_type_hints(_typecheckingstub__a844b496712966f29aae49f2f831e6a85c7acf03c2ce61c94162ccf13c5efd6d)
4334
+ type_hints = typing.get_type_hints(_typecheckingstub__f22e76dc0a889c34e986bed6da737321c1aa8a5ae15fc27cbba163171fcdaa23)
2938
4335
  check_type(argname="argument props", value=props, expected_type=type_hints["props"])
2939
4336
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
2940
4337
 
@@ -2945,31 +4342,19 @@ class CfnApiKey(
2945
4342
  return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
2946
4343
 
2947
4344
  @builtins.property
2948
- @jsii.member(jsii_name="attrApiKey")
2949
- def attr_api_key(self) -> builtins.str:
2950
- '''The API key.
2951
-
2952
- :cloudformationAttribute: ApiKey
2953
- '''
2954
- return typing.cast(builtins.str, jsii.get(self, "attrApiKey"))
2955
-
2956
- @builtins.property
2957
- @jsii.member(jsii_name="attrApiKeyId")
2958
- def attr_api_key_id(self) -> builtins.str:
2959
- '''The API key ID.
4345
+ @jsii.member(jsii_name="attrChannelNamespaceArn")
4346
+ def attr_channel_namespace_arn(self) -> builtins.str:
4347
+ '''The Amazon Resource Name (ARN) for the Channel Namespace.
2960
4348
 
2961
- :cloudformationAttribute: ApiKeyId
4349
+ :cloudformationAttribute: ChannelNamespaceArn
2962
4350
  '''
2963
- return typing.cast(builtins.str, jsii.get(self, "attrApiKeyId"))
4351
+ return typing.cast(builtins.str, jsii.get(self, "attrChannelNamespaceArn"))
2964
4352
 
2965
4353
  @builtins.property
2966
- @jsii.member(jsii_name="attrArn")
2967
- def attr_arn(self) -> builtins.str:
2968
- '''The Amazon Resource Name (ARN) of the API key, such as ``arn:aws:appsync:us-east-1:123456789012:apis/graphqlapiid/apikey/apikeya1bzhi`` .
2969
-
2970
- :cloudformationAttribute: Arn
2971
- '''
2972
- return typing.cast(builtins.str, jsii.get(self, "attrArn"))
4354
+ @jsii.member(jsii_name="cdkTagManager")
4355
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
4356
+ '''Tag Manager which manages the tags for this resource.'''
4357
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
2973
4358
 
2974
4359
  @builtins.property
2975
4360
  @jsii.member(jsii_name="cfnProperties")
@@ -2979,67 +4364,190 @@ class CfnApiKey(
2979
4364
  @builtins.property
2980
4365
  @jsii.member(jsii_name="apiId")
2981
4366
  def api_id(self) -> builtins.str:
2982
- '''Unique AWS AppSync GraphQL API ID for this API key.'''
4367
+ '''AppSync Api Id that this Channel Namespace belongs to.'''
2983
4368
  return typing.cast(builtins.str, jsii.get(self, "apiId"))
2984
4369
 
2985
4370
  @api_id.setter
2986
4371
  def api_id(self, value: builtins.str) -> None:
2987
4372
  if __debug__:
2988
- type_hints = typing.get_type_hints(_typecheckingstub__3c1cce5f76a6037620e1cc2e57750c81cc5161ff526ce78123f0cd9f25c8e856)
4373
+ type_hints = typing.get_type_hints(_typecheckingstub__8201c39b111fb5af50817714169cd23209a7d5463c3149a06b402732f7af580e)
2989
4374
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2990
4375
  jsii.set(self, "apiId", value) # pyright: ignore[reportArgumentType]
2991
4376
 
2992
4377
  @builtins.property
2993
- @jsii.member(jsii_name="description")
2994
- def description(self) -> typing.Optional[builtins.str]:
2995
- '''Unique description of your API key.'''
2996
- return typing.cast(typing.Optional[builtins.str], jsii.get(self, "description"))
4378
+ @jsii.member(jsii_name="name")
4379
+ def name(self) -> builtins.str:
4380
+ '''Namespace indentifier.'''
4381
+ return typing.cast(builtins.str, jsii.get(self, "name"))
2997
4382
 
2998
- @description.setter
2999
- def description(self, value: typing.Optional[builtins.str]) -> None:
4383
+ @name.setter
4384
+ def name(self, value: builtins.str) -> None:
3000
4385
  if __debug__:
3001
- type_hints = typing.get_type_hints(_typecheckingstub__08afa042939638da41f04c7165f811f5081bd3c8943f787591f098aa4a3b8699)
4386
+ type_hints = typing.get_type_hints(_typecheckingstub__cc847adc224bbc3257fda0edc3e1e2ffa88ecece56b3863f1e87260c9d4103f2)
3002
4387
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3003
- jsii.set(self, "description", value) # pyright: ignore[reportArgumentType]
4388
+ jsii.set(self, "name", value) # pyright: ignore[reportArgumentType]
3004
4389
 
3005
4390
  @builtins.property
3006
- @jsii.member(jsii_name="expires")
3007
- def expires(self) -> typing.Optional[jsii.Number]:
3008
- '''The time after which the API key expires.'''
3009
- return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "expires"))
4391
+ @jsii.member(jsii_name="codeHandlers")
4392
+ def code_handlers(self) -> typing.Optional[builtins.str]:
4393
+ '''String of APPSYNC_JS code to be used by the handlers.'''
4394
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "codeHandlers"))
3010
4395
 
3011
- @expires.setter
3012
- def expires(self, value: typing.Optional[jsii.Number]) -> None:
4396
+ @code_handlers.setter
4397
+ def code_handlers(self, value: typing.Optional[builtins.str]) -> None:
3013
4398
  if __debug__:
3014
- type_hints = typing.get_type_hints(_typecheckingstub__8b034facb88dea82241969fd1a22a5bbaccf03068403021106e073c92112ab45)
4399
+ type_hints = typing.get_type_hints(_typecheckingstub__aaac6b0f9e0f2f86d3b90444a82806e153092dec34e803bf21f2a307b6660597)
3015
4400
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3016
- jsii.set(self, "expires", value) # pyright: ignore[reportArgumentType]
4401
+ jsii.set(self, "codeHandlers", value) # pyright: ignore[reportArgumentType]
4402
+
4403
+ @builtins.property
4404
+ @jsii.member(jsii_name="codeS3Location")
4405
+ def code_s3_location(self) -> typing.Optional[builtins.str]:
4406
+ '''The Amazon S3 endpoint where the code is located.'''
4407
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "codeS3Location"))
4408
+
4409
+ @code_s3_location.setter
4410
+ def code_s3_location(self, value: typing.Optional[builtins.str]) -> None:
4411
+ if __debug__:
4412
+ type_hints = typing.get_type_hints(_typecheckingstub__0253aa38ea0ac168a1bb603d6239ae0cf4ece50f9019b6a9b531fc609610605a)
4413
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4414
+ jsii.set(self, "codeS3Location", value) # pyright: ignore[reportArgumentType]
4415
+
4416
+ @builtins.property
4417
+ @jsii.member(jsii_name="publishAuthModes")
4418
+ def publish_auth_modes(
4419
+ self,
4420
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnChannelNamespace.AuthModeProperty"]]]]:
4421
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnChannelNamespace.AuthModeProperty"]]]], jsii.get(self, "publishAuthModes"))
4422
+
4423
+ @publish_auth_modes.setter
4424
+ def publish_auth_modes(
4425
+ self,
4426
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnChannelNamespace.AuthModeProperty"]]]],
4427
+ ) -> None:
4428
+ if __debug__:
4429
+ type_hints = typing.get_type_hints(_typecheckingstub__58ae5ceea0ea0efa0414e907917c0f46364396fc667a67ea5eb4524ac6fa4d5d)
4430
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4431
+ jsii.set(self, "publishAuthModes", value) # pyright: ignore[reportArgumentType]
4432
+
4433
+ @builtins.property
4434
+ @jsii.member(jsii_name="subscribeAuthModes")
4435
+ def subscribe_auth_modes(
4436
+ self,
4437
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnChannelNamespace.AuthModeProperty"]]]]:
4438
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnChannelNamespace.AuthModeProperty"]]]], jsii.get(self, "subscribeAuthModes"))
4439
+
4440
+ @subscribe_auth_modes.setter
4441
+ def subscribe_auth_modes(
4442
+ self,
4443
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnChannelNamespace.AuthModeProperty"]]]],
4444
+ ) -> None:
4445
+ if __debug__:
4446
+ type_hints = typing.get_type_hints(_typecheckingstub__fc62b054d5e5897ab522adeae0e075f829ec43715bace1f3db8e88e5980f2476)
4447
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4448
+ jsii.set(self, "subscribeAuthModes", value) # pyright: ignore[reportArgumentType]
4449
+
4450
+ @builtins.property
4451
+ @jsii.member(jsii_name="tags")
4452
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
4453
+ '''An arbitrary set of tags (key-value pairs) for this AppSync API.'''
4454
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
4455
+
4456
+ @tags.setter
4457
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
4458
+ if __debug__:
4459
+ type_hints = typing.get_type_hints(_typecheckingstub__3273a2539d741466392c98ae069010c1b8fcca3604cfaf7fc6da4382ae1eecd7)
4460
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4461
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
4462
+
4463
+ @jsii.data_type(
4464
+ jsii_type="aws-cdk-lib.aws_appsync.CfnChannelNamespace.AuthModeProperty",
4465
+ jsii_struct_bases=[],
4466
+ name_mapping={"auth_type": "authType"},
4467
+ )
4468
+ class AuthModeProperty:
4469
+ def __init__(self, *, auth_type: typing.Optional[builtins.str] = None) -> None:
4470
+ '''An auth mode.
4471
+
4472
+ :param auth_type: Security configuration for your AppSync API.
4473
+
4474
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-channelnamespace-authmode.html
4475
+ :exampleMetadata: fixture=_generated
4476
+
4477
+ Example::
4478
+
4479
+ # The code below shows an example of how to instantiate this type.
4480
+ # The values are placeholders you should change.
4481
+ from aws_cdk import aws_appsync as appsync
4482
+
4483
+ auth_mode_property = appsync.CfnChannelNamespace.AuthModeProperty(
4484
+ auth_type="authType"
4485
+ )
4486
+ '''
4487
+ if __debug__:
4488
+ type_hints = typing.get_type_hints(_typecheckingstub__1f188b8b6c402829b1c2c91be4530734973b0af72e7cec71bb11fffe3160f50f)
4489
+ check_type(argname="argument auth_type", value=auth_type, expected_type=type_hints["auth_type"])
4490
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
4491
+ if auth_type is not None:
4492
+ self._values["auth_type"] = auth_type
4493
+
4494
+ @builtins.property
4495
+ def auth_type(self) -> typing.Optional[builtins.str]:
4496
+ '''Security configuration for your AppSync API.
4497
+
4498
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-channelnamespace-authmode.html#cfn-appsync-channelnamespace-authmode-authtype
4499
+ '''
4500
+ result = self._values.get("auth_type")
4501
+ return typing.cast(typing.Optional[builtins.str], result)
4502
+
4503
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4504
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4505
+
4506
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4507
+ return not (rhs == self)
4508
+
4509
+ def __repr__(self) -> str:
4510
+ return "AuthModeProperty(%s)" % ", ".join(
4511
+ k + "=" + repr(v) for k, v in self._values.items()
4512
+ )
3017
4513
 
3018
4514
 
3019
4515
  @jsii.data_type(
3020
- jsii_type="aws-cdk-lib.aws_appsync.CfnApiKeyProps",
4516
+ jsii_type="aws-cdk-lib.aws_appsync.CfnChannelNamespaceProps",
3021
4517
  jsii_struct_bases=[],
3022
4518
  name_mapping={
3023
4519
  "api_id": "apiId",
3024
- "description": "description",
3025
- "expires": "expires",
4520
+ "name": "name",
4521
+ "code_handlers": "codeHandlers",
4522
+ "code_s3_location": "codeS3Location",
4523
+ "publish_auth_modes": "publishAuthModes",
4524
+ "subscribe_auth_modes": "subscribeAuthModes",
4525
+ "tags": "tags",
3026
4526
  },
3027
4527
  )
3028
- class CfnApiKeyProps:
4528
+ class CfnChannelNamespaceProps:
3029
4529
  def __init__(
3030
4530
  self,
3031
4531
  *,
3032
4532
  api_id: builtins.str,
3033
- description: typing.Optional[builtins.str] = None,
3034
- expires: typing.Optional[jsii.Number] = None,
4533
+ name: builtins.str,
4534
+ code_handlers: typing.Optional[builtins.str] = None,
4535
+ code_s3_location: typing.Optional[builtins.str] = None,
4536
+ publish_auth_modes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnChannelNamespace.AuthModeProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
4537
+ subscribe_auth_modes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnChannelNamespace.AuthModeProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
4538
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3035
4539
  ) -> None:
3036
- '''Properties for defining a ``CfnApiKey``.
4540
+ '''Properties for defining a ``CfnChannelNamespace``.
3037
4541
 
3038
- :param api_id: Unique AWS AppSync GraphQL API ID for this API key.
3039
- :param description: Unique description of your API key.
3040
- :param expires: The time after which the API key expires. The date is represented as seconds since the epoch, rounded down to the nearest hour.
4542
+ :param api_id: AppSync Api Id that this Channel Namespace belongs to.
4543
+ :param name: Namespace indentifier.
4544
+ :param code_handlers: String of APPSYNC_JS code to be used by the handlers.
4545
+ :param code_s3_location: The Amazon S3 endpoint where the code is located.
4546
+ :param publish_auth_modes:
4547
+ :param subscribe_auth_modes:
4548
+ :param tags: An arbitrary set of tags (key-value pairs) for this AppSync API.
3041
4549
 
3042
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html
4550
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-channelnamespace.html
3043
4551
  :exampleMetadata: fixture=_generated
3044
4552
 
3045
4553
  Example::
@@ -3048,56 +4556,115 @@ class CfnApiKeyProps:
3048
4556
  # The values are placeholders you should change.
3049
4557
  from aws_cdk import aws_appsync as appsync
3050
4558
 
3051
- cfn_api_key_props = appsync.CfnApiKeyProps(
4559
+ cfn_channel_namespace_props = appsync.CfnChannelNamespaceProps(
3052
4560
  api_id="apiId",
4561
+ name="name",
3053
4562
 
3054
4563
  # the properties below are optional
3055
- description="description",
3056
- expires=123
4564
+ code_handlers="codeHandlers",
4565
+ code_s3_location="codeS3Location",
4566
+ publish_auth_modes=[appsync.CfnChannelNamespace.AuthModeProperty(
4567
+ auth_type="authType"
4568
+ )],
4569
+ subscribe_auth_modes=[appsync.CfnChannelNamespace.AuthModeProperty(
4570
+ auth_type="authType"
4571
+ )],
4572
+ tags=[CfnTag(
4573
+ key="key",
4574
+ value="value"
4575
+ )]
3057
4576
  )
3058
4577
  '''
3059
4578
  if __debug__:
3060
- type_hints = typing.get_type_hints(_typecheckingstub__1688db2b7835c85b4e2cd69655b5d25321ff2aa2ea9e1b2a0612caff34184549)
4579
+ type_hints = typing.get_type_hints(_typecheckingstub__3eedc5c3e1f83f431aa7bafffc93ab91843ace16bf993fccc5f6f8fe7b37f62c)
3061
4580
  check_type(argname="argument api_id", value=api_id, expected_type=type_hints["api_id"])
3062
- check_type(argname="argument description", value=description, expected_type=type_hints["description"])
3063
- check_type(argname="argument expires", value=expires, expected_type=type_hints["expires"])
4581
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
4582
+ check_type(argname="argument code_handlers", value=code_handlers, expected_type=type_hints["code_handlers"])
4583
+ check_type(argname="argument code_s3_location", value=code_s3_location, expected_type=type_hints["code_s3_location"])
4584
+ check_type(argname="argument publish_auth_modes", value=publish_auth_modes, expected_type=type_hints["publish_auth_modes"])
4585
+ check_type(argname="argument subscribe_auth_modes", value=subscribe_auth_modes, expected_type=type_hints["subscribe_auth_modes"])
4586
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
3064
4587
  self._values: typing.Dict[builtins.str, typing.Any] = {
3065
4588
  "api_id": api_id,
4589
+ "name": name,
3066
4590
  }
3067
- if description is not None:
3068
- self._values["description"] = description
3069
- if expires is not None:
3070
- self._values["expires"] = expires
4591
+ if code_handlers is not None:
4592
+ self._values["code_handlers"] = code_handlers
4593
+ if code_s3_location is not None:
4594
+ self._values["code_s3_location"] = code_s3_location
4595
+ if publish_auth_modes is not None:
4596
+ self._values["publish_auth_modes"] = publish_auth_modes
4597
+ if subscribe_auth_modes is not None:
4598
+ self._values["subscribe_auth_modes"] = subscribe_auth_modes
4599
+ if tags is not None:
4600
+ self._values["tags"] = tags
3071
4601
 
3072
4602
  @builtins.property
3073
4603
  def api_id(self) -> builtins.str:
3074
- '''Unique AWS AppSync GraphQL API ID for this API key.
4604
+ '''AppSync Api Id that this Channel Namespace belongs to.
3075
4605
 
3076
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html#cfn-appsync-apikey-apiid
4606
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-channelnamespace.html#cfn-appsync-channelnamespace-apiid
3077
4607
  '''
3078
4608
  result = self._values.get("api_id")
3079
4609
  assert result is not None, "Required property 'api_id' is missing"
3080
4610
  return typing.cast(builtins.str, result)
3081
4611
 
3082
4612
  @builtins.property
3083
- def description(self) -> typing.Optional[builtins.str]:
3084
- '''Unique description of your API key.
4613
+ def name(self) -> builtins.str:
4614
+ '''Namespace indentifier.
3085
4615
 
3086
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html#cfn-appsync-apikey-description
4616
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-channelnamespace.html#cfn-appsync-channelnamespace-name
3087
4617
  '''
3088
- result = self._values.get("description")
4618
+ result = self._values.get("name")
4619
+ assert result is not None, "Required property 'name' is missing"
4620
+ return typing.cast(builtins.str, result)
4621
+
4622
+ @builtins.property
4623
+ def code_handlers(self) -> typing.Optional[builtins.str]:
4624
+ '''String of APPSYNC_JS code to be used by the handlers.
4625
+
4626
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-channelnamespace.html#cfn-appsync-channelnamespace-codehandlers
4627
+ '''
4628
+ result = self._values.get("code_handlers")
3089
4629
  return typing.cast(typing.Optional[builtins.str], result)
3090
4630
 
3091
4631
  @builtins.property
3092
- def expires(self) -> typing.Optional[jsii.Number]:
3093
- '''The time after which the API key expires.
4632
+ def code_s3_location(self) -> typing.Optional[builtins.str]:
4633
+ '''The Amazon S3 endpoint where the code is located.
3094
4634
 
3095
- The date is represented as seconds since the epoch, rounded down to the nearest hour.
4635
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-channelnamespace.html#cfn-appsync-channelnamespace-codes3location
4636
+ '''
4637
+ result = self._values.get("code_s3_location")
4638
+ return typing.cast(typing.Optional[builtins.str], result)
3096
4639
 
3097
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html#cfn-appsync-apikey-expires
4640
+ @builtins.property
4641
+ def publish_auth_modes(
4642
+ self,
4643
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnChannelNamespace.AuthModeProperty]]]]:
3098
4644
  '''
3099
- result = self._values.get("expires")
3100
- return typing.cast(typing.Optional[jsii.Number], result)
4645
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-channelnamespace.html#cfn-appsync-channelnamespace-publishauthmodes
4646
+ '''
4647
+ result = self._values.get("publish_auth_modes")
4648
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnChannelNamespace.AuthModeProperty]]]], result)
4649
+
4650
+ @builtins.property
4651
+ def subscribe_auth_modes(
4652
+ self,
4653
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnChannelNamespace.AuthModeProperty]]]]:
4654
+ '''
4655
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-channelnamespace.html#cfn-appsync-channelnamespace-subscribeauthmodes
4656
+ '''
4657
+ result = self._values.get("subscribe_auth_modes")
4658
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnChannelNamespace.AuthModeProperty]]]], result)
4659
+
4660
+ @builtins.property
4661
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
4662
+ '''An arbitrary set of tags (key-value pairs) for this AppSync API.
4663
+
4664
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-channelnamespace.html#cfn-appsync-channelnamespace-tags
4665
+ '''
4666
+ result = self._values.get("tags")
4667
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
3101
4668
 
3102
4669
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
3103
4670
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -3106,7 +4673,7 @@ class CfnApiKeyProps:
3106
4673
  return not (rhs == self)
3107
4674
 
3108
4675
  def __repr__(self) -> str:
3109
- return "CfnApiKeyProps(%s)" % ", ".join(
4676
+ return "CfnChannelNamespaceProps(%s)" % ", ".join(
3110
4677
  k + "=" + repr(v) for k, v in self._values.items()
3111
4678
  )
3112
4679
 
@@ -6164,8 +7731,6 @@ class CfnGraphQLApi(
6164
7731
  # The values are placeholders you should change.
6165
7732
  from aws_cdk import aws_appsync as appsync
6166
7733
 
6167
- # environment_variables: Any
6168
-
6169
7734
  cfn_graph_qLApi = appsync.CfnGraphQLApi(self, "MyCfnGraphQLApi",
6170
7735
  authentication_type="authenticationType",
6171
7736
  name="name",
@@ -6198,7 +7763,9 @@ class CfnGraphQLApi(
6198
7763
  operation_level_metrics_config="operationLevelMetricsConfig",
6199
7764
  resolver_level_metrics_behavior="resolverLevelMetricsBehavior"
6200
7765
  ),
6201
- environment_variables=environment_variables,
7766
+ environment_variables={
7767
+ "environment_variables_key": "environmentVariables"
7768
+ },
6202
7769
  introspection_config="introspectionConfig",
6203
7770
  lambda_authorizer_config=appsync.CfnGraphQLApi.LambdaAuthorizerConfigProperty(
6204
7771
  authorizer_result_ttl_in_seconds=123,
@@ -6245,7 +7812,7 @@ class CfnGraphQLApi(
6245
7812
  additional_authentication_providers: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnGraphQLApi.AdditionalAuthenticationProviderProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
6246
7813
  api_type: typing.Optional[builtins.str] = None,
6247
7814
  enhanced_metrics_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnGraphQLApi.EnhancedMetricsConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
6248
- environment_variables: typing.Any = None,
7815
+ environment_variables: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
6249
7816
  introspection_config: typing.Optional[builtins.str] = None,
6250
7817
  lambda_authorizer_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnGraphQLApi.LambdaAuthorizerConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
6251
7818
  log_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnGraphQLApi.LogConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -6386,8 +7953,7 @@ class CfnGraphQLApi(
6386
7953
  @builtins.property
6387
7954
  @jsii.member(jsii_name="attrId")
6388
7955
  def attr_id(self) -> builtins.str:
6389
- '''The ID value.
6390
-
7956
+ '''
6391
7957
  :cloudformationAttribute: Id
6392
7958
  '''
6393
7959
  return typing.cast(builtins.str, jsii.get(self, "attrId"))
@@ -6500,12 +8066,17 @@ class CfnGraphQLApi(
6500
8066
 
6501
8067
  @builtins.property
6502
8068
  @jsii.member(jsii_name="environmentVariables")
6503
- def environment_variables(self) -> typing.Any:
8069
+ def environment_variables(
8070
+ self,
8071
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]]:
6504
8072
  '''A map containing the list of resources with their properties and environment variables.'''
6505
- return typing.cast(typing.Any, jsii.get(self, "environmentVariables"))
8073
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]], jsii.get(self, "environmentVariables"))
6506
8074
 
6507
8075
  @environment_variables.setter
6508
- def environment_variables(self, value: typing.Any) -> None:
8076
+ def environment_variables(
8077
+ self,
8078
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]],
8079
+ ) -> None:
6509
8080
  if __debug__:
6510
8081
  type_hints = typing.get_type_hints(_typecheckingstub__792a537db4d8dd69989dc47efb8d28c555d2094bfd09895222925621c8b1eeba)
6511
8082
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
@@ -7491,7 +9062,7 @@ class CfnGraphQLApiProps:
7491
9062
  additional_authentication_providers: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGraphQLApi.AdditionalAuthenticationProviderProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
7492
9063
  api_type: typing.Optional[builtins.str] = None,
7493
9064
  enhanced_metrics_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGraphQLApi.EnhancedMetricsConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
7494
- environment_variables: typing.Any = None,
9065
+ environment_variables: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
7495
9066
  introspection_config: typing.Optional[builtins.str] = None,
7496
9067
  lambda_authorizer_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGraphQLApi.LambdaAuthorizerConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
7497
9068
  log_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGraphQLApi.LogConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -7535,8 +9106,6 @@ class CfnGraphQLApiProps:
7535
9106
  # The values are placeholders you should change.
7536
9107
  from aws_cdk import aws_appsync as appsync
7537
9108
 
7538
- # environment_variables: Any
7539
-
7540
9109
  cfn_graph_qLApi_props = appsync.CfnGraphQLApiProps(
7541
9110
  authentication_type="authenticationType",
7542
9111
  name="name",
@@ -7569,7 +9138,9 @@ class CfnGraphQLApiProps:
7569
9138
  operation_level_metrics_config="operationLevelMetricsConfig",
7570
9139
  resolver_level_metrics_behavior="resolverLevelMetricsBehavior"
7571
9140
  ),
7572
- environment_variables=environment_variables,
9141
+ environment_variables={
9142
+ "environment_variables_key": "environmentVariables"
9143
+ },
7573
9144
  introspection_config="introspectionConfig",
7574
9145
  lambda_authorizer_config=appsync.CfnGraphQLApi.LambdaAuthorizerConfigProperty(
7575
9146
  authorizer_result_ttl_in_seconds=123,
@@ -7726,7 +9297,9 @@ class CfnGraphQLApiProps:
7726
9297
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnGraphQLApi.EnhancedMetricsConfigProperty]], result)
7727
9298
 
7728
9299
  @builtins.property
7729
- def environment_variables(self) -> typing.Any:
9300
+ def environment_variables(
9301
+ self,
9302
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]]:
7730
9303
  '''A map containing the list of resources with their properties and environment variables.
7731
9304
 
7732
9305
  For more information, see `Environmental variables <https://docs.aws.amazon.com/appsync/latest/devguide/environmental-variables.html>`_ .
@@ -7740,7 +9313,7 @@ class CfnGraphQLApiProps:
7740
9313
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-environmentvariables
7741
9314
  '''
7742
9315
  result = self._values.get("environment_variables")
7743
- return typing.cast(typing.Any, result)
9316
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]], result)
7744
9317
 
7745
9318
  @builtins.property
7746
9319
  def introspection_config(self) -> typing.Optional[builtins.str]:
@@ -17761,10 +19334,14 @@ __all__ = [
17761
19334
  "BaseDataSourceProps",
17762
19335
  "BaseResolverProps",
17763
19336
  "CachingConfig",
19337
+ "CfnApi",
17764
19338
  "CfnApiCache",
17765
19339
  "CfnApiCacheProps",
17766
19340
  "CfnApiKey",
17767
19341
  "CfnApiKeyProps",
19342
+ "CfnApiProps",
19343
+ "CfnChannelNamespace",
19344
+ "CfnChannelNamespaceProps",
17768
19345
  "CfnDataSource",
17769
19346
  "CfnDataSourceProps",
17770
19347
  "CfnDomainName",
@@ -18037,6 +19614,118 @@ def _typecheckingstub__16c48e7a47c60140291c83d5eea69a6e25ec7462e7a0080eaf553e500
18037
19614
  """Type checking stubs"""
18038
19615
  pass
18039
19616
 
19617
+ def _typecheckingstub__9b24e030284e4cb760e04c0345cc69b457962fa5c53b82f009a5c412ad0fa1e5(
19618
+ scope: _constructs_77d1e7e8.Construct,
19619
+ id: builtins.str,
19620
+ *,
19621
+ name: builtins.str,
19622
+ event_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnApi.EventConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
19623
+ owner_contact: typing.Optional[builtins.str] = None,
19624
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
19625
+ ) -> None:
19626
+ """Type checking stubs"""
19627
+ pass
19628
+
19629
+ def _typecheckingstub__1a34658e511f6fa9562934d95c768fd4b2af2314ddf2dab2969f39073417c21f(
19630
+ inspector: _TreeInspector_488e0dd5,
19631
+ ) -> None:
19632
+ """Type checking stubs"""
19633
+ pass
19634
+
19635
+ def _typecheckingstub__80dee192d808ade2b05e0e5eae2e320cb156ff9affe045ecbcaf005a54690f10(
19636
+ props: typing.Mapping[builtins.str, typing.Any],
19637
+ ) -> None:
19638
+ """Type checking stubs"""
19639
+ pass
19640
+
19641
+ def _typecheckingstub__2bbcc5e3c150d28701074668c2cc2da51f0ba8e3870f53f61466fcc37a9b9d92(
19642
+ value: builtins.str,
19643
+ ) -> None:
19644
+ """Type checking stubs"""
19645
+ pass
19646
+
19647
+ def _typecheckingstub__9323cec9a000145849866e550b55f0a549087cc444c4fa5706fdbc7c1455d154(
19648
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnApi.EventConfigProperty]],
19649
+ ) -> None:
19650
+ """Type checking stubs"""
19651
+ pass
19652
+
19653
+ def _typecheckingstub__b829d518b74ad55cbf9233be61a91ddec84af300e750befd18c27d6ec18db38d(
19654
+ value: typing.Optional[builtins.str],
19655
+ ) -> None:
19656
+ """Type checking stubs"""
19657
+ pass
19658
+
19659
+ def _typecheckingstub__a8b30f166f8b9fa0fc02ab2eb4ff33b85277e77827ecebf6d7fd569a6667a8ea(
19660
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
19661
+ ) -> None:
19662
+ """Type checking stubs"""
19663
+ pass
19664
+
19665
+ def _typecheckingstub__27b661cb5be7fc793a7469c90adcd7629e723a94b2a389fead69d96cfde5dba2(
19666
+ *,
19667
+ auth_type: typing.Optional[builtins.str] = None,
19668
+ ) -> None:
19669
+ """Type checking stubs"""
19670
+ pass
19671
+
19672
+ def _typecheckingstub__d3b431432784c1151b3b95b1186edc1bcfaa11a3f70614ce43f998df8d1ae46d(
19673
+ *,
19674
+ auth_type: builtins.str,
19675
+ cognito_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnApi.CognitoConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
19676
+ lambda_authorizer_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnApi.LambdaAuthorizerConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
19677
+ open_id_connect_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnApi.OpenIDConnectConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
19678
+ ) -> None:
19679
+ """Type checking stubs"""
19680
+ pass
19681
+
19682
+ def _typecheckingstub__012c8ad0fa2d1afcda68ca532d5e287baa9e170049fe0c4e05e77dab9f8eb753(
19683
+ *,
19684
+ aws_region: builtins.str,
19685
+ user_pool_id: builtins.str,
19686
+ app_id_client_regex: typing.Optional[builtins.str] = None,
19687
+ ) -> None:
19688
+ """Type checking stubs"""
19689
+ pass
19690
+
19691
+ def _typecheckingstub__53f8b01a4596f6e890e45a2870f92278e02fc06e912e096c33920157038135cf(
19692
+ *,
19693
+ auth_providers: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnApi.AuthProviderProperty, typing.Dict[builtins.str, typing.Any]]]]],
19694
+ connection_auth_modes: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnApi.AuthModeProperty, typing.Dict[builtins.str, typing.Any]]]]],
19695
+ default_publish_auth_modes: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnApi.AuthModeProperty, typing.Dict[builtins.str, typing.Any]]]]],
19696
+ default_subscribe_auth_modes: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnApi.AuthModeProperty, typing.Dict[builtins.str, typing.Any]]]]],
19697
+ log_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnApi.EventLogConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
19698
+ ) -> None:
19699
+ """Type checking stubs"""
19700
+ pass
19701
+
19702
+ def _typecheckingstub__5cbb1c5597e58c84a31d8dc10841de6fa70b9c328dacba388a7afdab090b3e6a(
19703
+ *,
19704
+ cloud_watch_logs_role_arn: builtins.str,
19705
+ log_level: builtins.str,
19706
+ ) -> None:
19707
+ """Type checking stubs"""
19708
+ pass
19709
+
19710
+ def _typecheckingstub__6eb7eaf1ef726d95b558700ffd22e714695a485aed3b5a3ae796f2a03efae22c(
19711
+ *,
19712
+ authorizer_uri: builtins.str,
19713
+ authorizer_result_ttl_in_seconds: typing.Optional[jsii.Number] = None,
19714
+ identity_validation_expression: typing.Optional[builtins.str] = None,
19715
+ ) -> None:
19716
+ """Type checking stubs"""
19717
+ pass
19718
+
19719
+ def _typecheckingstub__560e301b02d9bfc40a0d691fa82c55f336f07c62f130aa6e9464ab1c1b676cf8(
19720
+ *,
19721
+ issuer: builtins.str,
19722
+ auth_ttl: typing.Optional[jsii.Number] = None,
19723
+ client_id: typing.Optional[builtins.str] = None,
19724
+ iat_ttl: typing.Optional[jsii.Number] = None,
19725
+ ) -> None:
19726
+ """Type checking stubs"""
19727
+ pass
19728
+
18040
19729
  def _typecheckingstub__e9d92b7b2abdac7341eb92f7ac10d2d67dd2700af68eaf42c72c47ffdaacc344(
18041
19730
  scope: _constructs_77d1e7e8.Construct,
18042
19731
  id: builtins.str,
@@ -18169,6 +19858,105 @@ def _typecheckingstub__1688db2b7835c85b4e2cd69655b5d25321ff2aa2ea9e1b2a0612caff3
18169
19858
  """Type checking stubs"""
18170
19859
  pass
18171
19860
 
19861
+ def _typecheckingstub__a6f1c28efbfb84e165cbbde9374da4810d0b8c625b2f4460dc4514b583cc8bc1(
19862
+ *,
19863
+ name: builtins.str,
19864
+ event_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnApi.EventConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
19865
+ owner_contact: typing.Optional[builtins.str] = None,
19866
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
19867
+ ) -> None:
19868
+ """Type checking stubs"""
19869
+ pass
19870
+
19871
+ def _typecheckingstub__a093c57f7353830d56f8cde41e8653e333d0f0b91da87dd9ca86d72460c39119(
19872
+ scope: _constructs_77d1e7e8.Construct,
19873
+ id: builtins.str,
19874
+ *,
19875
+ api_id: builtins.str,
19876
+ name: builtins.str,
19877
+ code_handlers: typing.Optional[builtins.str] = None,
19878
+ code_s3_location: typing.Optional[builtins.str] = None,
19879
+ publish_auth_modes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnChannelNamespace.AuthModeProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
19880
+ subscribe_auth_modes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnChannelNamespace.AuthModeProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
19881
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
19882
+ ) -> None:
19883
+ """Type checking stubs"""
19884
+ pass
19885
+
19886
+ def _typecheckingstub__3ad9494241faa332c831f07b3784d74ff448ddf3fa3baab7ab580ea1404552c3(
19887
+ inspector: _TreeInspector_488e0dd5,
19888
+ ) -> None:
19889
+ """Type checking stubs"""
19890
+ pass
19891
+
19892
+ def _typecheckingstub__f22e76dc0a889c34e986bed6da737321c1aa8a5ae15fc27cbba163171fcdaa23(
19893
+ props: typing.Mapping[builtins.str, typing.Any],
19894
+ ) -> None:
19895
+ """Type checking stubs"""
19896
+ pass
19897
+
19898
+ def _typecheckingstub__8201c39b111fb5af50817714169cd23209a7d5463c3149a06b402732f7af580e(
19899
+ value: builtins.str,
19900
+ ) -> None:
19901
+ """Type checking stubs"""
19902
+ pass
19903
+
19904
+ def _typecheckingstub__cc847adc224bbc3257fda0edc3e1e2ffa88ecece56b3863f1e87260c9d4103f2(
19905
+ value: builtins.str,
19906
+ ) -> None:
19907
+ """Type checking stubs"""
19908
+ pass
19909
+
19910
+ def _typecheckingstub__aaac6b0f9e0f2f86d3b90444a82806e153092dec34e803bf21f2a307b6660597(
19911
+ value: typing.Optional[builtins.str],
19912
+ ) -> None:
19913
+ """Type checking stubs"""
19914
+ pass
19915
+
19916
+ def _typecheckingstub__0253aa38ea0ac168a1bb603d6239ae0cf4ece50f9019b6a9b531fc609610605a(
19917
+ value: typing.Optional[builtins.str],
19918
+ ) -> None:
19919
+ """Type checking stubs"""
19920
+ pass
19921
+
19922
+ def _typecheckingstub__58ae5ceea0ea0efa0414e907917c0f46364396fc667a67ea5eb4524ac6fa4d5d(
19923
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnChannelNamespace.AuthModeProperty]]]],
19924
+ ) -> None:
19925
+ """Type checking stubs"""
19926
+ pass
19927
+
19928
+ def _typecheckingstub__fc62b054d5e5897ab522adeae0e075f829ec43715bace1f3db8e88e5980f2476(
19929
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnChannelNamespace.AuthModeProperty]]]],
19930
+ ) -> None:
19931
+ """Type checking stubs"""
19932
+ pass
19933
+
19934
+ def _typecheckingstub__3273a2539d741466392c98ae069010c1b8fcca3604cfaf7fc6da4382ae1eecd7(
19935
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
19936
+ ) -> None:
19937
+ """Type checking stubs"""
19938
+ pass
19939
+
19940
+ def _typecheckingstub__1f188b8b6c402829b1c2c91be4530734973b0af72e7cec71bb11fffe3160f50f(
19941
+ *,
19942
+ auth_type: typing.Optional[builtins.str] = None,
19943
+ ) -> None:
19944
+ """Type checking stubs"""
19945
+ pass
19946
+
19947
+ def _typecheckingstub__3eedc5c3e1f83f431aa7bafffc93ab91843ace16bf993fccc5f6f8fe7b37f62c(
19948
+ *,
19949
+ api_id: builtins.str,
19950
+ name: builtins.str,
19951
+ code_handlers: typing.Optional[builtins.str] = None,
19952
+ code_s3_location: typing.Optional[builtins.str] = None,
19953
+ publish_auth_modes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnChannelNamespace.AuthModeProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
19954
+ subscribe_auth_modes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnChannelNamespace.AuthModeProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
19955
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
19956
+ ) -> None:
19957
+ """Type checking stubs"""
19958
+ pass
19959
+
18172
19960
  def _typecheckingstub__f2dc8968068d09d9cb599cea5efad1a18016c4eca4fcc6c15e6169a0891e2678(
18173
19961
  scope: _constructs_77d1e7e8.Construct,
18174
19962
  id: builtins.str,
@@ -18655,7 +20443,7 @@ def _typecheckingstub__54e0e0488820e5a410f75b28895d4271db1e58bd6c71e17fd04fcf3fa
18655
20443
  additional_authentication_providers: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGraphQLApi.AdditionalAuthenticationProviderProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
18656
20444
  api_type: typing.Optional[builtins.str] = None,
18657
20445
  enhanced_metrics_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGraphQLApi.EnhancedMetricsConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
18658
- environment_variables: typing.Any = None,
20446
+ environment_variables: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
18659
20447
  introspection_config: typing.Optional[builtins.str] = None,
18660
20448
  lambda_authorizer_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGraphQLApi.LambdaAuthorizerConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
18661
20449
  log_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGraphQLApi.LogConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -18715,7 +20503,7 @@ def _typecheckingstub__31ef927293a72b36675d980c2666fdaa13856a6038c9fa984dbc331de
18715
20503
  pass
18716
20504
 
18717
20505
  def _typecheckingstub__792a537db4d8dd69989dc47efb8d28c555d2094bfd09895222925621c8b1eeba(
18718
- value: typing.Any,
20506
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]],
18719
20507
  ) -> None:
18720
20508
  """Type checking stubs"""
18721
20509
  pass
@@ -18865,7 +20653,7 @@ def _typecheckingstub__c30fb6e2b0bf2994b166c6091173ca1bbdf2a226ff26da5bfc0c35067
18865
20653
  additional_authentication_providers: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGraphQLApi.AdditionalAuthenticationProviderProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
18866
20654
  api_type: typing.Optional[builtins.str] = None,
18867
20655
  enhanced_metrics_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGraphQLApi.EnhancedMetricsConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
18868
- environment_variables: typing.Any = None,
20656
+ environment_variables: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
18869
20657
  introspection_config: typing.Optional[builtins.str] = None,
18870
20658
  lambda_authorizer_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGraphQLApi.LambdaAuthorizerConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
18871
20659
  log_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGraphQLApi.LogConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,