aws-cdk-lib 2.165.0__py3-none-any.whl → 2.167.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.
- aws_cdk/__init__.py +1 -1
- aws_cdk/_jsii/__init__.py +1 -1
- aws_cdk/_jsii/{aws-cdk-lib@2.165.0.jsii.tgz → aws-cdk-lib@2.167.0.jsii.tgz} +0 -0
- aws_cdk/aws_apigateway/__init__.py +9 -0
- aws_cdk/aws_appsync/__init__.py +2271 -359
- aws_cdk/aws_backup/__init__.py +57 -31
- aws_cdk/aws_bedrock/__init__.py +994 -197
- aws_cdk/aws_cleanrooms/__init__.py +66 -5
- aws_cdk/aws_cloudfront/__init__.py +21 -3
- aws_cdk/aws_cloudfront/experimental/__init__.py +3 -3
- aws_cdk/aws_codebuild/__init__.py +59 -29
- aws_cdk/aws_codepipeline/__init__.py +98 -5
- aws_cdk/aws_codestar/__init__.py +1 -1
- aws_cdk/aws_cognito/__init__.py +0 -8
- aws_cdk/aws_connect/__init__.py +1 -1
- aws_cdk/aws_datasync/__init__.py +60 -7
- aws_cdk/aws_devopsguru/__init__.py +2 -2
- aws_cdk/aws_dms/__init__.py +762 -0
- aws_cdk/aws_dynamodb/__init__.py +13 -8
- aws_cdk/aws_ec2/__init__.py +316 -11
- aws_cdk/aws_ecs/__init__.py +20 -7
- aws_cdk/aws_elasticache/__init__.py +16 -9
- aws_cdk/aws_elasticloadbalancingv2/__init__.py +73 -46
- aws_cdk/aws_emrserverless/__init__.py +35 -33
- aws_cdk/aws_events/__init__.py +25 -30
- aws_cdk/aws_gamelift/__init__.py +52 -40
- aws_cdk/aws_inspectorv2/__init__.py +6 -12
- aws_cdk/aws_kinesis/__init__.py +297 -1
- aws_cdk/aws_kms/__init__.py +2 -0
- aws_cdk/aws_lambda/__init__.py +339 -22
- aws_cdk/aws_lambda_nodejs/__init__.py +3 -3
- aws_cdk/aws_logs/__init__.py +214 -0
- aws_cdk/aws_m2/__init__.py +58 -58
- aws_cdk/aws_mediapackagev2/__init__.py +191 -0
- aws_cdk/aws_networkfirewall/__init__.py +14 -5
- aws_cdk/aws_nimblestudio/__init__.py +6 -103
- aws_cdk/aws_opensearchservice/__init__.py +969 -0
- aws_cdk/aws_pipes/__init__.py +1 -1
- aws_cdk/aws_qbusiness/__init__.py +2 -0
- aws_cdk/aws_quicksight/__init__.py +481 -10
- aws_cdk/aws_rds/__init__.py +667 -16
- aws_cdk/aws_route53/__init__.py +38 -12
- aws_cdk/aws_s3_assets/__init__.py +37 -0
- aws_cdk/aws_s3_deployment/__init__.py +18 -7
- aws_cdk/aws_sagemaker/__init__.py +61 -25
- aws_cdk/aws_secretsmanager/__init__.py +2 -1
- aws_cdk/aws_servicecatalog/__init__.py +52 -4
- aws_cdk/aws_ses/__init__.py +22 -1
- aws_cdk/aws_sqs/__init__.py +12 -9
- aws_cdk/aws_stepfunctions/__init__.py +8 -0
- aws_cdk/aws_synthetics/__init__.py +133 -1
- aws_cdk/aws_timestream/__init__.py +41 -0
- aws_cdk/aws_wisdom/__init__.py +2348 -54
- aws_cdk/triggers/__init__.py +3 -3
- {aws_cdk_lib-2.165.0.dist-info → aws_cdk_lib-2.167.0.dist-info}/METADATA +1 -1
- {aws_cdk_lib-2.165.0.dist-info → aws_cdk_lib-2.167.0.dist-info}/RECORD +60 -60
- {aws_cdk_lib-2.165.0.dist-info → aws_cdk_lib-2.167.0.dist-info}/WHEEL +1 -1
- {aws_cdk_lib-2.165.0.dist-info → aws_cdk_lib-2.167.0.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.165.0.dist-info → aws_cdk_lib-2.167.0.dist-info}/NOTICE +0 -0
- {aws_cdk_lib-2.165.0.dist-info → aws_cdk_lib-2.167.0.dist-info}/top_level.txt +0 -0
aws_cdk/aws_appsync/__init__.py
CHANGED
|
@@ -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,
|
|
@@ -991,6 +992,7 @@ from ..aws_iam import (
|
|
|
991
992
|
IRole as _IRole_235f5d8e,
|
|
992
993
|
Role as _Role_e8c6e11f,
|
|
993
994
|
)
|
|
995
|
+
from ..aws_kms import IKey as _IKey_5f11635f
|
|
994
996
|
from ..aws_lambda import IFunction as _IFunction_6adb0ab8
|
|
995
997
|
from ..aws_logs import (
|
|
996
998
|
ILogGroup as _ILogGroup_3c4fa718, RetentionDays as _RetentionDays_070f99f0
|
|
@@ -2445,16 +2447,16 @@ class CachingConfig:
|
|
|
2445
2447
|
)
|
|
2446
2448
|
|
|
2447
2449
|
|
|
2448
|
-
@jsii.implements(_IInspectable_c2943556)
|
|
2449
|
-
class
|
|
2450
|
+
@jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
|
|
2451
|
+
class CfnApi(
|
|
2450
2452
|
_CfnResource_9df397a6,
|
|
2451
2453
|
metaclass=jsii.JSIIMeta,
|
|
2452
|
-
jsii_type="aws-cdk-lib.aws_appsync.
|
|
2454
|
+
jsii_type="aws-cdk-lib.aws_appsync.CfnApi",
|
|
2453
2455
|
):
|
|
2454
|
-
'''The ``AWS::AppSync::
|
|
2456
|
+
'''The ``AWS::AppSync::Api`` resource creates an AWS AppSync API that you can use for an AWS AppSync API with your preferred configuration, such as an Event API that provides real-time message publishing and message subscriptions over WebSockets.
|
|
2455
2457
|
|
|
2456
|
-
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-
|
|
2457
|
-
:cloudformationResource: AWS::AppSync::
|
|
2458
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-api.html
|
|
2459
|
+
:cloudformationResource: AWS::AppSync::Api
|
|
2458
2460
|
:exampleMetadata: fixture=_generated
|
|
2459
2461
|
|
|
2460
2462
|
Example::
|
|
@@ -2463,16 +2465,59 @@ class CfnApiCache(
|
|
|
2463
2465
|
# The values are placeholders you should change.
|
|
2464
2466
|
from aws_cdk import aws_appsync as appsync
|
|
2465
2467
|
|
|
2466
|
-
|
|
2467
|
-
|
|
2468
|
-
api_id="apiId",
|
|
2469
|
-
ttl=123,
|
|
2470
|
-
type="type",
|
|
2468
|
+
cfn_api = appsync.CfnApi(self, "MyCfnApi",
|
|
2469
|
+
name="name",
|
|
2471
2470
|
|
|
2472
2471
|
# the properties below are optional
|
|
2473
|
-
|
|
2474
|
-
|
|
2475
|
-
|
|
2472
|
+
event_config=appsync.CfnApi.EventConfigProperty(
|
|
2473
|
+
auth_providers=[appsync.CfnApi.AuthProviderProperty(
|
|
2474
|
+
auth_type="authType",
|
|
2475
|
+
|
|
2476
|
+
# the properties below are optional
|
|
2477
|
+
cognito_config=appsync.CfnApi.CognitoConfigProperty(
|
|
2478
|
+
aws_region="awsRegion",
|
|
2479
|
+
user_pool_id="userPoolId",
|
|
2480
|
+
|
|
2481
|
+
# the properties below are optional
|
|
2482
|
+
app_id_client_regex="appIdClientRegex"
|
|
2483
|
+
),
|
|
2484
|
+
lambda_authorizer_config=appsync.CfnApi.LambdaAuthorizerConfigProperty(
|
|
2485
|
+
authorizer_uri="authorizerUri",
|
|
2486
|
+
|
|
2487
|
+
# the properties below are optional
|
|
2488
|
+
authorizer_result_ttl_in_seconds=123,
|
|
2489
|
+
identity_validation_expression="identityValidationExpression"
|
|
2490
|
+
),
|
|
2491
|
+
open_id_connect_config=appsync.CfnApi.OpenIDConnectConfigProperty(
|
|
2492
|
+
issuer="issuer",
|
|
2493
|
+
|
|
2494
|
+
# the properties below are optional
|
|
2495
|
+
auth_ttl=123,
|
|
2496
|
+
client_id="clientId",
|
|
2497
|
+
iat_ttl=123
|
|
2498
|
+
)
|
|
2499
|
+
)],
|
|
2500
|
+
connection_auth_modes=[appsync.CfnApi.AuthModeProperty(
|
|
2501
|
+
auth_type="authType"
|
|
2502
|
+
)],
|
|
2503
|
+
default_publish_auth_modes=[appsync.CfnApi.AuthModeProperty(
|
|
2504
|
+
auth_type="authType"
|
|
2505
|
+
)],
|
|
2506
|
+
default_subscribe_auth_modes=[appsync.CfnApi.AuthModeProperty(
|
|
2507
|
+
auth_type="authType"
|
|
2508
|
+
)],
|
|
2509
|
+
|
|
2510
|
+
# the properties below are optional
|
|
2511
|
+
log_config=appsync.CfnApi.EventLogConfigProperty(
|
|
2512
|
+
cloud_watch_logs_role_arn="cloudWatchLogsRoleArn",
|
|
2513
|
+
log_level="logLevel"
|
|
2514
|
+
)
|
|
2515
|
+
),
|
|
2516
|
+
owner_contact="ownerContact",
|
|
2517
|
+
tags=[CfnTag(
|
|
2518
|
+
key="key",
|
|
2519
|
+
value="value"
|
|
2520
|
+
)]
|
|
2476
2521
|
)
|
|
2477
2522
|
'''
|
|
2478
2523
|
|
|
@@ -2481,37 +2526,28 @@ class CfnApiCache(
|
|
|
2481
2526
|
scope: _constructs_77d1e7e8.Construct,
|
|
2482
2527
|
id: builtins.str,
|
|
2483
2528
|
*,
|
|
2484
|
-
|
|
2485
|
-
|
|
2486
|
-
|
|
2487
|
-
|
|
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,
|
|
2529
|
+
name: builtins.str,
|
|
2530
|
+
event_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnApi.EventConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2531
|
+
owner_contact: typing.Optional[builtins.str] = None,
|
|
2532
|
+
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2491
2533
|
) -> None:
|
|
2492
2534
|
'''
|
|
2493
2535
|
:param scope: Scope in which this resource is defined.
|
|
2494
2536
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
2495
|
-
:param
|
|
2496
|
-
:param
|
|
2497
|
-
:param
|
|
2498
|
-
:param
|
|
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.
|
|
2537
|
+
:param name: The name of the ``Api`` .
|
|
2538
|
+
:param event_config: Describes the authorization configuration for connections, message publishing, message subscriptions, and logging for an Event API.
|
|
2539
|
+
:param owner_contact: The owner contact information for an API resource. This field accepts any string input with a length of 0 - 256 characters.
|
|
2540
|
+
:param tags: A set of tags (key-value pairs) for this API.
|
|
2502
2541
|
'''
|
|
2503
2542
|
if __debug__:
|
|
2504
|
-
type_hints = typing.get_type_hints(
|
|
2543
|
+
type_hints = typing.get_type_hints(_typecheckingstub__9b24e030284e4cb760e04c0345cc69b457962fa5c53b82f009a5c412ad0fa1e5)
|
|
2505
2544
|
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
2506
2545
|
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
2507
|
-
props =
|
|
2508
|
-
|
|
2509
|
-
|
|
2510
|
-
|
|
2511
|
-
|
|
2512
|
-
at_rest_encryption_enabled=at_rest_encryption_enabled,
|
|
2513
|
-
health_metrics_config=health_metrics_config,
|
|
2514
|
-
transit_encryption_enabled=transit_encryption_enabled,
|
|
2546
|
+
props = CfnApiProps(
|
|
2547
|
+
name=name,
|
|
2548
|
+
event_config=event_config,
|
|
2549
|
+
owner_contact=owner_contact,
|
|
2550
|
+
tags=tags,
|
|
2515
2551
|
)
|
|
2516
2552
|
|
|
2517
2553
|
jsii.create(self.__class__, self, [scope, id, props])
|
|
@@ -2523,7 +2559,7 @@ class CfnApiCache(
|
|
|
2523
2559
|
:param inspector: tree inspector to collect and process attributes.
|
|
2524
2560
|
'''
|
|
2525
2561
|
if __debug__:
|
|
2526
|
-
type_hints = typing.get_type_hints(
|
|
2562
|
+
type_hints = typing.get_type_hints(_typecheckingstub__1a34658e511f6fa9562934d95c768fd4b2af2314ddf2dab2969f39073417c21f)
|
|
2527
2563
|
check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
|
|
2528
2564
|
return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
|
|
2529
2565
|
|
|
@@ -2536,7 +2572,7 @@ class CfnApiCache(
|
|
|
2536
2572
|
:param props: -
|
|
2537
2573
|
'''
|
|
2538
2574
|
if __debug__:
|
|
2539
|
-
type_hints = typing.get_type_hints(
|
|
2575
|
+
type_hints = typing.get_type_hints(_typecheckingstub__80dee192d808ade2b05e0e5eae2e320cb156ff9affe045ecbcaf005a54690f10)
|
|
2540
2576
|
check_type(argname="argument props", value=props, expected_type=type_hints["props"])
|
|
2541
2577
|
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
|
|
2542
2578
|
|
|
@@ -2547,309 +2583,1740 @@ class CfnApiCache(
|
|
|
2547
2583
|
return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
|
|
2548
2584
|
|
|
2549
2585
|
@builtins.property
|
|
2550
|
-
@jsii.member(jsii_name="
|
|
2551
|
-
def
|
|
2552
|
-
'''
|
|
2553
|
-
|
|
2586
|
+
@jsii.member(jsii_name="attrApiArn")
|
|
2587
|
+
def attr_api_arn(self) -> builtins.str:
|
|
2588
|
+
'''The Amazon Resource Name (ARN) of the AWS AppSync Api.
|
|
2589
|
+
|
|
2590
|
+
:cloudformationAttribute: ApiArn
|
|
2554
2591
|
'''
|
|
2555
|
-
return typing.cast(builtins.str, jsii.get(self, "
|
|
2592
|
+
return typing.cast(builtins.str, jsii.get(self, "attrApiArn"))
|
|
2556
2593
|
|
|
2557
2594
|
@builtins.property
|
|
2558
|
-
@jsii.member(jsii_name="
|
|
2559
|
-
def
|
|
2560
|
-
|
|
2595
|
+
@jsii.member(jsii_name="attrApiId")
|
|
2596
|
+
def attr_api_id(self) -> builtins.str:
|
|
2597
|
+
'''The unique identifier for the AWS AppSync Api generated by the service.
|
|
2598
|
+
|
|
2599
|
+
:cloudformationAttribute: ApiId
|
|
2600
|
+
'''
|
|
2601
|
+
return typing.cast(builtins.str, jsii.get(self, "attrApiId"))
|
|
2561
2602
|
|
|
2562
2603
|
@builtins.property
|
|
2563
|
-
@jsii.member(jsii_name="
|
|
2564
|
-
def
|
|
2565
|
-
'''
|
|
2566
|
-
return typing.cast(builtins.str, jsii.get(self, "apiCachingBehavior"))
|
|
2604
|
+
@jsii.member(jsii_name="attrDns")
|
|
2605
|
+
def attr_dns(self) -> _IResolvable_da3f097b:
|
|
2606
|
+
'''A map of DNS names for the AppSync API.
|
|
2567
2607
|
|
|
2568
|
-
|
|
2569
|
-
|
|
2570
|
-
|
|
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]
|
|
2608
|
+
:cloudformationAttribute: Dns
|
|
2609
|
+
'''
|
|
2610
|
+
return typing.cast(_IResolvable_da3f097b, jsii.get(self, "attrDns"))
|
|
2574
2611
|
|
|
2575
2612
|
@builtins.property
|
|
2576
|
-
@jsii.member(jsii_name="
|
|
2577
|
-
def
|
|
2578
|
-
'''The
|
|
2579
|
-
return typing.cast(builtins.str, jsii.get(self, "apiId"))
|
|
2613
|
+
@jsii.member(jsii_name="attrDnsHttp")
|
|
2614
|
+
def attr_dns_http(self) -> builtins.str:
|
|
2615
|
+
'''The domain name of the Api's HTTP endpoint.
|
|
2580
2616
|
|
|
2581
|
-
|
|
2582
|
-
|
|
2583
|
-
|
|
2584
|
-
type_hints = typing.get_type_hints(_typecheckingstub__6c2fdac623dbaddb2a0226d75e6f3ca84c058f3f46b9c9a1289820c1cf0827e1)
|
|
2585
|
-
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
2586
|
-
jsii.set(self, "apiId", value) # pyright: ignore[reportArgumentType]
|
|
2617
|
+
:cloudformationAttribute: Dns.Http
|
|
2618
|
+
'''
|
|
2619
|
+
return typing.cast(builtins.str, jsii.get(self, "attrDnsHttp"))
|
|
2587
2620
|
|
|
2588
2621
|
@builtins.property
|
|
2589
|
-
@jsii.member(jsii_name="
|
|
2590
|
-
def
|
|
2591
|
-
'''
|
|
2592
|
-
return typing.cast(jsii.Number, jsii.get(self, "ttl"))
|
|
2622
|
+
@jsii.member(jsii_name="attrDnsRealtime")
|
|
2623
|
+
def attr_dns_realtime(self) -> builtins.str:
|
|
2624
|
+
'''The domain name of the Api's real-time endpoint.
|
|
2593
2625
|
|
|
2594
|
-
|
|
2595
|
-
|
|
2596
|
-
|
|
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]
|
|
2626
|
+
:cloudformationAttribute: Dns.Realtime
|
|
2627
|
+
'''
|
|
2628
|
+
return typing.cast(builtins.str, jsii.get(self, "attrDnsRealtime"))
|
|
2600
2629
|
|
|
2601
2630
|
@builtins.property
|
|
2602
|
-
@jsii.member(jsii_name="
|
|
2603
|
-
def
|
|
2604
|
-
'''
|
|
2631
|
+
@jsii.member(jsii_name="cdkTagManager")
|
|
2632
|
+
def cdk_tag_manager(self) -> _TagManager_0a598cb3:
|
|
2633
|
+
'''Tag Manager which manages the tags for this resource.'''
|
|
2634
|
+
return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
|
|
2605
2635
|
|
|
2606
|
-
|
|
2607
|
-
|
|
2608
|
-
|
|
2636
|
+
@builtins.property
|
|
2637
|
+
@jsii.member(jsii_name="cfnProperties")
|
|
2638
|
+
def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
|
|
2639
|
+
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
|
|
2609
2640
|
|
|
2610
|
-
@
|
|
2611
|
-
|
|
2641
|
+
@builtins.property
|
|
2642
|
+
@jsii.member(jsii_name="name")
|
|
2643
|
+
def name(self) -> builtins.str:
|
|
2644
|
+
'''The name of the ``Api`` .'''
|
|
2645
|
+
return typing.cast(builtins.str, jsii.get(self, "name"))
|
|
2646
|
+
|
|
2647
|
+
@name.setter
|
|
2648
|
+
def name(self, value: builtins.str) -> None:
|
|
2612
2649
|
if __debug__:
|
|
2613
|
-
type_hints = typing.get_type_hints(
|
|
2650
|
+
type_hints = typing.get_type_hints(_typecheckingstub__2bbcc5e3c150d28701074668c2cc2da51f0ba8e3870f53f61466fcc37a9b9d92)
|
|
2614
2651
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
2615
|
-
jsii.set(self, "
|
|
2652
|
+
jsii.set(self, "name", value) # pyright: ignore[reportArgumentType]
|
|
2616
2653
|
|
|
2617
2654
|
@builtins.property
|
|
2618
|
-
@jsii.member(jsii_name="
|
|
2619
|
-
def
|
|
2655
|
+
@jsii.member(jsii_name="eventConfig")
|
|
2656
|
+
def event_config(
|
|
2620
2657
|
self,
|
|
2621
|
-
) -> typing.Optional[typing.Union[
|
|
2622
|
-
'''
|
|
2623
|
-
return typing.cast(typing.Optional[typing.Union[
|
|
2658
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnApi.EventConfigProperty"]]:
|
|
2659
|
+
'''Describes the authorization configuration for connections, message publishing, message subscriptions, and logging for an Event API.'''
|
|
2660
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnApi.EventConfigProperty"]], jsii.get(self, "eventConfig"))
|
|
2624
2661
|
|
|
2625
|
-
@
|
|
2626
|
-
def
|
|
2662
|
+
@event_config.setter
|
|
2663
|
+
def event_config(
|
|
2627
2664
|
self,
|
|
2628
|
-
value: typing.Optional[typing.Union[
|
|
2665
|
+
value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnApi.EventConfigProperty"]],
|
|
2629
2666
|
) -> None:
|
|
2630
2667
|
if __debug__:
|
|
2631
|
-
type_hints = typing.get_type_hints(
|
|
2668
|
+
type_hints = typing.get_type_hints(_typecheckingstub__9323cec9a000145849866e550b55f0a549087cc444c4fa5706fdbc7c1455d154)
|
|
2632
2669
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
2633
|
-
jsii.set(self, "
|
|
2670
|
+
jsii.set(self, "eventConfig", value) # pyright: ignore[reportArgumentType]
|
|
2634
2671
|
|
|
2635
2672
|
@builtins.property
|
|
2636
|
-
@jsii.member(jsii_name="
|
|
2637
|
-
def
|
|
2638
|
-
'''
|
|
2639
|
-
|
|
2640
|
-
Cache health metrics include:.
|
|
2641
|
-
'''
|
|
2642
|
-
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "healthMetricsConfig"))
|
|
2673
|
+
@jsii.member(jsii_name="ownerContact")
|
|
2674
|
+
def owner_contact(self) -> typing.Optional[builtins.str]:
|
|
2675
|
+
'''The owner contact information for an API resource.'''
|
|
2676
|
+
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "ownerContact"))
|
|
2643
2677
|
|
|
2644
|
-
@
|
|
2645
|
-
def
|
|
2678
|
+
@owner_contact.setter
|
|
2679
|
+
def owner_contact(self, value: typing.Optional[builtins.str]) -> None:
|
|
2646
2680
|
if __debug__:
|
|
2647
|
-
type_hints = typing.get_type_hints(
|
|
2681
|
+
type_hints = typing.get_type_hints(_typecheckingstub__b829d518b74ad55cbf9233be61a91ddec84af300e750befd18c27d6ec18db38d)
|
|
2648
2682
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
2649
|
-
jsii.set(self, "
|
|
2683
|
+
jsii.set(self, "ownerContact", value) # pyright: ignore[reportArgumentType]
|
|
2650
2684
|
|
|
2651
2685
|
@builtins.property
|
|
2652
|
-
@jsii.member(jsii_name="
|
|
2653
|
-
def
|
|
2654
|
-
|
|
2655
|
-
|
|
2656
|
-
'''Transit encryption flag when connecting to cache.'''
|
|
2657
|
-
return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "transitEncryptionEnabled"))
|
|
2686
|
+
@jsii.member(jsii_name="tags")
|
|
2687
|
+
def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
|
|
2688
|
+
'''A set of tags (key-value pairs) for this API.'''
|
|
2689
|
+
return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
|
|
2658
2690
|
|
|
2659
|
-
@
|
|
2660
|
-
def
|
|
2661
|
-
self,
|
|
2662
|
-
value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
|
|
2663
|
-
) -> None:
|
|
2691
|
+
@tags.setter
|
|
2692
|
+
def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
|
|
2664
2693
|
if __debug__:
|
|
2665
|
-
type_hints = typing.get_type_hints(
|
|
2694
|
+
type_hints = typing.get_type_hints(_typecheckingstub__a8b30f166f8b9fa0fc02ab2eb4ff33b85277e77827ecebf6d7fd569a6667a8ea)
|
|
2666
2695
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
2667
|
-
jsii.set(self, "
|
|
2696
|
+
jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
|
|
2668
2697
|
|
|
2698
|
+
@jsii.data_type(
|
|
2699
|
+
jsii_type="aws-cdk-lib.aws_appsync.CfnApi.AuthModeProperty",
|
|
2700
|
+
jsii_struct_bases=[],
|
|
2701
|
+
name_mapping={"auth_type": "authType"},
|
|
2702
|
+
)
|
|
2703
|
+
class AuthModeProperty:
|
|
2704
|
+
def __init__(self, *, auth_type: typing.Optional[builtins.str] = None) -> None:
|
|
2705
|
+
'''Describes an authorization configuration.
|
|
2669
2706
|
|
|
2670
|
-
|
|
2671
|
-
jsii_type="aws-cdk-lib.aws_appsync.CfnApiCacheProps",
|
|
2672
|
-
jsii_struct_bases=[],
|
|
2673
|
-
name_mapping={
|
|
2674
|
-
"api_caching_behavior": "apiCachingBehavior",
|
|
2675
|
-
"api_id": "apiId",
|
|
2676
|
-
"ttl": "ttl",
|
|
2677
|
-
"type": "type",
|
|
2678
|
-
"at_rest_encryption_enabled": "atRestEncryptionEnabled",
|
|
2679
|
-
"health_metrics_config": "healthMetricsConfig",
|
|
2680
|
-
"transit_encryption_enabled": "transitEncryptionEnabled",
|
|
2681
|
-
},
|
|
2682
|
-
)
|
|
2683
|
-
class CfnApiCacheProps:
|
|
2684
|
-
def __init__(
|
|
2685
|
-
self,
|
|
2686
|
-
*,
|
|
2687
|
-
api_caching_behavior: builtins.str,
|
|
2688
|
-
api_id: builtins.str,
|
|
2689
|
-
ttl: jsii.Number,
|
|
2690
|
-
type: builtins.str,
|
|
2691
|
-
at_rest_encryption_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
2692
|
-
health_metrics_config: typing.Optional[builtins.str] = None,
|
|
2693
|
-
transit_encryption_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
2694
|
-
) -> None:
|
|
2695
|
-
'''Properties for defining a ``CfnApiCache``.
|
|
2707
|
+
Use ``AuthMode`` to specify the publishing and subscription authorization configuration for an Event API.
|
|
2696
2708
|
|
|
2697
|
-
|
|
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.
|
|
2709
|
+
:param auth_type: The authorization type.
|
|
2704
2710
|
|
|
2705
|
-
|
|
2706
|
-
|
|
2711
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-authmode.html
|
|
2712
|
+
:exampleMetadata: fixture=_generated
|
|
2707
2713
|
|
|
2708
|
-
|
|
2714
|
+
Example::
|
|
2709
2715
|
|
|
2710
|
-
|
|
2711
|
-
|
|
2712
|
-
|
|
2713
|
-
|
|
2714
|
-
|
|
2715
|
-
|
|
2716
|
-
|
|
2717
|
-
|
|
2718
|
-
|
|
2719
|
-
|
|
2720
|
-
|
|
2721
|
-
|
|
2722
|
-
|
|
2723
|
-
|
|
2724
|
-
|
|
2725
|
-
|
|
2726
|
-
|
|
2727
|
-
|
|
2728
|
-
|
|
2729
|
-
|
|
2730
|
-
|
|
2731
|
-
|
|
2732
|
-
|
|
2733
|
-
|
|
2716
|
+
# The code below shows an example of how to instantiate this type.
|
|
2717
|
+
# The values are placeholders you should change.
|
|
2718
|
+
from aws_cdk import aws_appsync as appsync
|
|
2719
|
+
|
|
2720
|
+
auth_mode_property = appsync.CfnApi.AuthModeProperty(
|
|
2721
|
+
auth_type="authType"
|
|
2722
|
+
)
|
|
2723
|
+
'''
|
|
2724
|
+
if __debug__:
|
|
2725
|
+
type_hints = typing.get_type_hints(_typecheckingstub__27b661cb5be7fc793a7469c90adcd7629e723a94b2a389fead69d96cfde5dba2)
|
|
2726
|
+
check_type(argname="argument auth_type", value=auth_type, expected_type=type_hints["auth_type"])
|
|
2727
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
2728
|
+
if auth_type is not None:
|
|
2729
|
+
self._values["auth_type"] = auth_type
|
|
2730
|
+
|
|
2731
|
+
@builtins.property
|
|
2732
|
+
def auth_type(self) -> typing.Optional[builtins.str]:
|
|
2733
|
+
'''The authorization type.
|
|
2734
|
+
|
|
2735
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-authmode.html#cfn-appsync-api-authmode-authtype
|
|
2736
|
+
'''
|
|
2737
|
+
result = self._values.get("auth_type")
|
|
2738
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
2739
|
+
|
|
2740
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
2741
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
2742
|
+
|
|
2743
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
2744
|
+
return not (rhs == self)
|
|
2745
|
+
|
|
2746
|
+
def __repr__(self) -> str:
|
|
2747
|
+
return "AuthModeProperty(%s)" % ", ".join(
|
|
2748
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
2749
|
+
)
|
|
2750
|
+
|
|
2751
|
+
@jsii.data_type(
|
|
2752
|
+
jsii_type="aws-cdk-lib.aws_appsync.CfnApi.AuthProviderProperty",
|
|
2753
|
+
jsii_struct_bases=[],
|
|
2754
|
+
name_mapping={
|
|
2755
|
+
"auth_type": "authType",
|
|
2756
|
+
"cognito_config": "cognitoConfig",
|
|
2757
|
+
"lambda_authorizer_config": "lambdaAuthorizerConfig",
|
|
2758
|
+
"open_id_connect_config": "openIdConnectConfig",
|
|
2759
|
+
},
|
|
2760
|
+
)
|
|
2761
|
+
class AuthProviderProperty:
|
|
2762
|
+
def __init__(
|
|
2763
|
+
self,
|
|
2764
|
+
*,
|
|
2765
|
+
auth_type: builtins.str,
|
|
2766
|
+
cognito_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnApi.CognitoConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2767
|
+
lambda_authorizer_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnApi.LambdaAuthorizerConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2768
|
+
open_id_connect_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnApi.OpenIDConnectConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2769
|
+
) -> None:
|
|
2770
|
+
'''Describes an authorization provider.
|
|
2771
|
+
|
|
2772
|
+
:param auth_type: The authorization type.
|
|
2773
|
+
:param cognito_config: Describes an Amazon Cognito user pool configuration.
|
|
2774
|
+
:param lambda_authorizer_config: A ``LambdaAuthorizerConfig`` specifies how to authorize AWS AppSync API access when using the ``AWS_LAMBDA`` authorizer mode. Be aware that an AWS AppSync API can have only one AWS Lambda authorizer configured at a time.
|
|
2775
|
+
:param open_id_connect_config: Describes an OpenID Connect (OIDC) configuration.
|
|
2776
|
+
|
|
2777
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-authprovider.html
|
|
2778
|
+
:exampleMetadata: fixture=_generated
|
|
2779
|
+
|
|
2780
|
+
Example::
|
|
2781
|
+
|
|
2782
|
+
# The code below shows an example of how to instantiate this type.
|
|
2783
|
+
# The values are placeholders you should change.
|
|
2784
|
+
from aws_cdk import aws_appsync as appsync
|
|
2785
|
+
|
|
2786
|
+
auth_provider_property = appsync.CfnApi.AuthProviderProperty(
|
|
2787
|
+
auth_type="authType",
|
|
2788
|
+
|
|
2789
|
+
# the properties below are optional
|
|
2790
|
+
cognito_config=appsync.CfnApi.CognitoConfigProperty(
|
|
2791
|
+
aws_region="awsRegion",
|
|
2792
|
+
user_pool_id="userPoolId",
|
|
2793
|
+
|
|
2794
|
+
# the properties below are optional
|
|
2795
|
+
app_id_client_regex="appIdClientRegex"
|
|
2796
|
+
),
|
|
2797
|
+
lambda_authorizer_config=appsync.CfnApi.LambdaAuthorizerConfigProperty(
|
|
2798
|
+
authorizer_uri="authorizerUri",
|
|
2799
|
+
|
|
2800
|
+
# the properties below are optional
|
|
2801
|
+
authorizer_result_ttl_in_seconds=123,
|
|
2802
|
+
identity_validation_expression="identityValidationExpression"
|
|
2803
|
+
),
|
|
2804
|
+
open_id_connect_config=appsync.CfnApi.OpenIDConnectConfigProperty(
|
|
2805
|
+
issuer="issuer",
|
|
2806
|
+
|
|
2807
|
+
# the properties below are optional
|
|
2808
|
+
auth_ttl=123,
|
|
2809
|
+
client_id="clientId",
|
|
2810
|
+
iat_ttl=123
|
|
2811
|
+
)
|
|
2812
|
+
)
|
|
2813
|
+
'''
|
|
2814
|
+
if __debug__:
|
|
2815
|
+
type_hints = typing.get_type_hints(_typecheckingstub__d3b431432784c1151b3b95b1186edc1bcfaa11a3f70614ce43f998df8d1ae46d)
|
|
2816
|
+
check_type(argname="argument auth_type", value=auth_type, expected_type=type_hints["auth_type"])
|
|
2817
|
+
check_type(argname="argument cognito_config", value=cognito_config, expected_type=type_hints["cognito_config"])
|
|
2818
|
+
check_type(argname="argument lambda_authorizer_config", value=lambda_authorizer_config, expected_type=type_hints["lambda_authorizer_config"])
|
|
2819
|
+
check_type(argname="argument open_id_connect_config", value=open_id_connect_config, expected_type=type_hints["open_id_connect_config"])
|
|
2820
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
2821
|
+
"auth_type": auth_type,
|
|
2822
|
+
}
|
|
2823
|
+
if cognito_config is not None:
|
|
2824
|
+
self._values["cognito_config"] = cognito_config
|
|
2825
|
+
if lambda_authorizer_config is not None:
|
|
2826
|
+
self._values["lambda_authorizer_config"] = lambda_authorizer_config
|
|
2827
|
+
if open_id_connect_config is not None:
|
|
2828
|
+
self._values["open_id_connect_config"] = open_id_connect_config
|
|
2829
|
+
|
|
2830
|
+
@builtins.property
|
|
2831
|
+
def auth_type(self) -> builtins.str:
|
|
2832
|
+
'''The authorization type.
|
|
2833
|
+
|
|
2834
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-authprovider.html#cfn-appsync-api-authprovider-authtype
|
|
2835
|
+
'''
|
|
2836
|
+
result = self._values.get("auth_type")
|
|
2837
|
+
assert result is not None, "Required property 'auth_type' is missing"
|
|
2838
|
+
return typing.cast(builtins.str, result)
|
|
2839
|
+
|
|
2840
|
+
@builtins.property
|
|
2841
|
+
def cognito_config(
|
|
2842
|
+
self,
|
|
2843
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnApi.CognitoConfigProperty"]]:
|
|
2844
|
+
'''Describes an Amazon Cognito user pool configuration.
|
|
2845
|
+
|
|
2846
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-authprovider.html#cfn-appsync-api-authprovider-cognitoconfig
|
|
2847
|
+
'''
|
|
2848
|
+
result = self._values.get("cognito_config")
|
|
2849
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnApi.CognitoConfigProperty"]], result)
|
|
2850
|
+
|
|
2851
|
+
@builtins.property
|
|
2852
|
+
def lambda_authorizer_config(
|
|
2853
|
+
self,
|
|
2854
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnApi.LambdaAuthorizerConfigProperty"]]:
|
|
2855
|
+
'''A ``LambdaAuthorizerConfig`` specifies how to authorize AWS AppSync API access when using the ``AWS_LAMBDA`` authorizer mode.
|
|
2856
|
+
|
|
2857
|
+
Be aware that an AWS AppSync API can have only one AWS Lambda authorizer configured at a time.
|
|
2858
|
+
|
|
2859
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-authprovider.html#cfn-appsync-api-authprovider-lambdaauthorizerconfig
|
|
2860
|
+
'''
|
|
2861
|
+
result = self._values.get("lambda_authorizer_config")
|
|
2862
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnApi.LambdaAuthorizerConfigProperty"]], result)
|
|
2863
|
+
|
|
2864
|
+
@builtins.property
|
|
2865
|
+
def open_id_connect_config(
|
|
2866
|
+
self,
|
|
2867
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnApi.OpenIDConnectConfigProperty"]]:
|
|
2868
|
+
'''Describes an OpenID Connect (OIDC) configuration.
|
|
2869
|
+
|
|
2870
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-authprovider.html#cfn-appsync-api-authprovider-openidconnectconfig
|
|
2871
|
+
'''
|
|
2872
|
+
result = self._values.get("open_id_connect_config")
|
|
2873
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnApi.OpenIDConnectConfigProperty"]], result)
|
|
2874
|
+
|
|
2875
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
2876
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
2877
|
+
|
|
2878
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
2879
|
+
return not (rhs == self)
|
|
2880
|
+
|
|
2881
|
+
def __repr__(self) -> str:
|
|
2882
|
+
return "AuthProviderProperty(%s)" % ", ".join(
|
|
2883
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
2884
|
+
)
|
|
2885
|
+
|
|
2886
|
+
@jsii.data_type(
|
|
2887
|
+
jsii_type="aws-cdk-lib.aws_appsync.CfnApi.CognitoConfigProperty",
|
|
2888
|
+
jsii_struct_bases=[],
|
|
2889
|
+
name_mapping={
|
|
2890
|
+
"aws_region": "awsRegion",
|
|
2891
|
+
"user_pool_id": "userPoolId",
|
|
2892
|
+
"app_id_client_regex": "appIdClientRegex",
|
|
2893
|
+
},
|
|
2894
|
+
)
|
|
2895
|
+
class CognitoConfigProperty:
|
|
2896
|
+
def __init__(
|
|
2897
|
+
self,
|
|
2898
|
+
*,
|
|
2899
|
+
aws_region: builtins.str,
|
|
2900
|
+
user_pool_id: builtins.str,
|
|
2901
|
+
app_id_client_regex: typing.Optional[builtins.str] = None,
|
|
2902
|
+
) -> None:
|
|
2903
|
+
'''Describes an Amazon Cognito configuration.
|
|
2904
|
+
|
|
2905
|
+
:param aws_region: The AWS Region in which the user pool was created.
|
|
2906
|
+
:param user_pool_id: The user pool ID.
|
|
2907
|
+
:param app_id_client_regex: A regular expression for validating the incoming Amazon Cognito user pool app client ID. If this value isn't set, no filtering is applied.
|
|
2908
|
+
|
|
2909
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-cognitoconfig.html
|
|
2910
|
+
:exampleMetadata: fixture=_generated
|
|
2911
|
+
|
|
2912
|
+
Example::
|
|
2913
|
+
|
|
2914
|
+
# The code below shows an example of how to instantiate this type.
|
|
2915
|
+
# The values are placeholders you should change.
|
|
2916
|
+
from aws_cdk import aws_appsync as appsync
|
|
2917
|
+
|
|
2918
|
+
cognito_config_property = appsync.CfnApi.CognitoConfigProperty(
|
|
2919
|
+
aws_region="awsRegion",
|
|
2920
|
+
user_pool_id="userPoolId",
|
|
2921
|
+
|
|
2922
|
+
# the properties below are optional
|
|
2923
|
+
app_id_client_regex="appIdClientRegex"
|
|
2924
|
+
)
|
|
2925
|
+
'''
|
|
2926
|
+
if __debug__:
|
|
2927
|
+
type_hints = typing.get_type_hints(_typecheckingstub__012c8ad0fa2d1afcda68ca532d5e287baa9e170049fe0c4e05e77dab9f8eb753)
|
|
2928
|
+
check_type(argname="argument aws_region", value=aws_region, expected_type=type_hints["aws_region"])
|
|
2929
|
+
check_type(argname="argument user_pool_id", value=user_pool_id, expected_type=type_hints["user_pool_id"])
|
|
2930
|
+
check_type(argname="argument app_id_client_regex", value=app_id_client_regex, expected_type=type_hints["app_id_client_regex"])
|
|
2931
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
2932
|
+
"aws_region": aws_region,
|
|
2933
|
+
"user_pool_id": user_pool_id,
|
|
2934
|
+
}
|
|
2935
|
+
if app_id_client_regex is not None:
|
|
2936
|
+
self._values["app_id_client_regex"] = app_id_client_regex
|
|
2937
|
+
|
|
2938
|
+
@builtins.property
|
|
2939
|
+
def aws_region(self) -> builtins.str:
|
|
2940
|
+
'''The AWS Region in which the user pool was created.
|
|
2941
|
+
|
|
2942
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-cognitoconfig.html#cfn-appsync-api-cognitoconfig-awsregion
|
|
2943
|
+
'''
|
|
2944
|
+
result = self._values.get("aws_region")
|
|
2945
|
+
assert result is not None, "Required property 'aws_region' is missing"
|
|
2946
|
+
return typing.cast(builtins.str, result)
|
|
2947
|
+
|
|
2948
|
+
@builtins.property
|
|
2949
|
+
def user_pool_id(self) -> builtins.str:
|
|
2950
|
+
'''The user pool ID.
|
|
2951
|
+
|
|
2952
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-cognitoconfig.html#cfn-appsync-api-cognitoconfig-userpoolid
|
|
2953
|
+
'''
|
|
2954
|
+
result = self._values.get("user_pool_id")
|
|
2955
|
+
assert result is not None, "Required property 'user_pool_id' is missing"
|
|
2956
|
+
return typing.cast(builtins.str, result)
|
|
2957
|
+
|
|
2958
|
+
@builtins.property
|
|
2959
|
+
def app_id_client_regex(self) -> typing.Optional[builtins.str]:
|
|
2960
|
+
'''A regular expression for validating the incoming Amazon Cognito user pool app client ID.
|
|
2961
|
+
|
|
2962
|
+
If this value isn't set, no filtering is applied.
|
|
2963
|
+
|
|
2964
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-cognitoconfig.html#cfn-appsync-api-cognitoconfig-appidclientregex
|
|
2965
|
+
'''
|
|
2966
|
+
result = self._values.get("app_id_client_regex")
|
|
2967
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
2968
|
+
|
|
2969
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
2970
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
2971
|
+
|
|
2972
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
2973
|
+
return not (rhs == self)
|
|
2974
|
+
|
|
2975
|
+
def __repr__(self) -> str:
|
|
2976
|
+
return "CognitoConfigProperty(%s)" % ", ".join(
|
|
2977
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
2978
|
+
)
|
|
2979
|
+
|
|
2980
|
+
@jsii.data_type(
|
|
2981
|
+
jsii_type="aws-cdk-lib.aws_appsync.CfnApi.DnsMapProperty",
|
|
2982
|
+
jsii_struct_bases=[],
|
|
2983
|
+
name_mapping={"http": "http", "realtime": "realtime"},
|
|
2984
|
+
)
|
|
2985
|
+
class DnsMapProperty:
|
|
2986
|
+
def __init__(
|
|
2987
|
+
self,
|
|
2988
|
+
*,
|
|
2989
|
+
http: typing.Optional[builtins.str] = None,
|
|
2990
|
+
realtime: typing.Optional[builtins.str] = None,
|
|
2991
|
+
) -> None:
|
|
2992
|
+
'''A map of DNS names for the Api.
|
|
2993
|
+
|
|
2994
|
+
:param http: The domain name of the Api's HTTP endpoint.
|
|
2995
|
+
:param realtime: The domain name of the Api's real-time endpoint.
|
|
2996
|
+
|
|
2997
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-dnsmap.html
|
|
2998
|
+
:exampleMetadata: fixture=_generated
|
|
2999
|
+
|
|
3000
|
+
Example::
|
|
3001
|
+
|
|
3002
|
+
# The code below shows an example of how to instantiate this type.
|
|
3003
|
+
# The values are placeholders you should change.
|
|
3004
|
+
from aws_cdk import aws_appsync as appsync
|
|
3005
|
+
|
|
3006
|
+
dns_map_property = appsync.CfnApi.DnsMapProperty(
|
|
3007
|
+
http="http",
|
|
3008
|
+
realtime="realtime"
|
|
3009
|
+
)
|
|
3010
|
+
'''
|
|
3011
|
+
if __debug__:
|
|
3012
|
+
type_hints = typing.get_type_hints(_typecheckingstub__312a111f84f5f64be12d3d7c09cc00f4c64e4fe99cd1bf78561ebcfd82084e0c)
|
|
3013
|
+
check_type(argname="argument http", value=http, expected_type=type_hints["http"])
|
|
3014
|
+
check_type(argname="argument realtime", value=realtime, expected_type=type_hints["realtime"])
|
|
3015
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
3016
|
+
if http is not None:
|
|
3017
|
+
self._values["http"] = http
|
|
3018
|
+
if realtime is not None:
|
|
3019
|
+
self._values["realtime"] = realtime
|
|
3020
|
+
|
|
3021
|
+
@builtins.property
|
|
3022
|
+
def http(self) -> typing.Optional[builtins.str]:
|
|
3023
|
+
'''The domain name of the Api's HTTP endpoint.
|
|
3024
|
+
|
|
3025
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-dnsmap.html#cfn-appsync-api-dnsmap-http
|
|
3026
|
+
'''
|
|
3027
|
+
result = self._values.get("http")
|
|
3028
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
3029
|
+
|
|
3030
|
+
@builtins.property
|
|
3031
|
+
def realtime(self) -> typing.Optional[builtins.str]:
|
|
3032
|
+
'''The domain name of the Api's real-time endpoint.
|
|
3033
|
+
|
|
3034
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-dnsmap.html#cfn-appsync-api-dnsmap-realtime
|
|
3035
|
+
'''
|
|
3036
|
+
result = self._values.get("realtime")
|
|
3037
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
3038
|
+
|
|
3039
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
3040
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
3041
|
+
|
|
3042
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
3043
|
+
return not (rhs == self)
|
|
3044
|
+
|
|
3045
|
+
def __repr__(self) -> str:
|
|
3046
|
+
return "DnsMapProperty(%s)" % ", ".join(
|
|
3047
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
3048
|
+
)
|
|
3049
|
+
|
|
3050
|
+
@jsii.data_type(
|
|
3051
|
+
jsii_type="aws-cdk-lib.aws_appsync.CfnApi.EventConfigProperty",
|
|
3052
|
+
jsii_struct_bases=[],
|
|
3053
|
+
name_mapping={
|
|
3054
|
+
"auth_providers": "authProviders",
|
|
3055
|
+
"connection_auth_modes": "connectionAuthModes",
|
|
3056
|
+
"default_publish_auth_modes": "defaultPublishAuthModes",
|
|
3057
|
+
"default_subscribe_auth_modes": "defaultSubscribeAuthModes",
|
|
3058
|
+
"log_config": "logConfig",
|
|
3059
|
+
},
|
|
3060
|
+
)
|
|
3061
|
+
class EventConfigProperty:
|
|
3062
|
+
def __init__(
|
|
3063
|
+
self,
|
|
3064
|
+
*,
|
|
3065
|
+
auth_providers: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnApi.AuthProviderProperty", typing.Dict[builtins.str, typing.Any]]]]],
|
|
3066
|
+
connection_auth_modes: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnApi.AuthModeProperty", typing.Dict[builtins.str, typing.Any]]]]],
|
|
3067
|
+
default_publish_auth_modes: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnApi.AuthModeProperty", typing.Dict[builtins.str, typing.Any]]]]],
|
|
3068
|
+
default_subscribe_auth_modes: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnApi.AuthModeProperty", typing.Dict[builtins.str, typing.Any]]]]],
|
|
3069
|
+
log_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnApi.EventLogConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
3070
|
+
) -> None:
|
|
3071
|
+
'''Describes the authorization configuration for connections, message publishing, message subscriptions, and logging for an Event API.
|
|
3072
|
+
|
|
3073
|
+
:param auth_providers: A list of authorization providers.
|
|
3074
|
+
:param connection_auth_modes: A list of valid authorization modes for the Event API connections.
|
|
3075
|
+
:param default_publish_auth_modes: A list of valid authorization modes for the Event API publishing.
|
|
3076
|
+
:param default_subscribe_auth_modes: A list of valid authorization modes for the Event API subscriptions.
|
|
3077
|
+
:param log_config: The CloudWatch Logs configuration for the Event API.
|
|
3078
|
+
|
|
3079
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-eventconfig.html
|
|
3080
|
+
:exampleMetadata: fixture=_generated
|
|
3081
|
+
|
|
3082
|
+
Example::
|
|
3083
|
+
|
|
3084
|
+
# The code below shows an example of how to instantiate this type.
|
|
3085
|
+
# The values are placeholders you should change.
|
|
3086
|
+
from aws_cdk import aws_appsync as appsync
|
|
3087
|
+
|
|
3088
|
+
event_config_property = appsync.CfnApi.EventConfigProperty(
|
|
3089
|
+
auth_providers=[appsync.CfnApi.AuthProviderProperty(
|
|
3090
|
+
auth_type="authType",
|
|
3091
|
+
|
|
3092
|
+
# the properties below are optional
|
|
3093
|
+
cognito_config=appsync.CfnApi.CognitoConfigProperty(
|
|
3094
|
+
aws_region="awsRegion",
|
|
3095
|
+
user_pool_id="userPoolId",
|
|
3096
|
+
|
|
3097
|
+
# the properties below are optional
|
|
3098
|
+
app_id_client_regex="appIdClientRegex"
|
|
3099
|
+
),
|
|
3100
|
+
lambda_authorizer_config=appsync.CfnApi.LambdaAuthorizerConfigProperty(
|
|
3101
|
+
authorizer_uri="authorizerUri",
|
|
3102
|
+
|
|
3103
|
+
# the properties below are optional
|
|
3104
|
+
authorizer_result_ttl_in_seconds=123,
|
|
3105
|
+
identity_validation_expression="identityValidationExpression"
|
|
3106
|
+
),
|
|
3107
|
+
open_id_connect_config=appsync.CfnApi.OpenIDConnectConfigProperty(
|
|
3108
|
+
issuer="issuer",
|
|
3109
|
+
|
|
3110
|
+
# the properties below are optional
|
|
3111
|
+
auth_ttl=123,
|
|
3112
|
+
client_id="clientId",
|
|
3113
|
+
iat_ttl=123
|
|
3114
|
+
)
|
|
3115
|
+
)],
|
|
3116
|
+
connection_auth_modes=[appsync.CfnApi.AuthModeProperty(
|
|
3117
|
+
auth_type="authType"
|
|
3118
|
+
)],
|
|
3119
|
+
default_publish_auth_modes=[appsync.CfnApi.AuthModeProperty(
|
|
3120
|
+
auth_type="authType"
|
|
3121
|
+
)],
|
|
3122
|
+
default_subscribe_auth_modes=[appsync.CfnApi.AuthModeProperty(
|
|
3123
|
+
auth_type="authType"
|
|
3124
|
+
)],
|
|
3125
|
+
|
|
3126
|
+
# the properties below are optional
|
|
3127
|
+
log_config=appsync.CfnApi.EventLogConfigProperty(
|
|
3128
|
+
cloud_watch_logs_role_arn="cloudWatchLogsRoleArn",
|
|
3129
|
+
log_level="logLevel"
|
|
3130
|
+
)
|
|
3131
|
+
)
|
|
3132
|
+
'''
|
|
3133
|
+
if __debug__:
|
|
3134
|
+
type_hints = typing.get_type_hints(_typecheckingstub__53f8b01a4596f6e890e45a2870f92278e02fc06e912e096c33920157038135cf)
|
|
3135
|
+
check_type(argname="argument auth_providers", value=auth_providers, expected_type=type_hints["auth_providers"])
|
|
3136
|
+
check_type(argname="argument connection_auth_modes", value=connection_auth_modes, expected_type=type_hints["connection_auth_modes"])
|
|
3137
|
+
check_type(argname="argument default_publish_auth_modes", value=default_publish_auth_modes, expected_type=type_hints["default_publish_auth_modes"])
|
|
3138
|
+
check_type(argname="argument default_subscribe_auth_modes", value=default_subscribe_auth_modes, expected_type=type_hints["default_subscribe_auth_modes"])
|
|
3139
|
+
check_type(argname="argument log_config", value=log_config, expected_type=type_hints["log_config"])
|
|
3140
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
3141
|
+
"auth_providers": auth_providers,
|
|
3142
|
+
"connection_auth_modes": connection_auth_modes,
|
|
3143
|
+
"default_publish_auth_modes": default_publish_auth_modes,
|
|
3144
|
+
"default_subscribe_auth_modes": default_subscribe_auth_modes,
|
|
3145
|
+
}
|
|
3146
|
+
if log_config is not None:
|
|
3147
|
+
self._values["log_config"] = log_config
|
|
3148
|
+
|
|
3149
|
+
@builtins.property
|
|
3150
|
+
def auth_providers(
|
|
3151
|
+
self,
|
|
3152
|
+
) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnApi.AuthProviderProperty"]]]:
|
|
3153
|
+
'''A list of authorization providers.
|
|
3154
|
+
|
|
3155
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-eventconfig.html#cfn-appsync-api-eventconfig-authproviders
|
|
3156
|
+
'''
|
|
3157
|
+
result = self._values.get("auth_providers")
|
|
3158
|
+
assert result is not None, "Required property 'auth_providers' is missing"
|
|
3159
|
+
return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnApi.AuthProviderProperty"]]], result)
|
|
3160
|
+
|
|
3161
|
+
@builtins.property
|
|
3162
|
+
def connection_auth_modes(
|
|
3163
|
+
self,
|
|
3164
|
+
) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnApi.AuthModeProperty"]]]:
|
|
3165
|
+
'''A list of valid authorization modes for the Event API connections.
|
|
3166
|
+
|
|
3167
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-eventconfig.html#cfn-appsync-api-eventconfig-connectionauthmodes
|
|
3168
|
+
'''
|
|
3169
|
+
result = self._values.get("connection_auth_modes")
|
|
3170
|
+
assert result is not None, "Required property 'connection_auth_modes' is missing"
|
|
3171
|
+
return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnApi.AuthModeProperty"]]], result)
|
|
3172
|
+
|
|
3173
|
+
@builtins.property
|
|
3174
|
+
def default_publish_auth_modes(
|
|
3175
|
+
self,
|
|
3176
|
+
) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnApi.AuthModeProperty"]]]:
|
|
3177
|
+
'''A list of valid authorization modes for the Event API publishing.
|
|
3178
|
+
|
|
3179
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-eventconfig.html#cfn-appsync-api-eventconfig-defaultpublishauthmodes
|
|
3180
|
+
'''
|
|
3181
|
+
result = self._values.get("default_publish_auth_modes")
|
|
3182
|
+
assert result is not None, "Required property 'default_publish_auth_modes' is missing"
|
|
3183
|
+
return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnApi.AuthModeProperty"]]], result)
|
|
3184
|
+
|
|
3185
|
+
@builtins.property
|
|
3186
|
+
def default_subscribe_auth_modes(
|
|
3187
|
+
self,
|
|
3188
|
+
) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnApi.AuthModeProperty"]]]:
|
|
3189
|
+
'''A list of valid authorization modes for the Event API subscriptions.
|
|
3190
|
+
|
|
3191
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-eventconfig.html#cfn-appsync-api-eventconfig-defaultsubscribeauthmodes
|
|
3192
|
+
'''
|
|
3193
|
+
result = self._values.get("default_subscribe_auth_modes")
|
|
3194
|
+
assert result is not None, "Required property 'default_subscribe_auth_modes' is missing"
|
|
3195
|
+
return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnApi.AuthModeProperty"]]], result)
|
|
3196
|
+
|
|
3197
|
+
@builtins.property
|
|
3198
|
+
def log_config(
|
|
3199
|
+
self,
|
|
3200
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnApi.EventLogConfigProperty"]]:
|
|
3201
|
+
'''The CloudWatch Logs configuration for the Event API.
|
|
3202
|
+
|
|
3203
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-eventconfig.html#cfn-appsync-api-eventconfig-logconfig
|
|
3204
|
+
'''
|
|
3205
|
+
result = self._values.get("log_config")
|
|
3206
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnApi.EventLogConfigProperty"]], result)
|
|
3207
|
+
|
|
3208
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
3209
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
3210
|
+
|
|
3211
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
3212
|
+
return not (rhs == self)
|
|
3213
|
+
|
|
3214
|
+
def __repr__(self) -> str:
|
|
3215
|
+
return "EventConfigProperty(%s)" % ", ".join(
|
|
3216
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
3217
|
+
)
|
|
3218
|
+
|
|
3219
|
+
@jsii.data_type(
|
|
3220
|
+
jsii_type="aws-cdk-lib.aws_appsync.CfnApi.EventLogConfigProperty",
|
|
3221
|
+
jsii_struct_bases=[],
|
|
3222
|
+
name_mapping={
|
|
3223
|
+
"cloud_watch_logs_role_arn": "cloudWatchLogsRoleArn",
|
|
3224
|
+
"log_level": "logLevel",
|
|
3225
|
+
},
|
|
3226
|
+
)
|
|
3227
|
+
class EventLogConfigProperty:
|
|
3228
|
+
def __init__(
|
|
3229
|
+
self,
|
|
3230
|
+
*,
|
|
3231
|
+
cloud_watch_logs_role_arn: builtins.str,
|
|
3232
|
+
log_level: builtins.str,
|
|
3233
|
+
) -> None:
|
|
3234
|
+
'''Describes the CloudWatch Logs configuration for the Event API.
|
|
3235
|
+
|
|
3236
|
+
:param cloud_watch_logs_role_arn: The IAM service role that AWS AppSync assumes to publish CloudWatch Logs in your account.
|
|
3237
|
+
:param log_level: The type of information to log for the Event API.
|
|
3238
|
+
|
|
3239
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-eventlogconfig.html
|
|
3240
|
+
:exampleMetadata: fixture=_generated
|
|
3241
|
+
|
|
3242
|
+
Example::
|
|
3243
|
+
|
|
3244
|
+
# The code below shows an example of how to instantiate this type.
|
|
3245
|
+
# The values are placeholders you should change.
|
|
3246
|
+
from aws_cdk import aws_appsync as appsync
|
|
3247
|
+
|
|
3248
|
+
event_log_config_property = appsync.CfnApi.EventLogConfigProperty(
|
|
3249
|
+
cloud_watch_logs_role_arn="cloudWatchLogsRoleArn",
|
|
3250
|
+
log_level="logLevel"
|
|
3251
|
+
)
|
|
3252
|
+
'''
|
|
3253
|
+
if __debug__:
|
|
3254
|
+
type_hints = typing.get_type_hints(_typecheckingstub__5cbb1c5597e58c84a31d8dc10841de6fa70b9c328dacba388a7afdab090b3e6a)
|
|
3255
|
+
check_type(argname="argument cloud_watch_logs_role_arn", value=cloud_watch_logs_role_arn, expected_type=type_hints["cloud_watch_logs_role_arn"])
|
|
3256
|
+
check_type(argname="argument log_level", value=log_level, expected_type=type_hints["log_level"])
|
|
3257
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
3258
|
+
"cloud_watch_logs_role_arn": cloud_watch_logs_role_arn,
|
|
3259
|
+
"log_level": log_level,
|
|
3260
|
+
}
|
|
3261
|
+
|
|
3262
|
+
@builtins.property
|
|
3263
|
+
def cloud_watch_logs_role_arn(self) -> builtins.str:
|
|
3264
|
+
'''The IAM service role that AWS AppSync assumes to publish CloudWatch Logs in your account.
|
|
3265
|
+
|
|
3266
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-eventlogconfig.html#cfn-appsync-api-eventlogconfig-cloudwatchlogsrolearn
|
|
3267
|
+
'''
|
|
3268
|
+
result = self._values.get("cloud_watch_logs_role_arn")
|
|
3269
|
+
assert result is not None, "Required property 'cloud_watch_logs_role_arn' is missing"
|
|
3270
|
+
return typing.cast(builtins.str, result)
|
|
3271
|
+
|
|
3272
|
+
@builtins.property
|
|
3273
|
+
def log_level(self) -> builtins.str:
|
|
3274
|
+
'''The type of information to log for the Event API.
|
|
3275
|
+
|
|
3276
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-eventlogconfig.html#cfn-appsync-api-eventlogconfig-loglevel
|
|
3277
|
+
'''
|
|
3278
|
+
result = self._values.get("log_level")
|
|
3279
|
+
assert result is not None, "Required property 'log_level' is missing"
|
|
3280
|
+
return typing.cast(builtins.str, result)
|
|
3281
|
+
|
|
3282
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
3283
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
3284
|
+
|
|
3285
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
3286
|
+
return not (rhs == self)
|
|
3287
|
+
|
|
3288
|
+
def __repr__(self) -> str:
|
|
3289
|
+
return "EventLogConfigProperty(%s)" % ", ".join(
|
|
3290
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
3291
|
+
)
|
|
3292
|
+
|
|
3293
|
+
@jsii.data_type(
|
|
3294
|
+
jsii_type="aws-cdk-lib.aws_appsync.CfnApi.LambdaAuthorizerConfigProperty",
|
|
3295
|
+
jsii_struct_bases=[],
|
|
3296
|
+
name_mapping={
|
|
3297
|
+
"authorizer_uri": "authorizerUri",
|
|
3298
|
+
"authorizer_result_ttl_in_seconds": "authorizerResultTtlInSeconds",
|
|
3299
|
+
"identity_validation_expression": "identityValidationExpression",
|
|
3300
|
+
},
|
|
3301
|
+
)
|
|
3302
|
+
class LambdaAuthorizerConfigProperty:
|
|
3303
|
+
def __init__(
|
|
3304
|
+
self,
|
|
3305
|
+
*,
|
|
3306
|
+
authorizer_uri: builtins.str,
|
|
3307
|
+
authorizer_result_ttl_in_seconds: typing.Optional[jsii.Number] = None,
|
|
3308
|
+
identity_validation_expression: typing.Optional[builtins.str] = None,
|
|
3309
|
+
) -> None:
|
|
3310
|
+
'''A ``LambdaAuthorizerConfig`` specifies how to authorize AWS AppSync API access when using the ``AWS_LAMBDA`` authorizer mode.
|
|
3311
|
+
|
|
3312
|
+
Be aware that an AWS AppSync API can have only one AWS Lambda authorizer configured at a time.
|
|
3313
|
+
|
|
3314
|
+
: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``
|
|
3315
|
+
: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.
|
|
3316
|
+
:param identity_validation_expression: A regular expression for validation of tokens before the Lambda function is called.
|
|
3317
|
+
|
|
3318
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-lambdaauthorizerconfig.html
|
|
3319
|
+
:exampleMetadata: fixture=_generated
|
|
3320
|
+
|
|
3321
|
+
Example::
|
|
3322
|
+
|
|
3323
|
+
# The code below shows an example of how to instantiate this type.
|
|
3324
|
+
# The values are placeholders you should change.
|
|
3325
|
+
from aws_cdk import aws_appsync as appsync
|
|
3326
|
+
|
|
3327
|
+
lambda_authorizer_config_property = appsync.CfnApi.LambdaAuthorizerConfigProperty(
|
|
3328
|
+
authorizer_uri="authorizerUri",
|
|
3329
|
+
|
|
3330
|
+
# the properties below are optional
|
|
3331
|
+
authorizer_result_ttl_in_seconds=123,
|
|
3332
|
+
identity_validation_expression="identityValidationExpression"
|
|
3333
|
+
)
|
|
3334
|
+
'''
|
|
3335
|
+
if __debug__:
|
|
3336
|
+
type_hints = typing.get_type_hints(_typecheckingstub__6eb7eaf1ef726d95b558700ffd22e714695a485aed3b5a3ae796f2a03efae22c)
|
|
3337
|
+
check_type(argname="argument authorizer_uri", value=authorizer_uri, expected_type=type_hints["authorizer_uri"])
|
|
3338
|
+
check_type(argname="argument authorizer_result_ttl_in_seconds", value=authorizer_result_ttl_in_seconds, expected_type=type_hints["authorizer_result_ttl_in_seconds"])
|
|
3339
|
+
check_type(argname="argument identity_validation_expression", value=identity_validation_expression, expected_type=type_hints["identity_validation_expression"])
|
|
3340
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
3341
|
+
"authorizer_uri": authorizer_uri,
|
|
3342
|
+
}
|
|
3343
|
+
if authorizer_result_ttl_in_seconds is not None:
|
|
3344
|
+
self._values["authorizer_result_ttl_in_seconds"] = authorizer_result_ttl_in_seconds
|
|
3345
|
+
if identity_validation_expression is not None:
|
|
3346
|
+
self._values["identity_validation_expression"] = identity_validation_expression
|
|
3347
|
+
|
|
3348
|
+
@builtins.property
|
|
3349
|
+
def authorizer_uri(self) -> builtins.str:
|
|
3350
|
+
'''The Amazon Resource Name (ARN) of the Lambda function to be called for authorization.
|
|
3351
|
+
|
|
3352
|
+
This can be a standard Lambda ARN, a version ARN ( ``.../v3`` ), or an alias ARN.
|
|
3353
|
+
|
|
3354
|
+
*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:
|
|
3355
|
+
|
|
3356
|
+
``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``
|
|
3357
|
+
|
|
3358
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-lambdaauthorizerconfig.html#cfn-appsync-api-lambdaauthorizerconfig-authorizeruri
|
|
3359
|
+
'''
|
|
3360
|
+
result = self._values.get("authorizer_uri")
|
|
3361
|
+
assert result is not None, "Required property 'authorizer_uri' is missing"
|
|
3362
|
+
return typing.cast(builtins.str, result)
|
|
3363
|
+
|
|
3364
|
+
@builtins.property
|
|
3365
|
+
def authorizer_result_ttl_in_seconds(self) -> typing.Optional[jsii.Number]:
|
|
3366
|
+
'''The number of seconds a response should be cached for.
|
|
3367
|
+
|
|
3368
|
+
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.
|
|
3369
|
+
|
|
3370
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-lambdaauthorizerconfig.html#cfn-appsync-api-lambdaauthorizerconfig-authorizerresultttlinseconds
|
|
3371
|
+
'''
|
|
3372
|
+
result = self._values.get("authorizer_result_ttl_in_seconds")
|
|
3373
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
3374
|
+
|
|
3375
|
+
@builtins.property
|
|
3376
|
+
def identity_validation_expression(self) -> typing.Optional[builtins.str]:
|
|
3377
|
+
'''A regular expression for validation of tokens before the Lambda function is called.
|
|
3378
|
+
|
|
3379
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-lambdaauthorizerconfig.html#cfn-appsync-api-lambdaauthorizerconfig-identityvalidationexpression
|
|
3380
|
+
'''
|
|
3381
|
+
result = self._values.get("identity_validation_expression")
|
|
3382
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
3383
|
+
|
|
3384
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
3385
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
3386
|
+
|
|
3387
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
3388
|
+
return not (rhs == self)
|
|
3389
|
+
|
|
3390
|
+
def __repr__(self) -> str:
|
|
3391
|
+
return "LambdaAuthorizerConfigProperty(%s)" % ", ".join(
|
|
3392
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
3393
|
+
)
|
|
3394
|
+
|
|
3395
|
+
@jsii.data_type(
|
|
3396
|
+
jsii_type="aws-cdk-lib.aws_appsync.CfnApi.OpenIDConnectConfigProperty",
|
|
3397
|
+
jsii_struct_bases=[],
|
|
3398
|
+
name_mapping={
|
|
3399
|
+
"issuer": "issuer",
|
|
3400
|
+
"auth_ttl": "authTtl",
|
|
3401
|
+
"client_id": "clientId",
|
|
3402
|
+
"iat_ttl": "iatTtl",
|
|
3403
|
+
},
|
|
3404
|
+
)
|
|
3405
|
+
class OpenIDConnectConfigProperty:
|
|
3406
|
+
def __init__(
|
|
3407
|
+
self,
|
|
3408
|
+
*,
|
|
3409
|
+
issuer: builtins.str,
|
|
3410
|
+
auth_ttl: typing.Optional[jsii.Number] = None,
|
|
3411
|
+
client_id: typing.Optional[builtins.str] = None,
|
|
3412
|
+
iat_ttl: typing.Optional[jsii.Number] = None,
|
|
3413
|
+
) -> None:
|
|
3414
|
+
'''Describes an OpenID Connect (OIDC) configuration.
|
|
3415
|
+
|
|
3416
|
+
:param issuer: The issuer for the OIDC configuration. The issuer returned by discovery must exactly match the value of ``iss`` in the ID token.
|
|
3417
|
+
:param auth_ttl: The number of milliseconds that a token is valid after being authenticated.
|
|
3418
|
+
: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.
|
|
3419
|
+
:param iat_ttl: The number of milliseconds that a token is valid after it's issued to a user.
|
|
3420
|
+
|
|
3421
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-openidconnectconfig.html
|
|
3422
|
+
:exampleMetadata: fixture=_generated
|
|
3423
|
+
|
|
3424
|
+
Example::
|
|
3425
|
+
|
|
3426
|
+
# The code below shows an example of how to instantiate this type.
|
|
3427
|
+
# The values are placeholders you should change.
|
|
3428
|
+
from aws_cdk import aws_appsync as appsync
|
|
3429
|
+
|
|
3430
|
+
open_iDConnect_config_property = appsync.CfnApi.OpenIDConnectConfigProperty(
|
|
3431
|
+
issuer="issuer",
|
|
3432
|
+
|
|
3433
|
+
# the properties below are optional
|
|
3434
|
+
auth_ttl=123,
|
|
3435
|
+
client_id="clientId",
|
|
3436
|
+
iat_ttl=123
|
|
3437
|
+
)
|
|
3438
|
+
'''
|
|
3439
|
+
if __debug__:
|
|
3440
|
+
type_hints = typing.get_type_hints(_typecheckingstub__560e301b02d9bfc40a0d691fa82c55f336f07c62f130aa6e9464ab1c1b676cf8)
|
|
3441
|
+
check_type(argname="argument issuer", value=issuer, expected_type=type_hints["issuer"])
|
|
3442
|
+
check_type(argname="argument auth_ttl", value=auth_ttl, expected_type=type_hints["auth_ttl"])
|
|
3443
|
+
check_type(argname="argument client_id", value=client_id, expected_type=type_hints["client_id"])
|
|
3444
|
+
check_type(argname="argument iat_ttl", value=iat_ttl, expected_type=type_hints["iat_ttl"])
|
|
3445
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
3446
|
+
"issuer": issuer,
|
|
3447
|
+
}
|
|
3448
|
+
if auth_ttl is not None:
|
|
3449
|
+
self._values["auth_ttl"] = auth_ttl
|
|
3450
|
+
if client_id is not None:
|
|
3451
|
+
self._values["client_id"] = client_id
|
|
3452
|
+
if iat_ttl is not None:
|
|
3453
|
+
self._values["iat_ttl"] = iat_ttl
|
|
3454
|
+
|
|
3455
|
+
@builtins.property
|
|
3456
|
+
def issuer(self) -> builtins.str:
|
|
3457
|
+
'''The issuer for the OIDC configuration.
|
|
3458
|
+
|
|
3459
|
+
The issuer returned by discovery must exactly match the value of ``iss`` in the ID token.
|
|
3460
|
+
|
|
3461
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-openidconnectconfig.html#cfn-appsync-api-openidconnectconfig-issuer
|
|
3462
|
+
'''
|
|
3463
|
+
result = self._values.get("issuer")
|
|
3464
|
+
assert result is not None, "Required property 'issuer' is missing"
|
|
3465
|
+
return typing.cast(builtins.str, result)
|
|
3466
|
+
|
|
3467
|
+
@builtins.property
|
|
3468
|
+
def auth_ttl(self) -> typing.Optional[jsii.Number]:
|
|
3469
|
+
'''The number of milliseconds that a token is valid after being authenticated.
|
|
3470
|
+
|
|
3471
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-openidconnectconfig.html#cfn-appsync-api-openidconnectconfig-authttl
|
|
3472
|
+
'''
|
|
3473
|
+
result = self._values.get("auth_ttl")
|
|
3474
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
3475
|
+
|
|
3476
|
+
@builtins.property
|
|
3477
|
+
def client_id(self) -> typing.Optional[builtins.str]:
|
|
3478
|
+
'''The client identifier of the relying party at the OpenID identity provider.
|
|
3479
|
+
|
|
3480
|
+
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.
|
|
3481
|
+
|
|
3482
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-openidconnectconfig.html#cfn-appsync-api-openidconnectconfig-clientid
|
|
3483
|
+
'''
|
|
3484
|
+
result = self._values.get("client_id")
|
|
3485
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
3486
|
+
|
|
3487
|
+
@builtins.property
|
|
3488
|
+
def iat_ttl(self) -> typing.Optional[jsii.Number]:
|
|
3489
|
+
'''The number of milliseconds that a token is valid after it's issued to a user.
|
|
3490
|
+
|
|
3491
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-api-openidconnectconfig.html#cfn-appsync-api-openidconnectconfig-iatttl
|
|
3492
|
+
'''
|
|
3493
|
+
result = self._values.get("iat_ttl")
|
|
3494
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
3495
|
+
|
|
3496
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
3497
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
3498
|
+
|
|
3499
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
3500
|
+
return not (rhs == self)
|
|
3501
|
+
|
|
3502
|
+
def __repr__(self) -> str:
|
|
3503
|
+
return "OpenIDConnectConfigProperty(%s)" % ", ".join(
|
|
3504
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
3505
|
+
)
|
|
3506
|
+
|
|
3507
|
+
|
|
3508
|
+
@jsii.implements(_IInspectable_c2943556)
|
|
3509
|
+
class CfnApiCache(
|
|
3510
|
+
_CfnResource_9df397a6,
|
|
3511
|
+
metaclass=jsii.JSIIMeta,
|
|
3512
|
+
jsii_type="aws-cdk-lib.aws_appsync.CfnApiCache",
|
|
3513
|
+
):
|
|
3514
|
+
'''The ``AWS::AppSync::ApiCache`` resource represents the input of a ``CreateApiCache`` operation.
|
|
3515
|
+
|
|
3516
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html
|
|
3517
|
+
:cloudformationResource: AWS::AppSync::ApiCache
|
|
3518
|
+
:exampleMetadata: fixture=_generated
|
|
3519
|
+
|
|
3520
|
+
Example::
|
|
3521
|
+
|
|
3522
|
+
# The code below shows an example of how to instantiate this type.
|
|
3523
|
+
# The values are placeholders you should change.
|
|
3524
|
+
from aws_cdk import aws_appsync as appsync
|
|
3525
|
+
|
|
3526
|
+
cfn_api_cache = appsync.CfnApiCache(self, "MyCfnApiCache",
|
|
3527
|
+
api_caching_behavior="apiCachingBehavior",
|
|
3528
|
+
api_id="apiId",
|
|
3529
|
+
ttl=123,
|
|
3530
|
+
type="type",
|
|
3531
|
+
|
|
3532
|
+
# the properties below are optional
|
|
3533
|
+
at_rest_encryption_enabled=False,
|
|
3534
|
+
health_metrics_config="healthMetricsConfig",
|
|
3535
|
+
transit_encryption_enabled=False
|
|
3536
|
+
)
|
|
3537
|
+
'''
|
|
3538
|
+
|
|
3539
|
+
def __init__(
|
|
3540
|
+
self,
|
|
3541
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
3542
|
+
id: builtins.str,
|
|
3543
|
+
*,
|
|
3544
|
+
api_caching_behavior: builtins.str,
|
|
3545
|
+
api_id: builtins.str,
|
|
3546
|
+
ttl: jsii.Number,
|
|
3547
|
+
type: builtins.str,
|
|
3548
|
+
at_rest_encryption_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
3549
|
+
health_metrics_config: typing.Optional[builtins.str] = None,
|
|
3550
|
+
transit_encryption_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
3551
|
+
) -> None:
|
|
3552
|
+
'''
|
|
3553
|
+
:param scope: Scope in which this resource is defined.
|
|
3554
|
+
:param id: Construct identifier for this resource (unique in its scope).
|
|
3555
|
+
:param api_caching_behavior: Caching behavior. - *FULL_REQUEST_CACHING* : All requests are fully cached. - *PER_RESOLVER_CACHING* : Individual resolvers that you specify are cached.
|
|
3556
|
+
:param api_id: The GraphQL API ID.
|
|
3557
|
+
:param ttl: TTL in seconds for cache entries. Valid values are 1–3,600 seconds.
|
|
3558
|
+
: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.
|
|
3559
|
+
:param at_rest_encryption_enabled: At-rest encryption flag for cache. You cannot update this setting after creation.
|
|
3560
|
+
: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`` .
|
|
3561
|
+
:param transit_encryption_enabled: Transit encryption flag when connecting to cache. You cannot update this setting after creation.
|
|
3562
|
+
'''
|
|
3563
|
+
if __debug__:
|
|
3564
|
+
type_hints = typing.get_type_hints(_typecheckingstub__e9d92b7b2abdac7341eb92f7ac10d2d67dd2700af68eaf42c72c47ffdaacc344)
|
|
3565
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
3566
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
3567
|
+
props = CfnApiCacheProps(
|
|
3568
|
+
api_caching_behavior=api_caching_behavior,
|
|
3569
|
+
api_id=api_id,
|
|
3570
|
+
ttl=ttl,
|
|
3571
|
+
type=type,
|
|
3572
|
+
at_rest_encryption_enabled=at_rest_encryption_enabled,
|
|
3573
|
+
health_metrics_config=health_metrics_config,
|
|
3574
|
+
transit_encryption_enabled=transit_encryption_enabled,
|
|
3575
|
+
)
|
|
3576
|
+
|
|
3577
|
+
jsii.create(self.__class__, self, [scope, id, props])
|
|
3578
|
+
|
|
3579
|
+
@jsii.member(jsii_name="inspect")
|
|
3580
|
+
def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
|
|
3581
|
+
'''Examines the CloudFormation resource and discloses attributes.
|
|
3582
|
+
|
|
3583
|
+
:param inspector: tree inspector to collect and process attributes.
|
|
3584
|
+
'''
|
|
3585
|
+
if __debug__:
|
|
3586
|
+
type_hints = typing.get_type_hints(_typecheckingstub__142193172b7ee1304f3b8fd949531b4cfa950ea62d0dc10f9ed5a184a603132d)
|
|
3587
|
+
check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
|
|
3588
|
+
return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
|
|
3589
|
+
|
|
3590
|
+
@jsii.member(jsii_name="renderProperties")
|
|
3591
|
+
def _render_properties(
|
|
3592
|
+
self,
|
|
3593
|
+
props: typing.Mapping[builtins.str, typing.Any],
|
|
3594
|
+
) -> typing.Mapping[builtins.str, typing.Any]:
|
|
3595
|
+
'''
|
|
3596
|
+
:param props: -
|
|
3597
|
+
'''
|
|
3598
|
+
if __debug__:
|
|
3599
|
+
type_hints = typing.get_type_hints(_typecheckingstub__1ce863b5f21a86ce886458054cd4de0550269c18eb7c4f3fb37884dc2869845e)
|
|
3600
|
+
check_type(argname="argument props", value=props, expected_type=type_hints["props"])
|
|
3601
|
+
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
|
|
3602
|
+
|
|
3603
|
+
@jsii.python.classproperty
|
|
3604
|
+
@jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
|
|
3605
|
+
def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
|
|
3606
|
+
'''The CloudFormation resource type name for this resource class.'''
|
|
3607
|
+
return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
|
|
3608
|
+
|
|
3609
|
+
@builtins.property
|
|
3610
|
+
@jsii.member(jsii_name="attrId")
|
|
3611
|
+
def attr_id(self) -> builtins.str:
|
|
3612
|
+
'''
|
|
3613
|
+
:cloudformationAttribute: Id
|
|
3614
|
+
'''
|
|
3615
|
+
return typing.cast(builtins.str, jsii.get(self, "attrId"))
|
|
3616
|
+
|
|
3617
|
+
@builtins.property
|
|
3618
|
+
@jsii.member(jsii_name="cfnProperties")
|
|
3619
|
+
def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
|
|
3620
|
+
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
|
|
3621
|
+
|
|
3622
|
+
@builtins.property
|
|
3623
|
+
@jsii.member(jsii_name="apiCachingBehavior")
|
|
3624
|
+
def api_caching_behavior(self) -> builtins.str:
|
|
3625
|
+
'''Caching behavior.'''
|
|
3626
|
+
return typing.cast(builtins.str, jsii.get(self, "apiCachingBehavior"))
|
|
3627
|
+
|
|
3628
|
+
@api_caching_behavior.setter
|
|
3629
|
+
def api_caching_behavior(self, value: builtins.str) -> None:
|
|
3630
|
+
if __debug__:
|
|
3631
|
+
type_hints = typing.get_type_hints(_typecheckingstub__aee6b3576fbf654864dae4f55fe292d210bf01534f16f80af0ac225f8fa338c9)
|
|
3632
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
3633
|
+
jsii.set(self, "apiCachingBehavior", value) # pyright: ignore[reportArgumentType]
|
|
3634
|
+
|
|
3635
|
+
@builtins.property
|
|
3636
|
+
@jsii.member(jsii_name="apiId")
|
|
3637
|
+
def api_id(self) -> builtins.str:
|
|
3638
|
+
'''The GraphQL API ID.'''
|
|
3639
|
+
return typing.cast(builtins.str, jsii.get(self, "apiId"))
|
|
3640
|
+
|
|
3641
|
+
@api_id.setter
|
|
3642
|
+
def api_id(self, value: builtins.str) -> None:
|
|
3643
|
+
if __debug__:
|
|
3644
|
+
type_hints = typing.get_type_hints(_typecheckingstub__6c2fdac623dbaddb2a0226d75e6f3ca84c058f3f46b9c9a1289820c1cf0827e1)
|
|
3645
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
3646
|
+
jsii.set(self, "apiId", value) # pyright: ignore[reportArgumentType]
|
|
3647
|
+
|
|
3648
|
+
@builtins.property
|
|
3649
|
+
@jsii.member(jsii_name="ttl")
|
|
3650
|
+
def ttl(self) -> jsii.Number:
|
|
3651
|
+
'''TTL in seconds for cache entries.'''
|
|
3652
|
+
return typing.cast(jsii.Number, jsii.get(self, "ttl"))
|
|
3653
|
+
|
|
3654
|
+
@ttl.setter
|
|
3655
|
+
def ttl(self, value: jsii.Number) -> None:
|
|
3656
|
+
if __debug__:
|
|
3657
|
+
type_hints = typing.get_type_hints(_typecheckingstub__1893b7ba08236941b8e5bb4704e7fe53f8819086085796443b5d68f513e66eaa)
|
|
3658
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
3659
|
+
jsii.set(self, "ttl", value) # pyright: ignore[reportArgumentType]
|
|
3660
|
+
|
|
3661
|
+
@builtins.property
|
|
3662
|
+
@jsii.member(jsii_name="type")
|
|
3663
|
+
def type(self) -> builtins.str:
|
|
3664
|
+
'''The cache instance type.
|
|
3665
|
+
|
|
3666
|
+
Valid values are.
|
|
3667
|
+
'''
|
|
3668
|
+
return typing.cast(builtins.str, jsii.get(self, "type"))
|
|
3669
|
+
|
|
3670
|
+
@type.setter
|
|
3671
|
+
def type(self, value: builtins.str) -> None:
|
|
3672
|
+
if __debug__:
|
|
3673
|
+
type_hints = typing.get_type_hints(_typecheckingstub__45dc491e21920c6cd0ddecd9aada80283ac759d9eaca52c45a6ce35197166e9d)
|
|
3674
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
3675
|
+
jsii.set(self, "type", value) # pyright: ignore[reportArgumentType]
|
|
3676
|
+
|
|
3677
|
+
@builtins.property
|
|
3678
|
+
@jsii.member(jsii_name="atRestEncryptionEnabled")
|
|
3679
|
+
def at_rest_encryption_enabled(
|
|
3680
|
+
self,
|
|
3681
|
+
) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
|
|
3682
|
+
'''At-rest encryption flag for cache.'''
|
|
3683
|
+
return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "atRestEncryptionEnabled"))
|
|
3684
|
+
|
|
3685
|
+
@at_rest_encryption_enabled.setter
|
|
3686
|
+
def at_rest_encryption_enabled(
|
|
3687
|
+
self,
|
|
3688
|
+
value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
|
|
3689
|
+
) -> None:
|
|
3690
|
+
if __debug__:
|
|
3691
|
+
type_hints = typing.get_type_hints(_typecheckingstub__93a4abe242f634763c1f128b7e17017d1176924c9b032d5536f4caa3b3fc3bd6)
|
|
3692
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
3693
|
+
jsii.set(self, "atRestEncryptionEnabled", value) # pyright: ignore[reportArgumentType]
|
|
3694
|
+
|
|
3695
|
+
@builtins.property
|
|
3696
|
+
@jsii.member(jsii_name="healthMetricsConfig")
|
|
3697
|
+
def health_metrics_config(self) -> typing.Optional[builtins.str]:
|
|
3698
|
+
'''Controls how cache health metrics will be emitted to CloudWatch.
|
|
3699
|
+
|
|
3700
|
+
Cache health metrics include:.
|
|
3701
|
+
'''
|
|
3702
|
+
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "healthMetricsConfig"))
|
|
3703
|
+
|
|
3704
|
+
@health_metrics_config.setter
|
|
3705
|
+
def health_metrics_config(self, value: typing.Optional[builtins.str]) -> None:
|
|
3706
|
+
if __debug__:
|
|
3707
|
+
type_hints = typing.get_type_hints(_typecheckingstub__55de0a796fc6cc946fccbec8ff82c493648ae16228267a0627a624d4e64e10dd)
|
|
3708
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
3709
|
+
jsii.set(self, "healthMetricsConfig", value) # pyright: ignore[reportArgumentType]
|
|
3710
|
+
|
|
3711
|
+
@builtins.property
|
|
3712
|
+
@jsii.member(jsii_name="transitEncryptionEnabled")
|
|
3713
|
+
def transit_encryption_enabled(
|
|
3714
|
+
self,
|
|
3715
|
+
) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
|
|
3716
|
+
'''Transit encryption flag when connecting to cache.'''
|
|
3717
|
+
return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "transitEncryptionEnabled"))
|
|
3718
|
+
|
|
3719
|
+
@transit_encryption_enabled.setter
|
|
3720
|
+
def transit_encryption_enabled(
|
|
3721
|
+
self,
|
|
3722
|
+
value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
|
|
3723
|
+
) -> None:
|
|
3724
|
+
if __debug__:
|
|
3725
|
+
type_hints = typing.get_type_hints(_typecheckingstub__eb39499095e917401c885f7c77781744d09df071b1ed62c6f2c32cbbc6fbdb33)
|
|
3726
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
3727
|
+
jsii.set(self, "transitEncryptionEnabled", value) # pyright: ignore[reportArgumentType]
|
|
3728
|
+
|
|
3729
|
+
|
|
3730
|
+
@jsii.data_type(
|
|
3731
|
+
jsii_type="aws-cdk-lib.aws_appsync.CfnApiCacheProps",
|
|
3732
|
+
jsii_struct_bases=[],
|
|
3733
|
+
name_mapping={
|
|
3734
|
+
"api_caching_behavior": "apiCachingBehavior",
|
|
3735
|
+
"api_id": "apiId",
|
|
3736
|
+
"ttl": "ttl",
|
|
3737
|
+
"type": "type",
|
|
3738
|
+
"at_rest_encryption_enabled": "atRestEncryptionEnabled",
|
|
3739
|
+
"health_metrics_config": "healthMetricsConfig",
|
|
3740
|
+
"transit_encryption_enabled": "transitEncryptionEnabled",
|
|
3741
|
+
},
|
|
3742
|
+
)
|
|
3743
|
+
class CfnApiCacheProps:
|
|
3744
|
+
def __init__(
|
|
3745
|
+
self,
|
|
3746
|
+
*,
|
|
3747
|
+
api_caching_behavior: builtins.str,
|
|
3748
|
+
api_id: builtins.str,
|
|
3749
|
+
ttl: jsii.Number,
|
|
3750
|
+
type: builtins.str,
|
|
3751
|
+
at_rest_encryption_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
3752
|
+
health_metrics_config: typing.Optional[builtins.str] = None,
|
|
3753
|
+
transit_encryption_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
3754
|
+
) -> None:
|
|
3755
|
+
'''Properties for defining a ``CfnApiCache``.
|
|
3756
|
+
|
|
3757
|
+
:param api_caching_behavior: Caching behavior. - *FULL_REQUEST_CACHING* : All requests are fully cached. - *PER_RESOLVER_CACHING* : Individual resolvers that you specify are cached.
|
|
3758
|
+
:param api_id: The GraphQL API ID.
|
|
3759
|
+
:param ttl: TTL in seconds for cache entries. Valid values are 1–3,600 seconds.
|
|
3760
|
+
: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.
|
|
3761
|
+
:param at_rest_encryption_enabled: At-rest encryption flag for cache. You cannot update this setting after creation.
|
|
3762
|
+
: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`` .
|
|
3763
|
+
:param transit_encryption_enabled: Transit encryption flag when connecting to cache. You cannot update this setting after creation.
|
|
3764
|
+
|
|
3765
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html
|
|
3766
|
+
:exampleMetadata: fixture=_generated
|
|
3767
|
+
|
|
3768
|
+
Example::
|
|
3769
|
+
|
|
3770
|
+
# The code below shows an example of how to instantiate this type.
|
|
3771
|
+
# The values are placeholders you should change.
|
|
3772
|
+
from aws_cdk import aws_appsync as appsync
|
|
3773
|
+
|
|
3774
|
+
cfn_api_cache_props = appsync.CfnApiCacheProps(
|
|
3775
|
+
api_caching_behavior="apiCachingBehavior",
|
|
3776
|
+
api_id="apiId",
|
|
3777
|
+
ttl=123,
|
|
3778
|
+
type="type",
|
|
3779
|
+
|
|
3780
|
+
# the properties below are optional
|
|
3781
|
+
at_rest_encryption_enabled=False,
|
|
3782
|
+
health_metrics_config="healthMetricsConfig",
|
|
3783
|
+
transit_encryption_enabled=False
|
|
3784
|
+
)
|
|
3785
|
+
'''
|
|
3786
|
+
if __debug__:
|
|
3787
|
+
type_hints = typing.get_type_hints(_typecheckingstub__8f054fa3186eb5f122c20e523bed485713c72511ee3ee94be25733ecad9a348c)
|
|
3788
|
+
check_type(argname="argument api_caching_behavior", value=api_caching_behavior, expected_type=type_hints["api_caching_behavior"])
|
|
3789
|
+
check_type(argname="argument api_id", value=api_id, expected_type=type_hints["api_id"])
|
|
3790
|
+
check_type(argname="argument ttl", value=ttl, expected_type=type_hints["ttl"])
|
|
3791
|
+
check_type(argname="argument type", value=type, expected_type=type_hints["type"])
|
|
3792
|
+
check_type(argname="argument at_rest_encryption_enabled", value=at_rest_encryption_enabled, expected_type=type_hints["at_rest_encryption_enabled"])
|
|
3793
|
+
check_type(argname="argument health_metrics_config", value=health_metrics_config, expected_type=type_hints["health_metrics_config"])
|
|
2734
3794
|
check_type(argname="argument transit_encryption_enabled", value=transit_encryption_enabled, expected_type=type_hints["transit_encryption_enabled"])
|
|
2735
3795
|
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
2736
|
-
"api_caching_behavior": api_caching_behavior,
|
|
3796
|
+
"api_caching_behavior": api_caching_behavior,
|
|
3797
|
+
"api_id": api_id,
|
|
3798
|
+
"ttl": ttl,
|
|
3799
|
+
"type": type,
|
|
3800
|
+
}
|
|
3801
|
+
if at_rest_encryption_enabled is not None:
|
|
3802
|
+
self._values["at_rest_encryption_enabled"] = at_rest_encryption_enabled
|
|
3803
|
+
if health_metrics_config is not None:
|
|
3804
|
+
self._values["health_metrics_config"] = health_metrics_config
|
|
3805
|
+
if transit_encryption_enabled is not None:
|
|
3806
|
+
self._values["transit_encryption_enabled"] = transit_encryption_enabled
|
|
3807
|
+
|
|
3808
|
+
@builtins.property
|
|
3809
|
+
def api_caching_behavior(self) -> builtins.str:
|
|
3810
|
+
'''Caching behavior.
|
|
3811
|
+
|
|
3812
|
+
- *FULL_REQUEST_CACHING* : All requests are fully cached.
|
|
3813
|
+
- *PER_RESOLVER_CACHING* : Individual resolvers that you specify are cached.
|
|
3814
|
+
|
|
3815
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html#cfn-appsync-apicache-apicachingbehavior
|
|
3816
|
+
'''
|
|
3817
|
+
result = self._values.get("api_caching_behavior")
|
|
3818
|
+
assert result is not None, "Required property 'api_caching_behavior' is missing"
|
|
3819
|
+
return typing.cast(builtins.str, result)
|
|
3820
|
+
|
|
3821
|
+
@builtins.property
|
|
3822
|
+
def api_id(self) -> builtins.str:
|
|
3823
|
+
'''The GraphQL API ID.
|
|
3824
|
+
|
|
3825
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html#cfn-appsync-apicache-apiid
|
|
3826
|
+
'''
|
|
3827
|
+
result = self._values.get("api_id")
|
|
3828
|
+
assert result is not None, "Required property 'api_id' is missing"
|
|
3829
|
+
return typing.cast(builtins.str, result)
|
|
3830
|
+
|
|
3831
|
+
@builtins.property
|
|
3832
|
+
def ttl(self) -> jsii.Number:
|
|
3833
|
+
'''TTL in seconds for cache entries.
|
|
3834
|
+
|
|
3835
|
+
Valid values are 1–3,600 seconds.
|
|
3836
|
+
|
|
3837
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html#cfn-appsync-apicache-ttl
|
|
3838
|
+
'''
|
|
3839
|
+
result = self._values.get("ttl")
|
|
3840
|
+
assert result is not None, "Required property 'ttl' is missing"
|
|
3841
|
+
return typing.cast(jsii.Number, result)
|
|
3842
|
+
|
|
3843
|
+
@builtins.property
|
|
3844
|
+
def type(self) -> builtins.str:
|
|
3845
|
+
'''The cache instance type. Valid values are.
|
|
3846
|
+
|
|
3847
|
+
- ``SMALL``
|
|
3848
|
+
- ``MEDIUM``
|
|
3849
|
+
- ``LARGE``
|
|
3850
|
+
- ``XLARGE``
|
|
3851
|
+
- ``LARGE_2X``
|
|
3852
|
+
- ``LARGE_4X``
|
|
3853
|
+
- ``LARGE_8X`` (not available in all regions)
|
|
3854
|
+
- ``LARGE_12X``
|
|
3855
|
+
|
|
3856
|
+
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.
|
|
3857
|
+
|
|
3858
|
+
The following legacy instance types are available, but their use is discouraged:
|
|
3859
|
+
|
|
3860
|
+
- *T2_SMALL* : A t2.small instance type.
|
|
3861
|
+
- *T2_MEDIUM* : A t2.medium instance type.
|
|
3862
|
+
- *R4_LARGE* : A r4.large instance type.
|
|
3863
|
+
- *R4_XLARGE* : A r4.xlarge instance type.
|
|
3864
|
+
- *R4_2XLARGE* : A r4.2xlarge instance type.
|
|
3865
|
+
- *R4_4XLARGE* : A r4.4xlarge instance type.
|
|
3866
|
+
- *R4_8XLARGE* : A r4.8xlarge instance type.
|
|
3867
|
+
|
|
3868
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html#cfn-appsync-apicache-type
|
|
3869
|
+
'''
|
|
3870
|
+
result = self._values.get("type")
|
|
3871
|
+
assert result is not None, "Required property 'type' is missing"
|
|
3872
|
+
return typing.cast(builtins.str, result)
|
|
3873
|
+
|
|
3874
|
+
@builtins.property
|
|
3875
|
+
def at_rest_encryption_enabled(
|
|
3876
|
+
self,
|
|
3877
|
+
) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
|
|
3878
|
+
'''At-rest encryption flag for cache.
|
|
3879
|
+
|
|
3880
|
+
You cannot update this setting after creation.
|
|
3881
|
+
|
|
3882
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html#cfn-appsync-apicache-atrestencryptionenabled
|
|
3883
|
+
'''
|
|
3884
|
+
result = self._values.get("at_rest_encryption_enabled")
|
|
3885
|
+
return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
|
|
3886
|
+
|
|
3887
|
+
@builtins.property
|
|
3888
|
+
def health_metrics_config(self) -> typing.Optional[builtins.str]:
|
|
3889
|
+
'''Controls how cache health metrics will be emitted to CloudWatch. Cache health metrics include:.
|
|
3890
|
+
|
|
3891
|
+
- *NetworkBandwidthOutAllowanceExceeded* : The network packets dropped because the throughput exceeded the aggregated bandwidth limit. This is useful for diagnosing bottlenecks in a cache configuration.
|
|
3892
|
+
- *EngineCPUUtilization* : The CPU utilization (percentage) allocated to the Redis process. This is useful for diagnosing bottlenecks in a cache configuration.
|
|
3893
|
+
|
|
3894
|
+
Metrics will be recorded by API ID. You can set the value to ``ENABLED`` or ``DISABLED`` .
|
|
3895
|
+
|
|
3896
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html#cfn-appsync-apicache-healthmetricsconfig
|
|
3897
|
+
'''
|
|
3898
|
+
result = self._values.get("health_metrics_config")
|
|
3899
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
3900
|
+
|
|
3901
|
+
@builtins.property
|
|
3902
|
+
def transit_encryption_enabled(
|
|
3903
|
+
self,
|
|
3904
|
+
) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
|
|
3905
|
+
'''Transit encryption flag when connecting to cache.
|
|
3906
|
+
|
|
3907
|
+
You cannot update this setting after creation.
|
|
3908
|
+
|
|
3909
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html#cfn-appsync-apicache-transitencryptionenabled
|
|
3910
|
+
'''
|
|
3911
|
+
result = self._values.get("transit_encryption_enabled")
|
|
3912
|
+
return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
|
|
3913
|
+
|
|
3914
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
3915
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
3916
|
+
|
|
3917
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
3918
|
+
return not (rhs == self)
|
|
3919
|
+
|
|
3920
|
+
def __repr__(self) -> str:
|
|
3921
|
+
return "CfnApiCacheProps(%s)" % ", ".join(
|
|
3922
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
3923
|
+
)
|
|
3924
|
+
|
|
3925
|
+
|
|
3926
|
+
@jsii.implements(_IInspectable_c2943556)
|
|
3927
|
+
class CfnApiKey(
|
|
3928
|
+
_CfnResource_9df397a6,
|
|
3929
|
+
metaclass=jsii.JSIIMeta,
|
|
3930
|
+
jsii_type="aws-cdk-lib.aws_appsync.CfnApiKey",
|
|
3931
|
+
):
|
|
3932
|
+
'''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.
|
|
3933
|
+
|
|
3934
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html
|
|
3935
|
+
:cloudformationResource: AWS::AppSync::ApiKey
|
|
3936
|
+
:exampleMetadata: fixture=_generated
|
|
3937
|
+
|
|
3938
|
+
Example::
|
|
3939
|
+
|
|
3940
|
+
# The code below shows an example of how to instantiate this type.
|
|
3941
|
+
# The values are placeholders you should change.
|
|
3942
|
+
from aws_cdk import aws_appsync as appsync
|
|
3943
|
+
|
|
3944
|
+
cfn_api_key = appsync.CfnApiKey(self, "MyCfnApiKey",
|
|
3945
|
+
api_id="apiId",
|
|
3946
|
+
|
|
3947
|
+
# the properties below are optional
|
|
3948
|
+
description="description",
|
|
3949
|
+
expires=123
|
|
3950
|
+
)
|
|
3951
|
+
'''
|
|
3952
|
+
|
|
3953
|
+
def __init__(
|
|
3954
|
+
self,
|
|
3955
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
3956
|
+
id: builtins.str,
|
|
3957
|
+
*,
|
|
3958
|
+
api_id: builtins.str,
|
|
3959
|
+
description: typing.Optional[builtins.str] = None,
|
|
3960
|
+
expires: typing.Optional[jsii.Number] = None,
|
|
3961
|
+
) -> None:
|
|
3962
|
+
'''
|
|
3963
|
+
:param scope: Scope in which this resource is defined.
|
|
3964
|
+
:param id: Construct identifier for this resource (unique in its scope).
|
|
3965
|
+
:param api_id: Unique AWS AppSync GraphQL API ID for this API key.
|
|
3966
|
+
:param description: Unique description of your API key.
|
|
3967
|
+
: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.
|
|
3968
|
+
'''
|
|
3969
|
+
if __debug__:
|
|
3970
|
+
type_hints = typing.get_type_hints(_typecheckingstub__e6065dd18c9d420fd4fcd70aced8416006f044f82aecff54150165e832539a8e)
|
|
3971
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
3972
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
3973
|
+
props = CfnApiKeyProps(api_id=api_id, description=description, expires=expires)
|
|
3974
|
+
|
|
3975
|
+
jsii.create(self.__class__, self, [scope, id, props])
|
|
3976
|
+
|
|
3977
|
+
@jsii.member(jsii_name="inspect")
|
|
3978
|
+
def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
|
|
3979
|
+
'''Examines the CloudFormation resource and discloses attributes.
|
|
3980
|
+
|
|
3981
|
+
:param inspector: tree inspector to collect and process attributes.
|
|
3982
|
+
'''
|
|
3983
|
+
if __debug__:
|
|
3984
|
+
type_hints = typing.get_type_hints(_typecheckingstub__1f8f02bc91fc0b32c990b8d08a5d7a0ef78a88363920fa69d4196dcc7f2ecfb3)
|
|
3985
|
+
check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
|
|
3986
|
+
return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
|
|
3987
|
+
|
|
3988
|
+
@jsii.member(jsii_name="renderProperties")
|
|
3989
|
+
def _render_properties(
|
|
3990
|
+
self,
|
|
3991
|
+
props: typing.Mapping[builtins.str, typing.Any],
|
|
3992
|
+
) -> typing.Mapping[builtins.str, typing.Any]:
|
|
3993
|
+
'''
|
|
3994
|
+
:param props: -
|
|
3995
|
+
'''
|
|
3996
|
+
if __debug__:
|
|
3997
|
+
type_hints = typing.get_type_hints(_typecheckingstub__a844b496712966f29aae49f2f831e6a85c7acf03c2ce61c94162ccf13c5efd6d)
|
|
3998
|
+
check_type(argname="argument props", value=props, expected_type=type_hints["props"])
|
|
3999
|
+
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
|
|
4000
|
+
|
|
4001
|
+
@jsii.python.classproperty
|
|
4002
|
+
@jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
|
|
4003
|
+
def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
|
|
4004
|
+
'''The CloudFormation resource type name for this resource class.'''
|
|
4005
|
+
return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
|
|
4006
|
+
|
|
4007
|
+
@builtins.property
|
|
4008
|
+
@jsii.member(jsii_name="attrApiKey")
|
|
4009
|
+
def attr_api_key(self) -> builtins.str:
|
|
4010
|
+
'''The API key.
|
|
4011
|
+
|
|
4012
|
+
:cloudformationAttribute: ApiKey
|
|
4013
|
+
'''
|
|
4014
|
+
return typing.cast(builtins.str, jsii.get(self, "attrApiKey"))
|
|
4015
|
+
|
|
4016
|
+
@builtins.property
|
|
4017
|
+
@jsii.member(jsii_name="attrApiKeyId")
|
|
4018
|
+
def attr_api_key_id(self) -> builtins.str:
|
|
4019
|
+
'''The API key ID.
|
|
4020
|
+
|
|
4021
|
+
:cloudformationAttribute: ApiKeyId
|
|
4022
|
+
'''
|
|
4023
|
+
return typing.cast(builtins.str, jsii.get(self, "attrApiKeyId"))
|
|
4024
|
+
|
|
4025
|
+
@builtins.property
|
|
4026
|
+
@jsii.member(jsii_name="attrArn")
|
|
4027
|
+
def attr_arn(self) -> builtins.str:
|
|
4028
|
+
'''The Amazon Resource Name (ARN) of the API key, such as ``arn:aws:appsync:us-east-1:123456789012:apis/graphqlapiid/apikey/apikeya1bzhi`` .
|
|
4029
|
+
|
|
4030
|
+
:cloudformationAttribute: Arn
|
|
4031
|
+
'''
|
|
4032
|
+
return typing.cast(builtins.str, jsii.get(self, "attrArn"))
|
|
4033
|
+
|
|
4034
|
+
@builtins.property
|
|
4035
|
+
@jsii.member(jsii_name="cfnProperties")
|
|
4036
|
+
def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
|
|
4037
|
+
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
|
|
4038
|
+
|
|
4039
|
+
@builtins.property
|
|
4040
|
+
@jsii.member(jsii_name="apiId")
|
|
4041
|
+
def api_id(self) -> builtins.str:
|
|
4042
|
+
'''Unique AWS AppSync GraphQL API ID for this API key.'''
|
|
4043
|
+
return typing.cast(builtins.str, jsii.get(self, "apiId"))
|
|
4044
|
+
|
|
4045
|
+
@api_id.setter
|
|
4046
|
+
def api_id(self, value: builtins.str) -> None:
|
|
4047
|
+
if __debug__:
|
|
4048
|
+
type_hints = typing.get_type_hints(_typecheckingstub__3c1cce5f76a6037620e1cc2e57750c81cc5161ff526ce78123f0cd9f25c8e856)
|
|
4049
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
4050
|
+
jsii.set(self, "apiId", value) # pyright: ignore[reportArgumentType]
|
|
4051
|
+
|
|
4052
|
+
@builtins.property
|
|
4053
|
+
@jsii.member(jsii_name="description")
|
|
4054
|
+
def description(self) -> typing.Optional[builtins.str]:
|
|
4055
|
+
'''Unique description of your API key.'''
|
|
4056
|
+
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "description"))
|
|
4057
|
+
|
|
4058
|
+
@description.setter
|
|
4059
|
+
def description(self, value: typing.Optional[builtins.str]) -> None:
|
|
4060
|
+
if __debug__:
|
|
4061
|
+
type_hints = typing.get_type_hints(_typecheckingstub__08afa042939638da41f04c7165f811f5081bd3c8943f787591f098aa4a3b8699)
|
|
4062
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
4063
|
+
jsii.set(self, "description", value) # pyright: ignore[reportArgumentType]
|
|
4064
|
+
|
|
4065
|
+
@builtins.property
|
|
4066
|
+
@jsii.member(jsii_name="expires")
|
|
4067
|
+
def expires(self) -> typing.Optional[jsii.Number]:
|
|
4068
|
+
'''The time after which the API key expires.'''
|
|
4069
|
+
return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "expires"))
|
|
4070
|
+
|
|
4071
|
+
@expires.setter
|
|
4072
|
+
def expires(self, value: typing.Optional[jsii.Number]) -> None:
|
|
4073
|
+
if __debug__:
|
|
4074
|
+
type_hints = typing.get_type_hints(_typecheckingstub__8b034facb88dea82241969fd1a22a5bbaccf03068403021106e073c92112ab45)
|
|
4075
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
4076
|
+
jsii.set(self, "expires", value) # pyright: ignore[reportArgumentType]
|
|
4077
|
+
|
|
4078
|
+
|
|
4079
|
+
@jsii.data_type(
|
|
4080
|
+
jsii_type="aws-cdk-lib.aws_appsync.CfnApiKeyProps",
|
|
4081
|
+
jsii_struct_bases=[],
|
|
4082
|
+
name_mapping={
|
|
4083
|
+
"api_id": "apiId",
|
|
4084
|
+
"description": "description",
|
|
4085
|
+
"expires": "expires",
|
|
4086
|
+
},
|
|
4087
|
+
)
|
|
4088
|
+
class CfnApiKeyProps:
|
|
4089
|
+
def __init__(
|
|
4090
|
+
self,
|
|
4091
|
+
*,
|
|
4092
|
+
api_id: builtins.str,
|
|
4093
|
+
description: typing.Optional[builtins.str] = None,
|
|
4094
|
+
expires: typing.Optional[jsii.Number] = None,
|
|
4095
|
+
) -> None:
|
|
4096
|
+
'''Properties for defining a ``CfnApiKey``.
|
|
4097
|
+
|
|
4098
|
+
:param api_id: Unique AWS AppSync GraphQL API ID for this API key.
|
|
4099
|
+
:param description: Unique description of your API key.
|
|
4100
|
+
: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.
|
|
4101
|
+
|
|
4102
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html
|
|
4103
|
+
:exampleMetadata: fixture=_generated
|
|
4104
|
+
|
|
4105
|
+
Example::
|
|
4106
|
+
|
|
4107
|
+
# The code below shows an example of how to instantiate this type.
|
|
4108
|
+
# The values are placeholders you should change.
|
|
4109
|
+
from aws_cdk import aws_appsync as appsync
|
|
4110
|
+
|
|
4111
|
+
cfn_api_key_props = appsync.CfnApiKeyProps(
|
|
4112
|
+
api_id="apiId",
|
|
4113
|
+
|
|
4114
|
+
# the properties below are optional
|
|
4115
|
+
description="description",
|
|
4116
|
+
expires=123
|
|
4117
|
+
)
|
|
4118
|
+
'''
|
|
4119
|
+
if __debug__:
|
|
4120
|
+
type_hints = typing.get_type_hints(_typecheckingstub__1688db2b7835c85b4e2cd69655b5d25321ff2aa2ea9e1b2a0612caff34184549)
|
|
4121
|
+
check_type(argname="argument api_id", value=api_id, expected_type=type_hints["api_id"])
|
|
4122
|
+
check_type(argname="argument description", value=description, expected_type=type_hints["description"])
|
|
4123
|
+
check_type(argname="argument expires", value=expires, expected_type=type_hints["expires"])
|
|
4124
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
2737
4125
|
"api_id": api_id,
|
|
2738
|
-
"ttl": ttl,
|
|
2739
|
-
"type": type,
|
|
2740
4126
|
}
|
|
2741
|
-
if
|
|
2742
|
-
self._values["
|
|
2743
|
-
if
|
|
2744
|
-
self._values["
|
|
2745
|
-
if transit_encryption_enabled is not None:
|
|
2746
|
-
self._values["transit_encryption_enabled"] = transit_encryption_enabled
|
|
4127
|
+
if description is not None:
|
|
4128
|
+
self._values["description"] = description
|
|
4129
|
+
if expires is not None:
|
|
4130
|
+
self._values["expires"] = expires
|
|
2747
4131
|
|
|
2748
4132
|
@builtins.property
|
|
2749
|
-
def
|
|
2750
|
-
'''
|
|
2751
|
-
|
|
2752
|
-
- *FULL_REQUEST_CACHING* : All requests are fully cached.
|
|
2753
|
-
- *PER_RESOLVER_CACHING* : Individual resolvers that you specify are cached.
|
|
4133
|
+
def api_id(self) -> builtins.str:
|
|
4134
|
+
'''Unique AWS AppSync GraphQL API ID for this API key.
|
|
2754
4135
|
|
|
2755
|
-
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-
|
|
4136
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html#cfn-appsync-apikey-apiid
|
|
2756
4137
|
'''
|
|
2757
|
-
result = self._values.get("
|
|
2758
|
-
assert result is not None, "Required property '
|
|
4138
|
+
result = self._values.get("api_id")
|
|
4139
|
+
assert result is not None, "Required property 'api_id' is missing"
|
|
2759
4140
|
return typing.cast(builtins.str, result)
|
|
2760
4141
|
|
|
2761
4142
|
@builtins.property
|
|
2762
|
-
def
|
|
2763
|
-
'''
|
|
4143
|
+
def description(self) -> typing.Optional[builtins.str]:
|
|
4144
|
+
'''Unique description of your API key.
|
|
4145
|
+
|
|
4146
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html#cfn-appsync-apikey-description
|
|
4147
|
+
'''
|
|
4148
|
+
result = self._values.get("description")
|
|
4149
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
4150
|
+
|
|
4151
|
+
@builtins.property
|
|
4152
|
+
def expires(self) -> typing.Optional[jsii.Number]:
|
|
4153
|
+
'''The time after which the API key expires.
|
|
4154
|
+
|
|
4155
|
+
The date is represented as seconds since the epoch, rounded down to the nearest hour.
|
|
4156
|
+
|
|
4157
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html#cfn-appsync-apikey-expires
|
|
4158
|
+
'''
|
|
4159
|
+
result = self._values.get("expires")
|
|
4160
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
4161
|
+
|
|
4162
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
4163
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
4164
|
+
|
|
4165
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
4166
|
+
return not (rhs == self)
|
|
4167
|
+
|
|
4168
|
+
def __repr__(self) -> str:
|
|
4169
|
+
return "CfnApiKeyProps(%s)" % ", ".join(
|
|
4170
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
4171
|
+
)
|
|
4172
|
+
|
|
4173
|
+
|
|
4174
|
+
@jsii.data_type(
|
|
4175
|
+
jsii_type="aws-cdk-lib.aws_appsync.CfnApiProps",
|
|
4176
|
+
jsii_struct_bases=[],
|
|
4177
|
+
name_mapping={
|
|
4178
|
+
"name": "name",
|
|
4179
|
+
"event_config": "eventConfig",
|
|
4180
|
+
"owner_contact": "ownerContact",
|
|
4181
|
+
"tags": "tags",
|
|
4182
|
+
},
|
|
4183
|
+
)
|
|
4184
|
+
class CfnApiProps:
|
|
4185
|
+
def __init__(
|
|
4186
|
+
self,
|
|
4187
|
+
*,
|
|
4188
|
+
name: builtins.str,
|
|
4189
|
+
event_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnApi.EventConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
4190
|
+
owner_contact: typing.Optional[builtins.str] = None,
|
|
4191
|
+
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
4192
|
+
) -> None:
|
|
4193
|
+
'''Properties for defining a ``CfnApi``.
|
|
2764
4194
|
|
|
2765
|
-
:
|
|
2766
|
-
|
|
2767
|
-
|
|
2768
|
-
|
|
2769
|
-
return typing.cast(builtins.str, result)
|
|
4195
|
+
:param name: The name of the ``Api`` .
|
|
4196
|
+
:param event_config: Describes the authorization configuration for connections, message publishing, message subscriptions, and logging for an Event API.
|
|
4197
|
+
:param owner_contact: The owner contact information for an API resource. This field accepts any string input with a length of 0 - 256 characters.
|
|
4198
|
+
:param tags: A set of tags (key-value pairs) for this API.
|
|
2770
4199
|
|
|
2771
|
-
|
|
2772
|
-
|
|
2773
|
-
'''TTL in seconds for cache entries.
|
|
4200
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-api.html
|
|
4201
|
+
:exampleMetadata: fixture=_generated
|
|
2774
4202
|
|
|
2775
|
-
|
|
4203
|
+
Example::
|
|
2776
4204
|
|
|
2777
|
-
|
|
4205
|
+
# The code below shows an example of how to instantiate this type.
|
|
4206
|
+
# The values are placeholders you should change.
|
|
4207
|
+
from aws_cdk import aws_appsync as appsync
|
|
4208
|
+
|
|
4209
|
+
cfn_api_props = appsync.CfnApiProps(
|
|
4210
|
+
name="name",
|
|
4211
|
+
|
|
4212
|
+
# the properties below are optional
|
|
4213
|
+
event_config=appsync.CfnApi.EventConfigProperty(
|
|
4214
|
+
auth_providers=[appsync.CfnApi.AuthProviderProperty(
|
|
4215
|
+
auth_type="authType",
|
|
4216
|
+
|
|
4217
|
+
# the properties below are optional
|
|
4218
|
+
cognito_config=appsync.CfnApi.CognitoConfigProperty(
|
|
4219
|
+
aws_region="awsRegion",
|
|
4220
|
+
user_pool_id="userPoolId",
|
|
4221
|
+
|
|
4222
|
+
# the properties below are optional
|
|
4223
|
+
app_id_client_regex="appIdClientRegex"
|
|
4224
|
+
),
|
|
4225
|
+
lambda_authorizer_config=appsync.CfnApi.LambdaAuthorizerConfigProperty(
|
|
4226
|
+
authorizer_uri="authorizerUri",
|
|
4227
|
+
|
|
4228
|
+
# the properties below are optional
|
|
4229
|
+
authorizer_result_ttl_in_seconds=123,
|
|
4230
|
+
identity_validation_expression="identityValidationExpression"
|
|
4231
|
+
),
|
|
4232
|
+
open_id_connect_config=appsync.CfnApi.OpenIDConnectConfigProperty(
|
|
4233
|
+
issuer="issuer",
|
|
4234
|
+
|
|
4235
|
+
# the properties below are optional
|
|
4236
|
+
auth_ttl=123,
|
|
4237
|
+
client_id="clientId",
|
|
4238
|
+
iat_ttl=123
|
|
4239
|
+
)
|
|
4240
|
+
)],
|
|
4241
|
+
connection_auth_modes=[appsync.CfnApi.AuthModeProperty(
|
|
4242
|
+
auth_type="authType"
|
|
4243
|
+
)],
|
|
4244
|
+
default_publish_auth_modes=[appsync.CfnApi.AuthModeProperty(
|
|
4245
|
+
auth_type="authType"
|
|
4246
|
+
)],
|
|
4247
|
+
default_subscribe_auth_modes=[appsync.CfnApi.AuthModeProperty(
|
|
4248
|
+
auth_type="authType"
|
|
4249
|
+
)],
|
|
4250
|
+
|
|
4251
|
+
# the properties below are optional
|
|
4252
|
+
log_config=appsync.CfnApi.EventLogConfigProperty(
|
|
4253
|
+
cloud_watch_logs_role_arn="cloudWatchLogsRoleArn",
|
|
4254
|
+
log_level="logLevel"
|
|
4255
|
+
)
|
|
4256
|
+
),
|
|
4257
|
+
owner_contact="ownerContact",
|
|
4258
|
+
tags=[CfnTag(
|
|
4259
|
+
key="key",
|
|
4260
|
+
value="value"
|
|
4261
|
+
)]
|
|
4262
|
+
)
|
|
2778
4263
|
'''
|
|
2779
|
-
|
|
2780
|
-
|
|
2781
|
-
|
|
4264
|
+
if __debug__:
|
|
4265
|
+
type_hints = typing.get_type_hints(_typecheckingstub__a6f1c28efbfb84e165cbbde9374da4810d0b8c625b2f4460dc4514b583cc8bc1)
|
|
4266
|
+
check_type(argname="argument name", value=name, expected_type=type_hints["name"])
|
|
4267
|
+
check_type(argname="argument event_config", value=event_config, expected_type=type_hints["event_config"])
|
|
4268
|
+
check_type(argname="argument owner_contact", value=owner_contact, expected_type=type_hints["owner_contact"])
|
|
4269
|
+
check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
|
|
4270
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
4271
|
+
"name": name,
|
|
4272
|
+
}
|
|
4273
|
+
if event_config is not None:
|
|
4274
|
+
self._values["event_config"] = event_config
|
|
4275
|
+
if owner_contact is not None:
|
|
4276
|
+
self._values["owner_contact"] = owner_contact
|
|
4277
|
+
if tags is not None:
|
|
4278
|
+
self._values["tags"] = tags
|
|
2782
4279
|
|
|
2783
4280
|
@builtins.property
|
|
2784
|
-
def
|
|
2785
|
-
'''The
|
|
2786
|
-
|
|
2787
|
-
- ``SMALL``
|
|
2788
|
-
- ``MEDIUM``
|
|
2789
|
-
- ``LARGE``
|
|
2790
|
-
- ``XLARGE``
|
|
2791
|
-
- ``LARGE_2X``
|
|
2792
|
-
- ``LARGE_4X``
|
|
2793
|
-
- ``LARGE_8X`` (not available in all regions)
|
|
2794
|
-
- ``LARGE_12X``
|
|
2795
|
-
|
|
2796
|
-
Historically, instance types were identified by an EC2-style value. As of July 2020, this is deprecated, and the generic identifiers above should be used.
|
|
2797
|
-
|
|
2798
|
-
The following legacy instance types are available, but their use is discouraged:
|
|
2799
|
-
|
|
2800
|
-
- *T2_SMALL* : A t2.small instance type.
|
|
2801
|
-
- *T2_MEDIUM* : A t2.medium instance type.
|
|
2802
|
-
- *R4_LARGE* : A r4.large instance type.
|
|
2803
|
-
- *R4_XLARGE* : A r4.xlarge instance type.
|
|
2804
|
-
- *R4_2XLARGE* : A r4.2xlarge instance type.
|
|
2805
|
-
- *R4_4XLARGE* : A r4.4xlarge instance type.
|
|
2806
|
-
- *R4_8XLARGE* : A r4.8xlarge instance type.
|
|
4281
|
+
def name(self) -> builtins.str:
|
|
4282
|
+
'''The name of the ``Api`` .
|
|
2807
4283
|
|
|
2808
|
-
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-
|
|
4284
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-api.html#cfn-appsync-api-name
|
|
2809
4285
|
'''
|
|
2810
|
-
result = self._values.get("
|
|
2811
|
-
assert result is not None, "Required property '
|
|
4286
|
+
result = self._values.get("name")
|
|
4287
|
+
assert result is not None, "Required property 'name' is missing"
|
|
2812
4288
|
return typing.cast(builtins.str, result)
|
|
2813
4289
|
|
|
2814
4290
|
@builtins.property
|
|
2815
|
-
def
|
|
4291
|
+
def event_config(
|
|
2816
4292
|
self,
|
|
2817
|
-
) -> typing.Optional[typing.Union[
|
|
2818
|
-
'''
|
|
2819
|
-
|
|
2820
|
-
You cannot update this setting after creation.
|
|
4293
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnApi.EventConfigProperty]]:
|
|
4294
|
+
'''Describes the authorization configuration for connections, message publishing, message subscriptions, and logging for an Event API.
|
|
2821
4295
|
|
|
2822
|
-
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-
|
|
4296
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-api.html#cfn-appsync-api-eventconfig
|
|
2823
4297
|
'''
|
|
2824
|
-
result = self._values.get("
|
|
2825
|
-
return typing.cast(typing.Optional[typing.Union[
|
|
4298
|
+
result = self._values.get("event_config")
|
|
4299
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnApi.EventConfigProperty]], result)
|
|
2826
4300
|
|
|
2827
4301
|
@builtins.property
|
|
2828
|
-
def
|
|
2829
|
-
'''
|
|
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.
|
|
4302
|
+
def owner_contact(self) -> typing.Optional[builtins.str]:
|
|
4303
|
+
'''The owner contact information for an API resource.
|
|
2833
4304
|
|
|
2834
|
-
|
|
4305
|
+
This field accepts any string input with a length of 0 - 256 characters.
|
|
2835
4306
|
|
|
2836
|
-
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-
|
|
4307
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-api.html#cfn-appsync-api-ownercontact
|
|
2837
4308
|
'''
|
|
2838
|
-
result = self._values.get("
|
|
4309
|
+
result = self._values.get("owner_contact")
|
|
2839
4310
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
2840
4311
|
|
|
2841
4312
|
@builtins.property
|
|
2842
|
-
def
|
|
2843
|
-
|
|
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.
|
|
4313
|
+
def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
|
|
4314
|
+
'''A set of tags (key-value pairs) for this API.
|
|
2848
4315
|
|
|
2849
|
-
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-
|
|
4316
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-api.html#cfn-appsync-api-tags
|
|
2850
4317
|
'''
|
|
2851
|
-
result = self._values.get("
|
|
2852
|
-
return typing.cast(typing.Optional[typing.
|
|
4318
|
+
result = self._values.get("tags")
|
|
4319
|
+
return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
|
|
2853
4320
|
|
|
2854
4321
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
2855
4322
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
@@ -2858,21 +4325,23 @@ class CfnApiCacheProps:
|
|
|
2858
4325
|
return not (rhs == self)
|
|
2859
4326
|
|
|
2860
4327
|
def __repr__(self) -> str:
|
|
2861
|
-
return "
|
|
4328
|
+
return "CfnApiProps(%s)" % ", ".join(
|
|
2862
4329
|
k + "=" + repr(v) for k, v in self._values.items()
|
|
2863
4330
|
)
|
|
2864
4331
|
|
|
2865
4332
|
|
|
2866
|
-
@jsii.implements(_IInspectable_c2943556)
|
|
2867
|
-
class
|
|
4333
|
+
@jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
|
|
4334
|
+
class CfnChannelNamespace(
|
|
2868
4335
|
_CfnResource_9df397a6,
|
|
2869
4336
|
metaclass=jsii.JSIIMeta,
|
|
2870
|
-
jsii_type="aws-cdk-lib.aws_appsync.
|
|
4337
|
+
jsii_type="aws-cdk-lib.aws_appsync.CfnChannelNamespace",
|
|
2871
4338
|
):
|
|
2872
|
-
'''The ``AWS::AppSync::
|
|
4339
|
+
'''The ``AWS::AppSync::ChannelNamespace`` resource creates a channel namespace associated with an ``Api`` .
|
|
2873
4340
|
|
|
2874
|
-
|
|
2875
|
-
|
|
4341
|
+
The ``ChannelNamespace`` contains the definitions for code handlers for the ``Api`` .
|
|
4342
|
+
|
|
4343
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-channelnamespace.html
|
|
4344
|
+
:cloudformationResource: AWS::AppSync::ChannelNamespace
|
|
2876
4345
|
:exampleMetadata: fixture=_generated
|
|
2877
4346
|
|
|
2878
4347
|
Example::
|
|
@@ -2881,12 +4350,23 @@ class CfnApiKey(
|
|
|
2881
4350
|
# The values are placeholders you should change.
|
|
2882
4351
|
from aws_cdk import aws_appsync as appsync
|
|
2883
4352
|
|
|
2884
|
-
|
|
4353
|
+
cfn_channel_namespace = appsync.CfnChannelNamespace(self, "MyCfnChannelNamespace",
|
|
2885
4354
|
api_id="apiId",
|
|
4355
|
+
name="name",
|
|
2886
4356
|
|
|
2887
4357
|
# the properties below are optional
|
|
2888
|
-
|
|
2889
|
-
|
|
4358
|
+
code_handlers="codeHandlers",
|
|
4359
|
+
code_s3_location="codeS3Location",
|
|
4360
|
+
publish_auth_modes=[appsync.CfnChannelNamespace.AuthModeProperty(
|
|
4361
|
+
auth_type="authType"
|
|
4362
|
+
)],
|
|
4363
|
+
subscribe_auth_modes=[appsync.CfnChannelNamespace.AuthModeProperty(
|
|
4364
|
+
auth_type="authType"
|
|
4365
|
+
)],
|
|
4366
|
+
tags=[CfnTag(
|
|
4367
|
+
key="key",
|
|
4368
|
+
value="value"
|
|
4369
|
+
)]
|
|
2890
4370
|
)
|
|
2891
4371
|
'''
|
|
2892
4372
|
|
|
@@ -2896,21 +4376,37 @@ class CfnApiKey(
|
|
|
2896
4376
|
id: builtins.str,
|
|
2897
4377
|
*,
|
|
2898
4378
|
api_id: builtins.str,
|
|
2899
|
-
|
|
2900
|
-
|
|
4379
|
+
name: builtins.str,
|
|
4380
|
+
code_handlers: typing.Optional[builtins.str] = None,
|
|
4381
|
+
code_s3_location: typing.Optional[builtins.str] = None,
|
|
4382
|
+
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,
|
|
4383
|
+
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,
|
|
4384
|
+
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2901
4385
|
) -> None:
|
|
2902
4386
|
'''
|
|
2903
4387
|
:param scope: Scope in which this resource is defined.
|
|
2904
4388
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
2905
|
-
:param api_id:
|
|
2906
|
-
:param
|
|
2907
|
-
:param
|
|
4389
|
+
:param api_id: The ``Api`` ID.
|
|
4390
|
+
:param name: The name of the channel namespace. This name must be unique within the ``Api`` .
|
|
4391
|
+
:param code_handlers: The event handler functions that run custom business logic to process published events and subscribe requests.
|
|
4392
|
+
:param code_s3_location: The Amazon S3 endpoint where the code is located.
|
|
4393
|
+
:param publish_auth_modes: The authorization mode to use for publishing messages on the channel namespace. This configuration overrides the default ``Api`` authorization configuration.
|
|
4394
|
+
:param subscribe_auth_modes: The authorization mode to use for subscribing to messages on the channel namespace. This configuration overrides the default ``Api`` authorization configuration.
|
|
4395
|
+
:param tags: A set of tags (key-value pairs) for this channel namespace.
|
|
2908
4396
|
'''
|
|
2909
4397
|
if __debug__:
|
|
2910
|
-
type_hints = typing.get_type_hints(
|
|
4398
|
+
type_hints = typing.get_type_hints(_typecheckingstub__a093c57f7353830d56f8cde41e8653e333d0f0b91da87dd9ca86d72460c39119)
|
|
2911
4399
|
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
2912
4400
|
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
2913
|
-
props =
|
|
4401
|
+
props = CfnChannelNamespaceProps(
|
|
4402
|
+
api_id=api_id,
|
|
4403
|
+
name=name,
|
|
4404
|
+
code_handlers=code_handlers,
|
|
4405
|
+
code_s3_location=code_s3_location,
|
|
4406
|
+
publish_auth_modes=publish_auth_modes,
|
|
4407
|
+
subscribe_auth_modes=subscribe_auth_modes,
|
|
4408
|
+
tags=tags,
|
|
4409
|
+
)
|
|
2914
4410
|
|
|
2915
4411
|
jsii.create(self.__class__, self, [scope, id, props])
|
|
2916
4412
|
|
|
@@ -2921,7 +4417,7 @@ class CfnApiKey(
|
|
|
2921
4417
|
:param inspector: tree inspector to collect and process attributes.
|
|
2922
4418
|
'''
|
|
2923
4419
|
if __debug__:
|
|
2924
|
-
type_hints = typing.get_type_hints(
|
|
4420
|
+
type_hints = typing.get_type_hints(_typecheckingstub__3ad9494241faa332c831f07b3784d74ff448ddf3fa3baab7ab580ea1404552c3)
|
|
2925
4421
|
check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
|
|
2926
4422
|
return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
|
|
2927
4423
|
|
|
@@ -2934,7 +4430,7 @@ class CfnApiKey(
|
|
|
2934
4430
|
:param props: -
|
|
2935
4431
|
'''
|
|
2936
4432
|
if __debug__:
|
|
2937
|
-
type_hints = typing.get_type_hints(
|
|
4433
|
+
type_hints = typing.get_type_hints(_typecheckingstub__f22e76dc0a889c34e986bed6da737321c1aa8a5ae15fc27cbba163171fcdaa23)
|
|
2938
4434
|
check_type(argname="argument props", value=props, expected_type=type_hints["props"])
|
|
2939
4435
|
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
|
|
2940
4436
|
|
|
@@ -2945,31 +4441,19 @@ class CfnApiKey(
|
|
|
2945
4441
|
return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
|
|
2946
4442
|
|
|
2947
4443
|
@builtins.property
|
|
2948
|
-
@jsii.member(jsii_name="
|
|
2949
|
-
def
|
|
2950
|
-
'''The
|
|
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.
|
|
4444
|
+
@jsii.member(jsii_name="attrChannelNamespaceArn")
|
|
4445
|
+
def attr_channel_namespace_arn(self) -> builtins.str:
|
|
4446
|
+
'''The Amazon Resource Name (ARN) of the channel namespace.
|
|
2960
4447
|
|
|
2961
|
-
:cloudformationAttribute:
|
|
4448
|
+
:cloudformationAttribute: ChannelNamespaceArn
|
|
2962
4449
|
'''
|
|
2963
|
-
return typing.cast(builtins.str, jsii.get(self, "
|
|
4450
|
+
return typing.cast(builtins.str, jsii.get(self, "attrChannelNamespaceArn"))
|
|
2964
4451
|
|
|
2965
4452
|
@builtins.property
|
|
2966
|
-
@jsii.member(jsii_name="
|
|
2967
|
-
def
|
|
2968
|
-
'''
|
|
2969
|
-
|
|
2970
|
-
:cloudformationAttribute: Arn
|
|
2971
|
-
'''
|
|
2972
|
-
return typing.cast(builtins.str, jsii.get(self, "attrArn"))
|
|
4453
|
+
@jsii.member(jsii_name="cdkTagManager")
|
|
4454
|
+
def cdk_tag_manager(self) -> _TagManager_0a598cb3:
|
|
4455
|
+
'''Tag Manager which manages the tags for this resource.'''
|
|
4456
|
+
return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
|
|
2973
4457
|
|
|
2974
4458
|
@builtins.property
|
|
2975
4459
|
@jsii.member(jsii_name="cfnProperties")
|
|
@@ -2979,67 +4463,194 @@ class CfnApiKey(
|
|
|
2979
4463
|
@builtins.property
|
|
2980
4464
|
@jsii.member(jsii_name="apiId")
|
|
2981
4465
|
def api_id(self) -> builtins.str:
|
|
2982
|
-
'''
|
|
4466
|
+
'''The ``Api`` ID.'''
|
|
2983
4467
|
return typing.cast(builtins.str, jsii.get(self, "apiId"))
|
|
2984
4468
|
|
|
2985
4469
|
@api_id.setter
|
|
2986
4470
|
def api_id(self, value: builtins.str) -> None:
|
|
2987
4471
|
if __debug__:
|
|
2988
|
-
type_hints = typing.get_type_hints(
|
|
4472
|
+
type_hints = typing.get_type_hints(_typecheckingstub__8201c39b111fb5af50817714169cd23209a7d5463c3149a06b402732f7af580e)
|
|
2989
4473
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
2990
4474
|
jsii.set(self, "apiId", value) # pyright: ignore[reportArgumentType]
|
|
2991
4475
|
|
|
2992
4476
|
@builtins.property
|
|
2993
|
-
@jsii.member(jsii_name="
|
|
2994
|
-
def
|
|
2995
|
-
'''
|
|
2996
|
-
return typing.cast(
|
|
4477
|
+
@jsii.member(jsii_name="name")
|
|
4478
|
+
def name(self) -> builtins.str:
|
|
4479
|
+
'''The name of the channel namespace.'''
|
|
4480
|
+
return typing.cast(builtins.str, jsii.get(self, "name"))
|
|
2997
4481
|
|
|
2998
|
-
@
|
|
2999
|
-
def
|
|
4482
|
+
@name.setter
|
|
4483
|
+
def name(self, value: builtins.str) -> None:
|
|
3000
4484
|
if __debug__:
|
|
3001
|
-
type_hints = typing.get_type_hints(
|
|
4485
|
+
type_hints = typing.get_type_hints(_typecheckingstub__cc847adc224bbc3257fda0edc3e1e2ffa88ecece56b3863f1e87260c9d4103f2)
|
|
3002
4486
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
3003
|
-
jsii.set(self, "
|
|
4487
|
+
jsii.set(self, "name", value) # pyright: ignore[reportArgumentType]
|
|
3004
4488
|
|
|
3005
4489
|
@builtins.property
|
|
3006
|
-
@jsii.member(jsii_name="
|
|
3007
|
-
def
|
|
3008
|
-
'''The
|
|
3009
|
-
return typing.cast(typing.Optional[
|
|
4490
|
+
@jsii.member(jsii_name="codeHandlers")
|
|
4491
|
+
def code_handlers(self) -> typing.Optional[builtins.str]:
|
|
4492
|
+
'''The event handler functions that run custom business logic to process published events and subscribe requests.'''
|
|
4493
|
+
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "codeHandlers"))
|
|
4494
|
+
|
|
4495
|
+
@code_handlers.setter
|
|
4496
|
+
def code_handlers(self, value: typing.Optional[builtins.str]) -> None:
|
|
4497
|
+
if __debug__:
|
|
4498
|
+
type_hints = typing.get_type_hints(_typecheckingstub__aaac6b0f9e0f2f86d3b90444a82806e153092dec34e803bf21f2a307b6660597)
|
|
4499
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
4500
|
+
jsii.set(self, "codeHandlers", value) # pyright: ignore[reportArgumentType]
|
|
4501
|
+
|
|
4502
|
+
@builtins.property
|
|
4503
|
+
@jsii.member(jsii_name="codeS3Location")
|
|
4504
|
+
def code_s3_location(self) -> typing.Optional[builtins.str]:
|
|
4505
|
+
'''The Amazon S3 endpoint where the code is located.'''
|
|
4506
|
+
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "codeS3Location"))
|
|
4507
|
+
|
|
4508
|
+
@code_s3_location.setter
|
|
4509
|
+
def code_s3_location(self, value: typing.Optional[builtins.str]) -> None:
|
|
4510
|
+
if __debug__:
|
|
4511
|
+
type_hints = typing.get_type_hints(_typecheckingstub__0253aa38ea0ac168a1bb603d6239ae0cf4ece50f9019b6a9b531fc609610605a)
|
|
4512
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
4513
|
+
jsii.set(self, "codeS3Location", value) # pyright: ignore[reportArgumentType]
|
|
4514
|
+
|
|
4515
|
+
@builtins.property
|
|
4516
|
+
@jsii.member(jsii_name="publishAuthModes")
|
|
4517
|
+
def publish_auth_modes(
|
|
4518
|
+
self,
|
|
4519
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnChannelNamespace.AuthModeProperty"]]]]:
|
|
4520
|
+
'''The authorization mode to use for publishing messages on the channel namespace.'''
|
|
4521
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnChannelNamespace.AuthModeProperty"]]]], jsii.get(self, "publishAuthModes"))
|
|
4522
|
+
|
|
4523
|
+
@publish_auth_modes.setter
|
|
4524
|
+
def publish_auth_modes(
|
|
4525
|
+
self,
|
|
4526
|
+
value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnChannelNamespace.AuthModeProperty"]]]],
|
|
4527
|
+
) -> None:
|
|
4528
|
+
if __debug__:
|
|
4529
|
+
type_hints = typing.get_type_hints(_typecheckingstub__58ae5ceea0ea0efa0414e907917c0f46364396fc667a67ea5eb4524ac6fa4d5d)
|
|
4530
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
4531
|
+
jsii.set(self, "publishAuthModes", value) # pyright: ignore[reportArgumentType]
|
|
4532
|
+
|
|
4533
|
+
@builtins.property
|
|
4534
|
+
@jsii.member(jsii_name="subscribeAuthModes")
|
|
4535
|
+
def subscribe_auth_modes(
|
|
4536
|
+
self,
|
|
4537
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnChannelNamespace.AuthModeProperty"]]]]:
|
|
4538
|
+
'''The authorization mode to use for subscribing to messages on the channel namespace.'''
|
|
4539
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnChannelNamespace.AuthModeProperty"]]]], jsii.get(self, "subscribeAuthModes"))
|
|
4540
|
+
|
|
4541
|
+
@subscribe_auth_modes.setter
|
|
4542
|
+
def subscribe_auth_modes(
|
|
4543
|
+
self,
|
|
4544
|
+
value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnChannelNamespace.AuthModeProperty"]]]],
|
|
4545
|
+
) -> None:
|
|
4546
|
+
if __debug__:
|
|
4547
|
+
type_hints = typing.get_type_hints(_typecheckingstub__fc62b054d5e5897ab522adeae0e075f829ec43715bace1f3db8e88e5980f2476)
|
|
4548
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
4549
|
+
jsii.set(self, "subscribeAuthModes", value) # pyright: ignore[reportArgumentType]
|
|
4550
|
+
|
|
4551
|
+
@builtins.property
|
|
4552
|
+
@jsii.member(jsii_name="tags")
|
|
4553
|
+
def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
|
|
4554
|
+
'''A set of tags (key-value pairs) for this channel namespace.'''
|
|
4555
|
+
return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
|
|
4556
|
+
|
|
4557
|
+
@tags.setter
|
|
4558
|
+
def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
|
|
4559
|
+
if __debug__:
|
|
4560
|
+
type_hints = typing.get_type_hints(_typecheckingstub__3273a2539d741466392c98ae069010c1b8fcca3604cfaf7fc6da4382ae1eecd7)
|
|
4561
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
4562
|
+
jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
|
|
4563
|
+
|
|
4564
|
+
@jsii.data_type(
|
|
4565
|
+
jsii_type="aws-cdk-lib.aws_appsync.CfnChannelNamespace.AuthModeProperty",
|
|
4566
|
+
jsii_struct_bases=[],
|
|
4567
|
+
name_mapping={"auth_type": "authType"},
|
|
4568
|
+
)
|
|
4569
|
+
class AuthModeProperty:
|
|
4570
|
+
def __init__(self, *, auth_type: typing.Optional[builtins.str] = None) -> None:
|
|
4571
|
+
'''Describes an authorization configuration.
|
|
4572
|
+
|
|
4573
|
+
Use ``AuthMode`` to specify the publishing and subscription authorization configuration for an Event API.
|
|
4574
|
+
|
|
4575
|
+
:param auth_type: The authorization type.
|
|
4576
|
+
|
|
4577
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-channelnamespace-authmode.html
|
|
4578
|
+
:exampleMetadata: fixture=_generated
|
|
4579
|
+
|
|
4580
|
+
Example::
|
|
4581
|
+
|
|
4582
|
+
# The code below shows an example of how to instantiate this type.
|
|
4583
|
+
# The values are placeholders you should change.
|
|
4584
|
+
from aws_cdk import aws_appsync as appsync
|
|
4585
|
+
|
|
4586
|
+
auth_mode_property = appsync.CfnChannelNamespace.AuthModeProperty(
|
|
4587
|
+
auth_type="authType"
|
|
4588
|
+
)
|
|
4589
|
+
'''
|
|
4590
|
+
if __debug__:
|
|
4591
|
+
type_hints = typing.get_type_hints(_typecheckingstub__1f188b8b6c402829b1c2c91be4530734973b0af72e7cec71bb11fffe3160f50f)
|
|
4592
|
+
check_type(argname="argument auth_type", value=auth_type, expected_type=type_hints["auth_type"])
|
|
4593
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
4594
|
+
if auth_type is not None:
|
|
4595
|
+
self._values["auth_type"] = auth_type
|
|
4596
|
+
|
|
4597
|
+
@builtins.property
|
|
4598
|
+
def auth_type(self) -> typing.Optional[builtins.str]:
|
|
4599
|
+
'''The authorization type.
|
|
4600
|
+
|
|
4601
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-channelnamespace-authmode.html#cfn-appsync-channelnamespace-authmode-authtype
|
|
4602
|
+
'''
|
|
4603
|
+
result = self._values.get("auth_type")
|
|
4604
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
4605
|
+
|
|
4606
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
4607
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
4608
|
+
|
|
4609
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
4610
|
+
return not (rhs == self)
|
|
3010
4611
|
|
|
3011
|
-
|
|
3012
|
-
|
|
3013
|
-
|
|
3014
|
-
|
|
3015
|
-
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
3016
|
-
jsii.set(self, "expires", value) # pyright: ignore[reportArgumentType]
|
|
4612
|
+
def __repr__(self) -> str:
|
|
4613
|
+
return "AuthModeProperty(%s)" % ", ".join(
|
|
4614
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
4615
|
+
)
|
|
3017
4616
|
|
|
3018
4617
|
|
|
3019
4618
|
@jsii.data_type(
|
|
3020
|
-
jsii_type="aws-cdk-lib.aws_appsync.
|
|
4619
|
+
jsii_type="aws-cdk-lib.aws_appsync.CfnChannelNamespaceProps",
|
|
3021
4620
|
jsii_struct_bases=[],
|
|
3022
4621
|
name_mapping={
|
|
3023
4622
|
"api_id": "apiId",
|
|
3024
|
-
"
|
|
3025
|
-
"
|
|
4623
|
+
"name": "name",
|
|
4624
|
+
"code_handlers": "codeHandlers",
|
|
4625
|
+
"code_s3_location": "codeS3Location",
|
|
4626
|
+
"publish_auth_modes": "publishAuthModes",
|
|
4627
|
+
"subscribe_auth_modes": "subscribeAuthModes",
|
|
4628
|
+
"tags": "tags",
|
|
3026
4629
|
},
|
|
3027
4630
|
)
|
|
3028
|
-
class
|
|
4631
|
+
class CfnChannelNamespaceProps:
|
|
3029
4632
|
def __init__(
|
|
3030
4633
|
self,
|
|
3031
4634
|
*,
|
|
3032
4635
|
api_id: builtins.str,
|
|
3033
|
-
|
|
3034
|
-
|
|
4636
|
+
name: builtins.str,
|
|
4637
|
+
code_handlers: typing.Optional[builtins.str] = None,
|
|
4638
|
+
code_s3_location: typing.Optional[builtins.str] = None,
|
|
4639
|
+
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,
|
|
4640
|
+
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,
|
|
4641
|
+
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
3035
4642
|
) -> None:
|
|
3036
|
-
'''Properties for defining a ``
|
|
4643
|
+
'''Properties for defining a ``CfnChannelNamespace``.
|
|
3037
4644
|
|
|
3038
|
-
:param api_id:
|
|
3039
|
-
:param
|
|
3040
|
-
:param
|
|
4645
|
+
:param api_id: The ``Api`` ID.
|
|
4646
|
+
:param name: The name of the channel namespace. This name must be unique within the ``Api`` .
|
|
4647
|
+
:param code_handlers: The event handler functions that run custom business logic to process published events and subscribe requests.
|
|
4648
|
+
:param code_s3_location: The Amazon S3 endpoint where the code is located.
|
|
4649
|
+
:param publish_auth_modes: The authorization mode to use for publishing messages on the channel namespace. This configuration overrides the default ``Api`` authorization configuration.
|
|
4650
|
+
:param subscribe_auth_modes: The authorization mode to use for subscribing to messages on the channel namespace. This configuration overrides the default ``Api`` authorization configuration.
|
|
4651
|
+
:param tags: A set of tags (key-value pairs) for this channel namespace.
|
|
3041
4652
|
|
|
3042
|
-
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-
|
|
4653
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-channelnamespace.html
|
|
3043
4654
|
:exampleMetadata: fixture=_generated
|
|
3044
4655
|
|
|
3045
4656
|
Example::
|
|
@@ -3048,56 +4659,123 @@ class CfnApiKeyProps:
|
|
|
3048
4659
|
# The values are placeholders you should change.
|
|
3049
4660
|
from aws_cdk import aws_appsync as appsync
|
|
3050
4661
|
|
|
3051
|
-
|
|
4662
|
+
cfn_channel_namespace_props = appsync.CfnChannelNamespaceProps(
|
|
3052
4663
|
api_id="apiId",
|
|
4664
|
+
name="name",
|
|
3053
4665
|
|
|
3054
4666
|
# the properties below are optional
|
|
3055
|
-
|
|
3056
|
-
|
|
4667
|
+
code_handlers="codeHandlers",
|
|
4668
|
+
code_s3_location="codeS3Location",
|
|
4669
|
+
publish_auth_modes=[appsync.CfnChannelNamespace.AuthModeProperty(
|
|
4670
|
+
auth_type="authType"
|
|
4671
|
+
)],
|
|
4672
|
+
subscribe_auth_modes=[appsync.CfnChannelNamespace.AuthModeProperty(
|
|
4673
|
+
auth_type="authType"
|
|
4674
|
+
)],
|
|
4675
|
+
tags=[CfnTag(
|
|
4676
|
+
key="key",
|
|
4677
|
+
value="value"
|
|
4678
|
+
)]
|
|
3057
4679
|
)
|
|
3058
4680
|
'''
|
|
3059
4681
|
if __debug__:
|
|
3060
|
-
type_hints = typing.get_type_hints(
|
|
4682
|
+
type_hints = typing.get_type_hints(_typecheckingstub__3eedc5c3e1f83f431aa7bafffc93ab91843ace16bf993fccc5f6f8fe7b37f62c)
|
|
3061
4683
|
check_type(argname="argument api_id", value=api_id, expected_type=type_hints["api_id"])
|
|
3062
|
-
check_type(argname="argument
|
|
3063
|
-
check_type(argname="argument
|
|
4684
|
+
check_type(argname="argument name", value=name, expected_type=type_hints["name"])
|
|
4685
|
+
check_type(argname="argument code_handlers", value=code_handlers, expected_type=type_hints["code_handlers"])
|
|
4686
|
+
check_type(argname="argument code_s3_location", value=code_s3_location, expected_type=type_hints["code_s3_location"])
|
|
4687
|
+
check_type(argname="argument publish_auth_modes", value=publish_auth_modes, expected_type=type_hints["publish_auth_modes"])
|
|
4688
|
+
check_type(argname="argument subscribe_auth_modes", value=subscribe_auth_modes, expected_type=type_hints["subscribe_auth_modes"])
|
|
4689
|
+
check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
|
|
3064
4690
|
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
3065
4691
|
"api_id": api_id,
|
|
4692
|
+
"name": name,
|
|
3066
4693
|
}
|
|
3067
|
-
if
|
|
3068
|
-
self._values["
|
|
3069
|
-
if
|
|
3070
|
-
self._values["
|
|
4694
|
+
if code_handlers is not None:
|
|
4695
|
+
self._values["code_handlers"] = code_handlers
|
|
4696
|
+
if code_s3_location is not None:
|
|
4697
|
+
self._values["code_s3_location"] = code_s3_location
|
|
4698
|
+
if publish_auth_modes is not None:
|
|
4699
|
+
self._values["publish_auth_modes"] = publish_auth_modes
|
|
4700
|
+
if subscribe_auth_modes is not None:
|
|
4701
|
+
self._values["subscribe_auth_modes"] = subscribe_auth_modes
|
|
4702
|
+
if tags is not None:
|
|
4703
|
+
self._values["tags"] = tags
|
|
3071
4704
|
|
|
3072
4705
|
@builtins.property
|
|
3073
4706
|
def api_id(self) -> builtins.str:
|
|
3074
|
-
'''
|
|
4707
|
+
'''The ``Api`` ID.
|
|
3075
4708
|
|
|
3076
|
-
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-
|
|
4709
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-channelnamespace.html#cfn-appsync-channelnamespace-apiid
|
|
3077
4710
|
'''
|
|
3078
4711
|
result = self._values.get("api_id")
|
|
3079
4712
|
assert result is not None, "Required property 'api_id' is missing"
|
|
3080
4713
|
return typing.cast(builtins.str, result)
|
|
3081
4714
|
|
|
3082
4715
|
@builtins.property
|
|
3083
|
-
def
|
|
3084
|
-
'''
|
|
4716
|
+
def name(self) -> builtins.str:
|
|
4717
|
+
'''The name of the channel namespace.
|
|
3085
4718
|
|
|
3086
|
-
|
|
4719
|
+
This name must be unique within the ``Api`` .
|
|
4720
|
+
|
|
4721
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-channelnamespace.html#cfn-appsync-channelnamespace-name
|
|
3087
4722
|
'''
|
|
3088
|
-
result = self._values.get("
|
|
4723
|
+
result = self._values.get("name")
|
|
4724
|
+
assert result is not None, "Required property 'name' is missing"
|
|
4725
|
+
return typing.cast(builtins.str, result)
|
|
4726
|
+
|
|
4727
|
+
@builtins.property
|
|
4728
|
+
def code_handlers(self) -> typing.Optional[builtins.str]:
|
|
4729
|
+
'''The event handler functions that run custom business logic to process published events and subscribe requests.
|
|
4730
|
+
|
|
4731
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-channelnamespace.html#cfn-appsync-channelnamespace-codehandlers
|
|
4732
|
+
'''
|
|
4733
|
+
result = self._values.get("code_handlers")
|
|
3089
4734
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
3090
4735
|
|
|
3091
4736
|
@builtins.property
|
|
3092
|
-
def
|
|
3093
|
-
'''The
|
|
4737
|
+
def code_s3_location(self) -> typing.Optional[builtins.str]:
|
|
4738
|
+
'''The Amazon S3 endpoint where the code is located.
|
|
3094
4739
|
|
|
3095
|
-
|
|
4740
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-channelnamespace.html#cfn-appsync-channelnamespace-codes3location
|
|
4741
|
+
'''
|
|
4742
|
+
result = self._values.get("code_s3_location")
|
|
4743
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
3096
4744
|
|
|
3097
|
-
|
|
4745
|
+
@builtins.property
|
|
4746
|
+
def publish_auth_modes(
|
|
4747
|
+
self,
|
|
4748
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnChannelNamespace.AuthModeProperty]]]]:
|
|
4749
|
+
'''The authorization mode to use for publishing messages on the channel namespace.
|
|
4750
|
+
|
|
4751
|
+
This configuration overrides the default ``Api`` authorization configuration.
|
|
4752
|
+
|
|
4753
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-channelnamespace.html#cfn-appsync-channelnamespace-publishauthmodes
|
|
3098
4754
|
'''
|
|
3099
|
-
result = self._values.get("
|
|
3100
|
-
return typing.cast(typing.Optional[
|
|
4755
|
+
result = self._values.get("publish_auth_modes")
|
|
4756
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnChannelNamespace.AuthModeProperty]]]], result)
|
|
4757
|
+
|
|
4758
|
+
@builtins.property
|
|
4759
|
+
def subscribe_auth_modes(
|
|
4760
|
+
self,
|
|
4761
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnChannelNamespace.AuthModeProperty]]]]:
|
|
4762
|
+
'''The authorization mode to use for subscribing to messages on the channel namespace.
|
|
4763
|
+
|
|
4764
|
+
This configuration overrides the default ``Api`` authorization configuration.
|
|
4765
|
+
|
|
4766
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-channelnamespace.html#cfn-appsync-channelnamespace-subscribeauthmodes
|
|
4767
|
+
'''
|
|
4768
|
+
result = self._values.get("subscribe_auth_modes")
|
|
4769
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnChannelNamespace.AuthModeProperty]]]], result)
|
|
4770
|
+
|
|
4771
|
+
@builtins.property
|
|
4772
|
+
def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
|
|
4773
|
+
'''A set of tags (key-value pairs) for this channel namespace.
|
|
4774
|
+
|
|
4775
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-channelnamespace.html#cfn-appsync-channelnamespace-tags
|
|
4776
|
+
'''
|
|
4777
|
+
result = self._values.get("tags")
|
|
4778
|
+
return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
|
|
3101
4779
|
|
|
3102
4780
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
3103
4781
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
@@ -3106,7 +4784,7 @@ class CfnApiKeyProps:
|
|
|
3106
4784
|
return not (rhs == self)
|
|
3107
4785
|
|
|
3108
4786
|
def __repr__(self) -> str:
|
|
3109
|
-
return "
|
|
4787
|
+
return "CfnChannelNamespaceProps(%s)" % ", ".join(
|
|
3110
4788
|
k + "=" + repr(v) for k, v in self._values.items()
|
|
3111
4789
|
)
|
|
3112
4790
|
|
|
@@ -9778,6 +11456,7 @@ class Code(metaclass=jsii.JSIIAbstractClass, jsii_type="aws-cdk-lib.aws_appsync.
|
|
|
9778
11456
|
*,
|
|
9779
11457
|
deploy_time: typing.Optional[builtins.bool] = None,
|
|
9780
11458
|
readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
|
|
11459
|
+
source_kms_key: typing.Optional[_IKey_5f11635f] = None,
|
|
9781
11460
|
asset_hash: typing.Optional[builtins.str] = None,
|
|
9782
11461
|
asset_hash_type: typing.Optional[_AssetHashType_05b67f2d] = None,
|
|
9783
11462
|
bundling: typing.Optional[typing.Union[_BundlingOptions_588cc936, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
@@ -9790,6 +11469,7 @@ class Code(metaclass=jsii.JSIIAbstractClass, jsii_type="aws-cdk-lib.aws_appsync.
|
|
|
9790
11469
|
:param path: The path to the source code file.
|
|
9791
11470
|
:param deploy_time: Whether or not the asset needs to exist beyond deployment time; i.e. are copied over to a different location and not needed afterwards. Setting this property to true has an impact on the lifecycle of the asset, because we will assume that it is safe to delete after the CloudFormation deployment succeeds. For example, Lambda Function assets are copied over to Lambda during deployment. Therefore, it is not necessary to store the asset in S3, so we consider those deployTime assets. Default: false
|
|
9792
11471
|
:param readers: A list of principals that should be able to read this asset from S3. You can use ``asset.grantRead(principal)`` to grant read permissions later. Default: - No principals that can read file asset.
|
|
11472
|
+
:param source_kms_key: The ARN of the KMS key used to encrypt the handler code. Default: - the default server-side encryption with Amazon S3 managed keys(SSE-S3) key will be used.
|
|
9793
11473
|
:param asset_hash: Specify a custom hash for this asset. If ``assetHashType`` is set it must be set to ``AssetHashType.CUSTOM``. For consistency, this custom hash will be SHA256 hashed and encoded as hex. The resulting hash will be the asset hash. NOTE: the hash is used in order to identify a specific revision of the asset, and used for optimizing and caching deployment activities related to this asset such as packaging, uploading to Amazon S3, etc. If you chose to customize the hash, you will need to make sure it is updated every time the asset changes, or otherwise it is possible that some deployments will not be invalidated. Default: - based on ``assetHashType``
|
|
9794
11474
|
:param asset_hash_type: Specifies the type of hash to calculate for this asset. If ``assetHash`` is configured, this option must be ``undefined`` or ``AssetHashType.CUSTOM``. Default: - the default is ``AssetHashType.SOURCE``, but if ``assetHash`` is explicitly specified this value defaults to ``AssetHashType.CUSTOM``.
|
|
9795
11475
|
:param bundling: Bundle the asset by executing a command in a Docker container or a custom bundling provider. The asset path will be mounted at ``/asset-input``. The Docker container is responsible for putting content at ``/asset-output``. The content at ``/asset-output`` will be zipped and used as the final asset. Default: - uploaded as-is to S3 if the asset is a regular file or a .zip file, archived into a .zip file and uploaded to S3 otherwise
|
|
@@ -9803,6 +11483,7 @@ class Code(metaclass=jsii.JSIIAbstractClass, jsii_type="aws-cdk-lib.aws_appsync.
|
|
|
9803
11483
|
options = _AssetOptions_2aa69621(
|
|
9804
11484
|
deploy_time=deploy_time,
|
|
9805
11485
|
readers=readers,
|
|
11486
|
+
source_kms_key=source_kms_key,
|
|
9806
11487
|
asset_hash=asset_hash,
|
|
9807
11488
|
asset_hash_type=asset_hash_type,
|
|
9808
11489
|
bundling=bundling,
|
|
@@ -15177,9 +16858,11 @@ class AssetCode(
|
|
|
15177
16858
|
import aws_cdk as cdk
|
|
15178
16859
|
from aws_cdk import aws_appsync as appsync
|
|
15179
16860
|
from aws_cdk import aws_iam as iam
|
|
16861
|
+
from aws_cdk import aws_kms as kms
|
|
15180
16862
|
|
|
15181
16863
|
# docker_image: cdk.DockerImage
|
|
15182
16864
|
# grantable: iam.IGrantable
|
|
16865
|
+
# key: kms.Key
|
|
15183
16866
|
# local_bundling: cdk.ILocalBundling
|
|
15184
16867
|
|
|
15185
16868
|
asset_code = appsync.AssetCode("path",
|
|
@@ -15215,7 +16898,8 @@ class AssetCode(
|
|
|
15215
16898
|
exclude=["exclude"],
|
|
15216
16899
|
follow_symlinks=cdk.SymlinkFollowMode.NEVER,
|
|
15217
16900
|
ignore_mode=cdk.IgnoreMode.GLOB,
|
|
15218
|
-
readers=[grantable]
|
|
16901
|
+
readers=[grantable],
|
|
16902
|
+
source_kMSKey=key
|
|
15219
16903
|
)
|
|
15220
16904
|
'''
|
|
15221
16905
|
|
|
@@ -15225,6 +16909,7 @@ class AssetCode(
|
|
|
15225
16909
|
*,
|
|
15226
16910
|
deploy_time: typing.Optional[builtins.bool] = None,
|
|
15227
16911
|
readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
|
|
16912
|
+
source_kms_key: typing.Optional[_IKey_5f11635f] = None,
|
|
15228
16913
|
asset_hash: typing.Optional[builtins.str] = None,
|
|
15229
16914
|
asset_hash_type: typing.Optional[_AssetHashType_05b67f2d] = None,
|
|
15230
16915
|
bundling: typing.Optional[typing.Union[_BundlingOptions_588cc936, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
@@ -15236,6 +16921,7 @@ class AssetCode(
|
|
|
15236
16921
|
:param path: The path to the asset file.
|
|
15237
16922
|
:param deploy_time: Whether or not the asset needs to exist beyond deployment time; i.e. are copied over to a different location and not needed afterwards. Setting this property to true has an impact on the lifecycle of the asset, because we will assume that it is safe to delete after the CloudFormation deployment succeeds. For example, Lambda Function assets are copied over to Lambda during deployment. Therefore, it is not necessary to store the asset in S3, so we consider those deployTime assets. Default: false
|
|
15238
16923
|
:param readers: A list of principals that should be able to read this asset from S3. You can use ``asset.grantRead(principal)`` to grant read permissions later. Default: - No principals that can read file asset.
|
|
16924
|
+
:param source_kms_key: The ARN of the KMS key used to encrypt the handler code. Default: - the default server-side encryption with Amazon S3 managed keys(SSE-S3) key will be used.
|
|
15239
16925
|
:param asset_hash: Specify a custom hash for this asset. If ``assetHashType`` is set it must be set to ``AssetHashType.CUSTOM``. For consistency, this custom hash will be SHA256 hashed and encoded as hex. The resulting hash will be the asset hash. NOTE: the hash is used in order to identify a specific revision of the asset, and used for optimizing and caching deployment activities related to this asset such as packaging, uploading to Amazon S3, etc. If you chose to customize the hash, you will need to make sure it is updated every time the asset changes, or otherwise it is possible that some deployments will not be invalidated. Default: - based on ``assetHashType``
|
|
15240
16926
|
:param asset_hash_type: Specifies the type of hash to calculate for this asset. If ``assetHash`` is configured, this option must be ``undefined`` or ``AssetHashType.CUSTOM``. Default: - the default is ``AssetHashType.SOURCE``, but if ``assetHash`` is explicitly specified this value defaults to ``AssetHashType.CUSTOM``.
|
|
15241
16927
|
:param bundling: Bundle the asset by executing a command in a Docker container or a custom bundling provider. The asset path will be mounted at ``/asset-input``. The Docker container is responsible for putting content at ``/asset-output``. The content at ``/asset-output`` will be zipped and used as the final asset. Default: - uploaded as-is to S3 if the asset is a regular file or a .zip file, archived into a .zip file and uploaded to S3 otherwise
|
|
@@ -15249,6 +16935,7 @@ class AssetCode(
|
|
|
15249
16935
|
options = _AssetOptions_2aa69621(
|
|
15250
16936
|
deploy_time=deploy_time,
|
|
15251
16937
|
readers=readers,
|
|
16938
|
+
source_kms_key=source_kms_key,
|
|
15252
16939
|
asset_hash=asset_hash,
|
|
15253
16940
|
asset_hash_type=asset_hash_type,
|
|
15254
16941
|
bundling=bundling,
|
|
@@ -17767,10 +19454,14 @@ __all__ = [
|
|
|
17767
19454
|
"BaseDataSourceProps",
|
|
17768
19455
|
"BaseResolverProps",
|
|
17769
19456
|
"CachingConfig",
|
|
19457
|
+
"CfnApi",
|
|
17770
19458
|
"CfnApiCache",
|
|
17771
19459
|
"CfnApiCacheProps",
|
|
17772
19460
|
"CfnApiKey",
|
|
17773
19461
|
"CfnApiKeyProps",
|
|
19462
|
+
"CfnApiProps",
|
|
19463
|
+
"CfnChannelNamespace",
|
|
19464
|
+
"CfnChannelNamespaceProps",
|
|
17774
19465
|
"CfnDataSource",
|
|
17775
19466
|
"CfnDataSourceProps",
|
|
17776
19467
|
"CfnDomainName",
|
|
@@ -18043,6 +19734,126 @@ def _typecheckingstub__16c48e7a47c60140291c83d5eea69a6e25ec7462e7a0080eaf553e500
|
|
|
18043
19734
|
"""Type checking stubs"""
|
|
18044
19735
|
pass
|
|
18045
19736
|
|
|
19737
|
+
def _typecheckingstub__9b24e030284e4cb760e04c0345cc69b457962fa5c53b82f009a5c412ad0fa1e5(
|
|
19738
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
19739
|
+
id: builtins.str,
|
|
19740
|
+
*,
|
|
19741
|
+
name: builtins.str,
|
|
19742
|
+
event_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnApi.EventConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
19743
|
+
owner_contact: typing.Optional[builtins.str] = None,
|
|
19744
|
+
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
19745
|
+
) -> None:
|
|
19746
|
+
"""Type checking stubs"""
|
|
19747
|
+
pass
|
|
19748
|
+
|
|
19749
|
+
def _typecheckingstub__1a34658e511f6fa9562934d95c768fd4b2af2314ddf2dab2969f39073417c21f(
|
|
19750
|
+
inspector: _TreeInspector_488e0dd5,
|
|
19751
|
+
) -> None:
|
|
19752
|
+
"""Type checking stubs"""
|
|
19753
|
+
pass
|
|
19754
|
+
|
|
19755
|
+
def _typecheckingstub__80dee192d808ade2b05e0e5eae2e320cb156ff9affe045ecbcaf005a54690f10(
|
|
19756
|
+
props: typing.Mapping[builtins.str, typing.Any],
|
|
19757
|
+
) -> None:
|
|
19758
|
+
"""Type checking stubs"""
|
|
19759
|
+
pass
|
|
19760
|
+
|
|
19761
|
+
def _typecheckingstub__2bbcc5e3c150d28701074668c2cc2da51f0ba8e3870f53f61466fcc37a9b9d92(
|
|
19762
|
+
value: builtins.str,
|
|
19763
|
+
) -> None:
|
|
19764
|
+
"""Type checking stubs"""
|
|
19765
|
+
pass
|
|
19766
|
+
|
|
19767
|
+
def _typecheckingstub__9323cec9a000145849866e550b55f0a549087cc444c4fa5706fdbc7c1455d154(
|
|
19768
|
+
value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnApi.EventConfigProperty]],
|
|
19769
|
+
) -> None:
|
|
19770
|
+
"""Type checking stubs"""
|
|
19771
|
+
pass
|
|
19772
|
+
|
|
19773
|
+
def _typecheckingstub__b829d518b74ad55cbf9233be61a91ddec84af300e750befd18c27d6ec18db38d(
|
|
19774
|
+
value: typing.Optional[builtins.str],
|
|
19775
|
+
) -> None:
|
|
19776
|
+
"""Type checking stubs"""
|
|
19777
|
+
pass
|
|
19778
|
+
|
|
19779
|
+
def _typecheckingstub__a8b30f166f8b9fa0fc02ab2eb4ff33b85277e77827ecebf6d7fd569a6667a8ea(
|
|
19780
|
+
value: typing.Optional[typing.List[_CfnTag_f6864754]],
|
|
19781
|
+
) -> None:
|
|
19782
|
+
"""Type checking stubs"""
|
|
19783
|
+
pass
|
|
19784
|
+
|
|
19785
|
+
def _typecheckingstub__27b661cb5be7fc793a7469c90adcd7629e723a94b2a389fead69d96cfde5dba2(
|
|
19786
|
+
*,
|
|
19787
|
+
auth_type: typing.Optional[builtins.str] = None,
|
|
19788
|
+
) -> None:
|
|
19789
|
+
"""Type checking stubs"""
|
|
19790
|
+
pass
|
|
19791
|
+
|
|
19792
|
+
def _typecheckingstub__d3b431432784c1151b3b95b1186edc1bcfaa11a3f70614ce43f998df8d1ae46d(
|
|
19793
|
+
*,
|
|
19794
|
+
auth_type: builtins.str,
|
|
19795
|
+
cognito_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnApi.CognitoConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
19796
|
+
lambda_authorizer_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnApi.LambdaAuthorizerConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
19797
|
+
open_id_connect_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnApi.OpenIDConnectConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
19798
|
+
) -> None:
|
|
19799
|
+
"""Type checking stubs"""
|
|
19800
|
+
pass
|
|
19801
|
+
|
|
19802
|
+
def _typecheckingstub__012c8ad0fa2d1afcda68ca532d5e287baa9e170049fe0c4e05e77dab9f8eb753(
|
|
19803
|
+
*,
|
|
19804
|
+
aws_region: builtins.str,
|
|
19805
|
+
user_pool_id: builtins.str,
|
|
19806
|
+
app_id_client_regex: typing.Optional[builtins.str] = None,
|
|
19807
|
+
) -> None:
|
|
19808
|
+
"""Type checking stubs"""
|
|
19809
|
+
pass
|
|
19810
|
+
|
|
19811
|
+
def _typecheckingstub__312a111f84f5f64be12d3d7c09cc00f4c64e4fe99cd1bf78561ebcfd82084e0c(
|
|
19812
|
+
*,
|
|
19813
|
+
http: typing.Optional[builtins.str] = None,
|
|
19814
|
+
realtime: typing.Optional[builtins.str] = None,
|
|
19815
|
+
) -> None:
|
|
19816
|
+
"""Type checking stubs"""
|
|
19817
|
+
pass
|
|
19818
|
+
|
|
19819
|
+
def _typecheckingstub__53f8b01a4596f6e890e45a2870f92278e02fc06e912e096c33920157038135cf(
|
|
19820
|
+
*,
|
|
19821
|
+
auth_providers: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnApi.AuthProviderProperty, typing.Dict[builtins.str, typing.Any]]]]],
|
|
19822
|
+
connection_auth_modes: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnApi.AuthModeProperty, typing.Dict[builtins.str, typing.Any]]]]],
|
|
19823
|
+
default_publish_auth_modes: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnApi.AuthModeProperty, typing.Dict[builtins.str, typing.Any]]]]],
|
|
19824
|
+
default_subscribe_auth_modes: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnApi.AuthModeProperty, typing.Dict[builtins.str, typing.Any]]]]],
|
|
19825
|
+
log_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnApi.EventLogConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
19826
|
+
) -> None:
|
|
19827
|
+
"""Type checking stubs"""
|
|
19828
|
+
pass
|
|
19829
|
+
|
|
19830
|
+
def _typecheckingstub__5cbb1c5597e58c84a31d8dc10841de6fa70b9c328dacba388a7afdab090b3e6a(
|
|
19831
|
+
*,
|
|
19832
|
+
cloud_watch_logs_role_arn: builtins.str,
|
|
19833
|
+
log_level: builtins.str,
|
|
19834
|
+
) -> None:
|
|
19835
|
+
"""Type checking stubs"""
|
|
19836
|
+
pass
|
|
19837
|
+
|
|
19838
|
+
def _typecheckingstub__6eb7eaf1ef726d95b558700ffd22e714695a485aed3b5a3ae796f2a03efae22c(
|
|
19839
|
+
*,
|
|
19840
|
+
authorizer_uri: builtins.str,
|
|
19841
|
+
authorizer_result_ttl_in_seconds: typing.Optional[jsii.Number] = None,
|
|
19842
|
+
identity_validation_expression: typing.Optional[builtins.str] = None,
|
|
19843
|
+
) -> None:
|
|
19844
|
+
"""Type checking stubs"""
|
|
19845
|
+
pass
|
|
19846
|
+
|
|
19847
|
+
def _typecheckingstub__560e301b02d9bfc40a0d691fa82c55f336f07c62f130aa6e9464ab1c1b676cf8(
|
|
19848
|
+
*,
|
|
19849
|
+
issuer: builtins.str,
|
|
19850
|
+
auth_ttl: typing.Optional[jsii.Number] = None,
|
|
19851
|
+
client_id: typing.Optional[builtins.str] = None,
|
|
19852
|
+
iat_ttl: typing.Optional[jsii.Number] = None,
|
|
19853
|
+
) -> None:
|
|
19854
|
+
"""Type checking stubs"""
|
|
19855
|
+
pass
|
|
19856
|
+
|
|
18046
19857
|
def _typecheckingstub__e9d92b7b2abdac7341eb92f7ac10d2d67dd2700af68eaf42c72c47ffdaacc344(
|
|
18047
19858
|
scope: _constructs_77d1e7e8.Construct,
|
|
18048
19859
|
id: builtins.str,
|
|
@@ -18175,6 +19986,105 @@ def _typecheckingstub__1688db2b7835c85b4e2cd69655b5d25321ff2aa2ea9e1b2a0612caff3
|
|
|
18175
19986
|
"""Type checking stubs"""
|
|
18176
19987
|
pass
|
|
18177
19988
|
|
|
19989
|
+
def _typecheckingstub__a6f1c28efbfb84e165cbbde9374da4810d0b8c625b2f4460dc4514b583cc8bc1(
|
|
19990
|
+
*,
|
|
19991
|
+
name: builtins.str,
|
|
19992
|
+
event_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnApi.EventConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
19993
|
+
owner_contact: typing.Optional[builtins.str] = None,
|
|
19994
|
+
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
19995
|
+
) -> None:
|
|
19996
|
+
"""Type checking stubs"""
|
|
19997
|
+
pass
|
|
19998
|
+
|
|
19999
|
+
def _typecheckingstub__a093c57f7353830d56f8cde41e8653e333d0f0b91da87dd9ca86d72460c39119(
|
|
20000
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
20001
|
+
id: builtins.str,
|
|
20002
|
+
*,
|
|
20003
|
+
api_id: builtins.str,
|
|
20004
|
+
name: builtins.str,
|
|
20005
|
+
code_handlers: typing.Optional[builtins.str] = None,
|
|
20006
|
+
code_s3_location: typing.Optional[builtins.str] = None,
|
|
20007
|
+
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,
|
|
20008
|
+
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,
|
|
20009
|
+
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
20010
|
+
) -> None:
|
|
20011
|
+
"""Type checking stubs"""
|
|
20012
|
+
pass
|
|
20013
|
+
|
|
20014
|
+
def _typecheckingstub__3ad9494241faa332c831f07b3784d74ff448ddf3fa3baab7ab580ea1404552c3(
|
|
20015
|
+
inspector: _TreeInspector_488e0dd5,
|
|
20016
|
+
) -> None:
|
|
20017
|
+
"""Type checking stubs"""
|
|
20018
|
+
pass
|
|
20019
|
+
|
|
20020
|
+
def _typecheckingstub__f22e76dc0a889c34e986bed6da737321c1aa8a5ae15fc27cbba163171fcdaa23(
|
|
20021
|
+
props: typing.Mapping[builtins.str, typing.Any],
|
|
20022
|
+
) -> None:
|
|
20023
|
+
"""Type checking stubs"""
|
|
20024
|
+
pass
|
|
20025
|
+
|
|
20026
|
+
def _typecheckingstub__8201c39b111fb5af50817714169cd23209a7d5463c3149a06b402732f7af580e(
|
|
20027
|
+
value: builtins.str,
|
|
20028
|
+
) -> None:
|
|
20029
|
+
"""Type checking stubs"""
|
|
20030
|
+
pass
|
|
20031
|
+
|
|
20032
|
+
def _typecheckingstub__cc847adc224bbc3257fda0edc3e1e2ffa88ecece56b3863f1e87260c9d4103f2(
|
|
20033
|
+
value: builtins.str,
|
|
20034
|
+
) -> None:
|
|
20035
|
+
"""Type checking stubs"""
|
|
20036
|
+
pass
|
|
20037
|
+
|
|
20038
|
+
def _typecheckingstub__aaac6b0f9e0f2f86d3b90444a82806e153092dec34e803bf21f2a307b6660597(
|
|
20039
|
+
value: typing.Optional[builtins.str],
|
|
20040
|
+
) -> None:
|
|
20041
|
+
"""Type checking stubs"""
|
|
20042
|
+
pass
|
|
20043
|
+
|
|
20044
|
+
def _typecheckingstub__0253aa38ea0ac168a1bb603d6239ae0cf4ece50f9019b6a9b531fc609610605a(
|
|
20045
|
+
value: typing.Optional[builtins.str],
|
|
20046
|
+
) -> None:
|
|
20047
|
+
"""Type checking stubs"""
|
|
20048
|
+
pass
|
|
20049
|
+
|
|
20050
|
+
def _typecheckingstub__58ae5ceea0ea0efa0414e907917c0f46364396fc667a67ea5eb4524ac6fa4d5d(
|
|
20051
|
+
value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnChannelNamespace.AuthModeProperty]]]],
|
|
20052
|
+
) -> None:
|
|
20053
|
+
"""Type checking stubs"""
|
|
20054
|
+
pass
|
|
20055
|
+
|
|
20056
|
+
def _typecheckingstub__fc62b054d5e5897ab522adeae0e075f829ec43715bace1f3db8e88e5980f2476(
|
|
20057
|
+
value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnChannelNamespace.AuthModeProperty]]]],
|
|
20058
|
+
) -> None:
|
|
20059
|
+
"""Type checking stubs"""
|
|
20060
|
+
pass
|
|
20061
|
+
|
|
20062
|
+
def _typecheckingstub__3273a2539d741466392c98ae069010c1b8fcca3604cfaf7fc6da4382ae1eecd7(
|
|
20063
|
+
value: typing.Optional[typing.List[_CfnTag_f6864754]],
|
|
20064
|
+
) -> None:
|
|
20065
|
+
"""Type checking stubs"""
|
|
20066
|
+
pass
|
|
20067
|
+
|
|
20068
|
+
def _typecheckingstub__1f188b8b6c402829b1c2c91be4530734973b0af72e7cec71bb11fffe3160f50f(
|
|
20069
|
+
*,
|
|
20070
|
+
auth_type: typing.Optional[builtins.str] = None,
|
|
20071
|
+
) -> None:
|
|
20072
|
+
"""Type checking stubs"""
|
|
20073
|
+
pass
|
|
20074
|
+
|
|
20075
|
+
def _typecheckingstub__3eedc5c3e1f83f431aa7bafffc93ab91843ace16bf993fccc5f6f8fe7b37f62c(
|
|
20076
|
+
*,
|
|
20077
|
+
api_id: builtins.str,
|
|
20078
|
+
name: builtins.str,
|
|
20079
|
+
code_handlers: typing.Optional[builtins.str] = None,
|
|
20080
|
+
code_s3_location: typing.Optional[builtins.str] = None,
|
|
20081
|
+
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,
|
|
20082
|
+
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,
|
|
20083
|
+
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
20084
|
+
) -> None:
|
|
20085
|
+
"""Type checking stubs"""
|
|
20086
|
+
pass
|
|
20087
|
+
|
|
18178
20088
|
def _typecheckingstub__f2dc8968068d09d9cb599cea5efad1a18016c4eca4fcc6c15e6169a0891e2678(
|
|
18179
20089
|
scope: _constructs_77d1e7e8.Construct,
|
|
18180
20090
|
id: builtins.str,
|
|
@@ -19209,6 +21119,7 @@ def _typecheckingstub__8eafa9f4fd31cdfcc23e497d115c1733ce980674eb036dad379eb9102
|
|
|
19209
21119
|
*,
|
|
19210
21120
|
deploy_time: typing.Optional[builtins.bool] = None,
|
|
19211
21121
|
readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
|
|
21122
|
+
source_kms_key: typing.Optional[_IKey_5f11635f] = None,
|
|
19212
21123
|
asset_hash: typing.Optional[builtins.str] = None,
|
|
19213
21124
|
asset_hash_type: typing.Optional[_AssetHashType_05b67f2d] = None,
|
|
19214
21125
|
bundling: typing.Optional[typing.Union[_BundlingOptions_588cc936, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
@@ -19944,6 +21855,7 @@ def _typecheckingstub__f64c3b5b60096d2f072c0237f4540425eb18b7539e311bcd346760100
|
|
|
19944
21855
|
*,
|
|
19945
21856
|
deploy_time: typing.Optional[builtins.bool] = None,
|
|
19946
21857
|
readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
|
|
21858
|
+
source_kms_key: typing.Optional[_IKey_5f11635f] = None,
|
|
19947
21859
|
asset_hash: typing.Optional[builtins.str] = None,
|
|
19948
21860
|
asset_hash_type: typing.Optional[_AssetHashType_05b67f2d] = None,
|
|
19949
21861
|
bundling: typing.Optional[typing.Union[_BundlingOptions_588cc936, typing.Dict[builtins.str, typing.Any]]] = None,
|