aws-cdk-lib 2.165.0__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 (42) hide show
  1. aws_cdk/_jsii/__init__.py +1 -1
  2. aws_cdk/_jsii/{aws-cdk-lib@2.165.0.jsii.tgz → aws-cdk-lib@2.166.0.jsii.tgz} +0 -0
  3. aws_cdk/aws_appsync/__init__.py +2122 -340
  4. aws_cdk/aws_backup/__init__.py +57 -31
  5. aws_cdk/aws_bedrock/__init__.py +982 -191
  6. aws_cdk/aws_codepipeline/__init__.py +98 -5
  7. aws_cdk/aws_codestar/__init__.py +1 -1
  8. aws_cdk/aws_cognito/__init__.py +0 -8
  9. aws_cdk/aws_connect/__init__.py +1 -1
  10. aws_cdk/aws_datasync/__init__.py +9 -7
  11. aws_cdk/aws_devopsguru/__init__.py +2 -2
  12. aws_cdk/aws_dms/__init__.py +762 -0
  13. aws_cdk/aws_dynamodb/__init__.py +13 -8
  14. aws_cdk/aws_ec2/__init__.py +15 -6
  15. aws_cdk/aws_ecs/__init__.py +41 -31
  16. aws_cdk/aws_elasticache/__init__.py +11 -6
  17. aws_cdk/aws_emrserverless/__init__.py +35 -33
  18. aws_cdk/aws_events/__init__.py +25 -30
  19. aws_cdk/aws_kinesis/__init__.py +297 -1
  20. aws_cdk/aws_lambda/__init__.py +3 -3
  21. aws_cdk/aws_m2/__init__.py +58 -58
  22. aws_cdk/aws_mediapackagev2/__init__.py +191 -0
  23. aws_cdk/aws_networkfirewall/__init__.py +14 -5
  24. aws_cdk/aws_opensearchservice/__init__.py +969 -0
  25. aws_cdk/aws_pipes/__init__.py +1 -1
  26. aws_cdk/aws_qbusiness/__init__.py +2 -0
  27. aws_cdk/aws_rds/__init__.py +65 -16
  28. aws_cdk/aws_route53/__init__.py +38 -12
  29. aws_cdk/aws_s3_deployment/__init__.py +13 -7
  30. aws_cdk/aws_sagemaker/__init__.py +61 -25
  31. aws_cdk/aws_secretsmanager/__init__.py +2 -1
  32. aws_cdk/aws_ses/__init__.py +19 -0
  33. aws_cdk/aws_sqs/__init__.py +12 -9
  34. aws_cdk/aws_synthetics/__init__.py +121 -0
  35. aws_cdk/aws_timestream/__init__.py +41 -0
  36. aws_cdk/aws_wisdom/__init__.py +2035 -61
  37. {aws_cdk_lib-2.165.0.dist-info → aws_cdk_lib-2.166.0.dist-info}/METADATA +1 -1
  38. {aws_cdk_lib-2.165.0.dist-info → aws_cdk_lib-2.166.0.dist-info}/RECORD +42 -42
  39. {aws_cdk_lib-2.165.0.dist-info → aws_cdk_lib-2.166.0.dist-info}/LICENSE +0 -0
  40. {aws_cdk_lib-2.165.0.dist-info → aws_cdk_lib-2.166.0.dist-info}/NOTICE +0 -0
  41. {aws_cdk_lib-2.165.0.dist-info → aws_cdk_lib-2.166.0.dist-info}/WHEEL +0 -0
  42. {aws_cdk_lib-2.165.0.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,1333 @@ 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)
2562
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
2563
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
2564
+
2565
+ @jsii.member(jsii_name="renderProperties")
2566
+ def _render_properties(
2567
+ self,
2568
+ props: typing.Mapping[builtins.str, typing.Any],
2569
+ ) -> typing.Mapping[builtins.str, typing.Any]:
2570
+ '''
2571
+ :param props: -
2572
+ '''
2573
+ if __debug__:
2574
+ type_hints = typing.get_type_hints(_typecheckingstub__80dee192d808ade2b05e0e5eae2e320cb156ff9affe045ecbcaf005a54690f10)
2575
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
2576
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
2577
+
2578
+ @jsii.python.classproperty
2579
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
2580
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
2581
+ '''The CloudFormation resource type name for this resource class.'''
2582
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
2583
+
2584
+ @builtins.property
2585
+ @jsii.member(jsii_name="attrApiArn")
2586
+ def attr_api_arn(self) -> builtins.str:
2587
+ '''The Amazon Resource Name (ARN) of the AppSync Api.
2588
+
2589
+ :cloudformationAttribute: ApiArn
2590
+ '''
2591
+ return typing.cast(builtins.str, jsii.get(self, "attrApiArn"))
2592
+
2593
+ @builtins.property
2594
+ @jsii.member(jsii_name="attrApiId")
2595
+ def attr_api_id(self) -> builtins.str:
2596
+ '''The API ID.
2597
+
2598
+ :cloudformationAttribute: ApiId
2599
+ '''
2600
+ return typing.cast(builtins.str, jsii.get(self, "attrApiId"))
2601
+
2602
+ @builtins.property
2603
+ @jsii.member(jsii_name="attrDns")
2604
+ def attr_dns(self) -> _IResolvable_da3f097b:
2605
+ '''A map of DNS names for the AppSync API.
2606
+
2607
+ :cloudformationAttribute: Dns
2608
+ '''
2609
+ return typing.cast(_IResolvable_da3f097b, jsii.get(self, "attrDns"))
2610
+
2611
+ @builtins.property
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"))
2616
+
2617
+ @builtins.property
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"))
2621
+
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"))
2627
+
2628
+ @name.setter
2629
+ def name(self, value: builtins.str) -> None:
2630
+ if __debug__:
2631
+ type_hints = typing.get_type_hints(_typecheckingstub__2bbcc5e3c150d28701074668c2cc2da51f0ba8e3870f53f61466fcc37a9b9d92)
2632
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2633
+ jsii.set(self, "name", value) # pyright: ignore[reportArgumentType]
2634
+
2635
+ @builtins.property
2636
+ @jsii.member(jsii_name="eventConfig")
2637
+ def event_config(
2638
+ self,
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"))
2642
+
2643
+ @event_config.setter
2644
+ def event_config(
2645
+ self,
2646
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnApi.EventConfigProperty"]],
2647
+ ) -> None:
2648
+ if __debug__:
2649
+ type_hints = typing.get_type_hints(_typecheckingstub__9323cec9a000145849866e550b55f0a549087cc444c4fa5706fdbc7c1455d154)
2650
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2651
+ jsii.set(self, "eventConfig", value) # pyright: ignore[reportArgumentType]
2652
+
2653
+ @builtins.property
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"))
2658
+
2659
+ @owner_contact.setter
2660
+ def owner_contact(self, value: typing.Optional[builtins.str]) -> None:
2661
+ if __debug__:
2662
+ type_hints = typing.get_type_hints(_typecheckingstub__b829d518b74ad55cbf9233be61a91ddec84af300e750befd18c27d6ec18db38d)
2663
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2664
+ jsii.set(self, "ownerContact", value) # pyright: ignore[reportArgumentType]
2665
+
2666
+ @builtins.property
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"))
2671
+
2672
+ @tags.setter
2673
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
2674
+ if __debug__:
2675
+ type_hints = typing.get_type_hints(_typecheckingstub__a8b30f166f8b9fa0fc02ab2eb4ff33b85277e77827ecebf6d7fd569a6667a8ea)
2676
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2677
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
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.
2687
+
2688
+ :param auth_type: Security configuration for your AppSync API.
2689
+
2690
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-authmode.html
2691
+ :exampleMetadata: fixture=_generated
2692
+
2693
+ Example::
2694
+
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
+
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.
3871
+ '''
3872
+ if __debug__:
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)
2527
3888
  check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
2528
3889
  return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
2529
3890
 
@@ -2536,7 +3897,7 @@ class CfnApiCache(
2536
3897
  :param props: -
2537
3898
  '''
2538
3899
  if __debug__:
2539
- type_hints = typing.get_type_hints(_typecheckingstub__1ce863b5f21a86ce886458054cd4de0550269c18eb7c4f3fb37884dc2869845e)
3900
+ type_hints = typing.get_type_hints(_typecheckingstub__a844b496712966f29aae49f2f831e6a85c7acf03c2ce61c94162ccf13c5efd6d)
2540
3901
  check_type(argname="argument props", value=props, expected_type=type_hints["props"])
2541
3902
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
2542
3903
 
@@ -2547,162 +3908,101 @@ class CfnApiCache(
2547
3908
  return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
2548
3909
 
2549
3910
  @builtins.property
2550
- @jsii.member(jsii_name="attrId")
2551
- def attr_id(self) -> builtins.str:
3911
+ @jsii.member(jsii_name="attrApiKey")
3912
+ def attr_api_key(self) -> builtins.str:
3913
+ '''The API key.
3914
+
3915
+ :cloudformationAttribute: ApiKey
2552
3916
  '''
2553
- :cloudformationAttribute: Id
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
2554
3925
  '''
2555
- return typing.cast(builtins.str, jsii.get(self, "attrId"))
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"))
2556
3936
 
2557
3937
  @builtins.property
2558
3938
  @jsii.member(jsii_name="cfnProperties")
2559
3939
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
2560
3940
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
2561
3941
 
2562
- @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"))
2567
-
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]
2574
-
2575
3942
  @builtins.property
2576
3943
  @jsii.member(jsii_name="apiId")
2577
3944
  def api_id(self) -> builtins.str:
2578
- '''The GraphQL API ID.'''
3945
+ '''Unique AWS AppSync GraphQL API ID for this API key.'''
2579
3946
  return typing.cast(builtins.str, jsii.get(self, "apiId"))
2580
3947
 
2581
3948
  @api_id.setter
2582
3949
  def api_id(self, value: builtins.str) -> None:
2583
3950
  if __debug__:
2584
- type_hints = typing.get_type_hints(_typecheckingstub__6c2fdac623dbaddb2a0226d75e6f3ca84c058f3f46b9c9a1289820c1cf0827e1)
3951
+ type_hints = typing.get_type_hints(_typecheckingstub__3c1cce5f76a6037620e1cc2e57750c81cc5161ff526ce78123f0cd9f25c8e856)
2585
3952
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2586
3953
  jsii.set(self, "apiId", value) # pyright: ignore[reportArgumentType]
2587
3954
 
2588
3955
  @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]
2600
-
2601
- @builtins.property
2602
- @jsii.member(jsii_name="type")
2603
- def type(self) -> builtins.str:
2604
- '''The cache instance type.
2605
-
2606
- Valid values are.
2607
- '''
2608
- return typing.cast(builtins.str, jsii.get(self, "type"))
2609
-
2610
- @type.setter
2611
- def type(self, value: builtins.str) -> None:
2612
- if __debug__:
2613
- type_hints = typing.get_type_hints(_typecheckingstub__45dc491e21920c6cd0ddecd9aada80283ac759d9eaca52c45a6ce35197166e9d)
2614
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2615
- jsii.set(self, "type", value) # pyright: ignore[reportArgumentType]
2616
-
2617
- @builtins.property
2618
- @jsii.member(jsii_name="atRestEncryptionEnabled")
2619
- def at_rest_encryption_enabled(
2620
- 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"))
2624
-
2625
- @at_rest_encryption_enabled.setter
2626
- def at_rest_encryption_enabled(
2627
- self,
2628
- value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
2629
- ) -> None:
2630
- if __debug__:
2631
- type_hints = typing.get_type_hints(_typecheckingstub__93a4abe242f634763c1f128b7e17017d1176924c9b032d5536f4caa3b3fc3bd6)
2632
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2633
- jsii.set(self, "atRestEncryptionEnabled", value) # pyright: ignore[reportArgumentType]
2634
-
2635
- @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"))
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"))
2643
3960
 
2644
- @health_metrics_config.setter
2645
- def health_metrics_config(self, value: typing.Optional[builtins.str]) -> None:
3961
+ @description.setter
3962
+ def description(self, value: typing.Optional[builtins.str]) -> None:
2646
3963
  if __debug__:
2647
- type_hints = typing.get_type_hints(_typecheckingstub__55de0a796fc6cc946fccbec8ff82c493648ae16228267a0627a624d4e64e10dd)
3964
+ type_hints = typing.get_type_hints(_typecheckingstub__08afa042939638da41f04c7165f811f5081bd3c8943f787591f098aa4a3b8699)
2648
3965
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2649
- jsii.set(self, "healthMetricsConfig", value) # pyright: ignore[reportArgumentType]
3966
+ jsii.set(self, "description", value) # pyright: ignore[reportArgumentType]
2650
3967
 
2651
3968
  @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"))
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"))
2658
3973
 
2659
- @transit_encryption_enabled.setter
2660
- def transit_encryption_enabled(
2661
- self,
2662
- value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
2663
- ) -> None:
3974
+ @expires.setter
3975
+ def expires(self, value: typing.Optional[jsii.Number]) -> None:
2664
3976
  if __debug__:
2665
- type_hints = typing.get_type_hints(_typecheckingstub__eb39499095e917401c885f7c77781744d09df071b1ed62c6f2c32cbbc6fbdb33)
3977
+ type_hints = typing.get_type_hints(_typecheckingstub__8b034facb88dea82241969fd1a22a5bbaccf03068403021106e073c92112ab45)
2666
3978
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2667
- jsii.set(self, "transitEncryptionEnabled", value) # pyright: ignore[reportArgumentType]
3979
+ jsii.set(self, "expires", value) # pyright: ignore[reportArgumentType]
2668
3980
 
2669
3981
 
2670
3982
  @jsii.data_type(
2671
- jsii_type="aws-cdk-lib.aws_appsync.CfnApiCacheProps",
3983
+ jsii_type="aws-cdk-lib.aws_appsync.CfnApiKeyProps",
2672
3984
  jsii_struct_bases=[],
2673
3985
  name_mapping={
2674
- "api_caching_behavior": "apiCachingBehavior",
2675
3986
  "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",
3987
+ "description": "description",
3988
+ "expires": "expires",
2681
3989
  },
2682
3990
  )
2683
- class CfnApiCacheProps:
3991
+ class CfnApiKeyProps:
2684
3992
  def __init__(
2685
3993
  self,
2686
3994
  *,
2687
- api_caching_behavior: builtins.str,
2688
3995
  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,
3996
+ description: typing.Optional[builtins.str] = None,
3997
+ expires: typing.Optional[jsii.Number] = None,
2694
3998
  ) -> None:
2695
- '''Properties for defining a ``CfnApiCache``.
3999
+ '''Properties for defining a ``CfnApiKey``.
2696
4000
 
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.
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.
2704
4004
 
2705
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html
4005
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html
2706
4006
  :exampleMetadata: fixture=_generated
2707
4007
 
2708
4008
  Example::
@@ -2711,145 +4011,215 @@ class CfnApiCacheProps:
2711
4011
  # The values are placeholders you should change.
2712
4012
  from aws_cdk import aws_appsync as appsync
2713
4013
 
2714
- cfn_api_cache_props = appsync.CfnApiCacheProps(
2715
- api_caching_behavior="apiCachingBehavior",
4014
+ cfn_api_key_props = appsync.CfnApiKeyProps(
2716
4015
  api_id="apiId",
2717
- ttl=123,
2718
- type="type",
2719
4016
 
2720
4017
  # the properties below are optional
2721
- at_rest_encryption_enabled=False,
2722
- health_metrics_config="healthMetricsConfig",
2723
- transit_encryption_enabled=False
4018
+ description="description",
4019
+ expires=123
2724
4020
  )
2725
4021
  '''
2726
4022
  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"])
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.
2764
4048
 
2765
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html#cfn-appsync-apicache-apiid
4049
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html#cfn-appsync-apikey-description
2766
4050
  '''
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)
4051
+ result = self._values.get("description")
4052
+ return typing.cast(typing.Optional[builtins.str], result)
2770
4053
 
2771
4054
  @builtins.property
2772
- def ttl(self) -> jsii.Number:
2773
- '''TTL in seconds for cache entries.
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
+ )
2774
4075
 
2775
- Valid values are 1–3,600 seconds.
2776
4076
 
2777
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html#cfn-appsync-apicache-ttl
2778
- '''
2779
- result = self._values.get("ttl")
2780
- assert result is not None, "Required property 'ttl' is missing"
2781
- return typing.cast(jsii.Number, result)
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``.
2782
4097
 
2783
- @builtins.property
2784
- def type(self) -> builtins.str:
2785
- '''The cache instance type. Valid values are.
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.
2786
4102
 
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``
4103
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-api.html
4104
+ :exampleMetadata: fixture=_generated
2795
4105
 
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.
4106
+ Example::
2797
4107
 
2798
- The following legacy instance types are available, but their use is discouraged:
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
+ )
4166
+ '''
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
2799
4182
 
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.
4183
+ @builtins.property
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]
4389
+
4390
+ @builtins.property
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"))
4395
+
4396
+ @code_handlers.setter
4397
+ def code_handlers(self, value: typing.Optional[builtins.str]) -> None:
4398
+ if __debug__:
4399
+ type_hints = typing.get_type_hints(_typecheckingstub__aaac6b0f9e0f2f86d3b90444a82806e153092dec34e803bf21f2a307b6660597)
4400
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
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
3004
4505
 
3005
- @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"))
4506
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4507
+ return not (rhs == self)
3010
4508
 
3011
- @expires.setter
3012
- def expires(self, value: typing.Optional[jsii.Number]) -> None:
3013
- if __debug__:
3014
- type_hints = typing.get_type_hints(_typecheckingstub__8b034facb88dea82241969fd1a22a5bbaccf03068403021106e073c92112ab45)
3015
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3016
- jsii.set(self, "expires", value) # pyright: ignore[reportArgumentType]
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
 
@@ -17767,10 +19334,14 @@ __all__ = [
17767
19334
  "BaseDataSourceProps",
17768
19335
  "BaseResolverProps",
17769
19336
  "CachingConfig",
19337
+ "CfnApi",
17770
19338
  "CfnApiCache",
17771
19339
  "CfnApiCacheProps",
17772
19340
  "CfnApiKey",
17773
19341
  "CfnApiKeyProps",
19342
+ "CfnApiProps",
19343
+ "CfnChannelNamespace",
19344
+ "CfnChannelNamespaceProps",
17774
19345
  "CfnDataSource",
17775
19346
  "CfnDataSourceProps",
17776
19347
  "CfnDomainName",
@@ -18043,6 +19614,118 @@ def _typecheckingstub__16c48e7a47c60140291c83d5eea69a6e25ec7462e7a0080eaf553e500
18043
19614
  """Type checking stubs"""
18044
19615
  pass
18045
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
+
18046
19729
  def _typecheckingstub__e9d92b7b2abdac7341eb92f7ac10d2d67dd2700af68eaf42c72c47ffdaacc344(
18047
19730
  scope: _constructs_77d1e7e8.Construct,
18048
19731
  id: builtins.str,
@@ -18175,6 +19858,105 @@ def _typecheckingstub__1688db2b7835c85b4e2cd69655b5d25321ff2aa2ea9e1b2a0612caff3
18175
19858
  """Type checking stubs"""
18176
19859
  pass
18177
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
+
18178
19960
  def _typecheckingstub__f2dc8968068d09d9cb599cea5efad1a18016c4eca4fcc6c15e6169a0891e2678(
18179
19961
  scope: _constructs_77d1e7e8.Construct,
18180
19962
  id: builtins.str,