aws-cdk-lib 2.126.0__py3-none-any.whl → 2.127.0__py3-none-any.whl

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

Potentially problematic release.


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

Files changed (69) hide show
  1. aws_cdk/__init__.py +0 -2
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.126.0.jsii.tgz → aws-cdk-lib@2.127.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_acmpca/__init__.py +18 -6
  5. aws_cdk/aws_amazonmq/__init__.py +3 -2
  6. aws_cdk/aws_amplifyuibuilder/__init__.py +1212 -666
  7. aws_cdk/aws_apigateway/__init__.py +7 -3
  8. aws_cdk/aws_appconfig/__init__.py +108 -19
  9. aws_cdk/aws_appsync/__init__.py +43 -0
  10. aws_cdk/aws_autoscaling/__init__.py +37 -14
  11. aws_cdk/aws_cassandra/__init__.py +810 -4
  12. aws_cdk/aws_cloudfront/__init__.py +35 -37
  13. aws_cdk/aws_cloudfront/experimental/__init__.py +21 -0
  14. aws_cdk/aws_codebuild/__init__.py +43 -3
  15. aws_cdk/aws_codecommit/__init__.py +1 -0
  16. aws_cdk/aws_codepipeline/__init__.py +7 -3
  17. aws_cdk/aws_codepipeline_actions/__init__.py +11 -1
  18. aws_cdk/aws_codestarnotifications/__init__.py +24 -15
  19. aws_cdk/aws_cognito/__init__.py +180 -116
  20. aws_cdk/aws_datasync/__init__.py +8 -4
  21. aws_cdk/aws_dynamodb/__init__.py +80 -11
  22. aws_cdk/aws_ec2/__init__.py +207 -45
  23. aws_cdk/aws_ecs/__init__.py +171 -78
  24. aws_cdk/aws_ecs_patterns/__init__.py +24 -0
  25. aws_cdk/aws_efs/__init__.py +64 -8
  26. aws_cdk/aws_eks/__init__.py +52 -41
  27. aws_cdk/aws_elasticloadbalancingv2/__init__.py +12 -9
  28. aws_cdk/aws_fis/__init__.py +32 -12
  29. aws_cdk/aws_fsx/__init__.py +61 -43
  30. aws_cdk/aws_glue/__init__.py +449 -0
  31. aws_cdk/aws_guardduty/__init__.py +0 -8
  32. aws_cdk/aws_iam/__init__.py +3 -3
  33. aws_cdk/aws_inspectorv2/__init__.py +989 -0
  34. aws_cdk/aws_internetmonitor/__init__.py +10 -12
  35. aws_cdk/aws_iot/__init__.py +112 -0
  36. aws_cdk/aws_iotwireless/__init__.py +32 -19
  37. aws_cdk/aws_lambda/__init__.py +129 -32
  38. aws_cdk/aws_lambda_event_sources/__init__.py +95 -4
  39. aws_cdk/aws_lambda_nodejs/__init__.py +21 -0
  40. aws_cdk/aws_location/__init__.py +8 -2
  41. aws_cdk/aws_logs/__init__.py +7 -3
  42. aws_cdk/aws_networkmanager/__init__.py +1 -1
  43. aws_cdk/aws_opensearchserverless/__init__.py +4 -4
  44. aws_cdk/aws_osis/__init__.py +13 -13
  45. aws_cdk/aws_personalize/__init__.py +1 -1
  46. aws_cdk/aws_pinpoint/__init__.py +5 -5
  47. aws_cdk/aws_pipes/__init__.py +7 -10
  48. aws_cdk/aws_rds/__init__.py +449 -8
  49. aws_cdk/aws_redshiftserverless/__init__.py +282 -0
  50. aws_cdk/aws_rolesanywhere/__init__.py +53 -41
  51. aws_cdk/aws_route53/__init__.py +282 -0
  52. aws_cdk/aws_s3/__init__.py +11 -6
  53. aws_cdk/aws_sagemaker/__init__.py +1398 -39
  54. aws_cdk/aws_sns/__init__.py +56 -13
  55. aws_cdk/aws_sqs/__init__.py +13 -10
  56. aws_cdk/aws_stepfunctions/__init__.py +3612 -1395
  57. aws_cdk/aws_stepfunctions_tasks/__init__.py +267 -181
  58. aws_cdk/aws_transfer/__init__.py +1 -1
  59. aws_cdk/aws_verifiedpermissions/__init__.py +55 -55
  60. aws_cdk/aws_workspacesweb/__init__.py +6 -3
  61. aws_cdk/cx_api/__init__.py +17 -0
  62. aws_cdk/triggers/__init__.py +21 -0
  63. {aws_cdk_lib-2.126.0.dist-info → aws_cdk_lib-2.127.0.dist-info}/METADATA +1 -1
  64. {aws_cdk_lib-2.126.0.dist-info → aws_cdk_lib-2.127.0.dist-info}/RECORD +68 -69
  65. aws_cdk/aws_ssmguiconnect/__init__.py +0 -540
  66. {aws_cdk_lib-2.126.0.dist-info → aws_cdk_lib-2.127.0.dist-info}/LICENSE +0 -0
  67. {aws_cdk_lib-2.126.0.dist-info → aws_cdk_lib-2.127.0.dist-info}/NOTICE +0 -0
  68. {aws_cdk_lib-2.126.0.dist-info → aws_cdk_lib-2.127.0.dist-info}/WHEEL +0 -0
  69. {aws_cdk_lib-2.126.0.dist-info → aws_cdk_lib-2.127.0.dist-info}/top_level.txt +0 -0
@@ -6164,7 +6164,7 @@ class CfnDeployment(
6164
6164
  '''``StageDescription`` is a property of the `AWS::ApiGateway::Deployment <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html>`_ resource that configures a deployment stage.
6165
6165
 
6166
6166
  :param access_log_setting: Specifies settings for logging access in this stage.
6167
- :param cache_cluster_enabled: Specifies whether a cache cluster is enabled for the stage.
6167
+ :param cache_cluster_enabled: Specifies whether a cache cluster is enabled for the stage. To activate a method-level cache, set ``CachingEnabled`` to ``true`` for a method.
6168
6168
  :param cache_cluster_size: The size of the stage's cache cluster. For more information, see `cacheClusterSize <https://docs.aws.amazon.com/apigateway/latest/api/API_CreateStage.html#apigw-CreateStage-request-cacheClusterSize>`_ in the *API Gateway API Reference* .
6169
6169
  :param cache_data_encrypted: Indicates whether the cached responses are encrypted.
6170
6170
  :param cache_ttl_in_seconds: The time-to-live (TTL) period, in seconds, that specifies how long API Gateway caches responses.
@@ -6317,6 +6317,8 @@ class CfnDeployment(
6317
6317
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
6318
6318
  '''Specifies whether a cache cluster is enabled for the stage.
6319
6319
 
6320
+ To activate a method-level cache, set ``CachingEnabled`` to ``true`` for a method.
6321
+
6320
6322
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-cacheclusterenabled
6321
6323
  '''
6322
6324
  result = self._values.get("cache_cluster_enabled")
@@ -11349,7 +11351,7 @@ class CfnStage(
11349
11351
  :param id: Construct identifier for this resource (unique in its scope).
11350
11352
  :param rest_api_id: The string identifier of the associated RestApi.
11351
11353
  :param access_log_setting: Access log settings, including the access log format and access log destination ARN.
11352
- :param cache_cluster_enabled: Specifies whether a cache cluster is enabled for the stage.
11354
+ :param cache_cluster_enabled: Specifies whether a cache cluster is enabled for the stage. To activate a method-level cache, set ``CachingEnabled`` to ``true`` for a method.
11353
11355
  :param cache_cluster_size: The stage's cache capacity in GB. For more information about choosing a cache size, see `Enabling API caching to enhance responsiveness <https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html>`_ .
11354
11356
  :param canary_setting: Settings for the canary deployment in this stage.
11355
11357
  :param client_certificate_id: The identifier of a client certificate for an API stage.
@@ -12092,7 +12094,7 @@ class CfnStageProps:
12092
12094
 
12093
12095
  :param rest_api_id: The string identifier of the associated RestApi.
12094
12096
  :param access_log_setting: Access log settings, including the access log format and access log destination ARN.
12095
- :param cache_cluster_enabled: Specifies whether a cache cluster is enabled for the stage.
12097
+ :param cache_cluster_enabled: Specifies whether a cache cluster is enabled for the stage. To activate a method-level cache, set ``CachingEnabled`` to ``true`` for a method.
12096
12098
  :param cache_cluster_size: The stage's cache capacity in GB. For more information about choosing a cache size, see `Enabling API caching to enhance responsiveness <https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html>`_ .
12097
12099
  :param canary_setting: Settings for the canary deployment in this stage.
12098
12100
  :param client_certificate_id: The identifier of a client certificate for an API stage.
@@ -12232,6 +12234,8 @@ class CfnStageProps:
12232
12234
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
12233
12235
  '''Specifies whether a cache cluster is enabled for the stage.
12234
12236
 
12237
+ To activate a method-level cache, set ``CachingEnabled`` to ``true`` for a method.
12238
+
12235
12239
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-cacheclusterenabled
12236
12240
  '''
12237
12241
  result = self._values.get("cache_cluster_enabled")
@@ -2143,6 +2143,15 @@ class CfnEnvironment(
2143
2143
  '''The CloudFormation resource type name for this resource class.'''
2144
2144
  return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
2145
2145
 
2146
+ @builtins.property
2147
+ @jsii.member(jsii_name="attrEnvironmentId")
2148
+ def attr_environment_id(self) -> builtins.str:
2149
+ '''The environment ID.
2150
+
2151
+ :cloudformationAttribute: EnvironmentId
2152
+ '''
2153
+ return typing.cast(builtins.str, jsii.get(self, "attrEnvironmentId"))
2154
+
2146
2155
  @builtins.property
2147
2156
  @jsii.member(jsii_name="attrId")
2148
2157
  def attr_id(self) -> builtins.str:
@@ -2230,15 +2239,15 @@ class CfnEnvironment(
2230
2239
  jsii.set(self, "tags", value)
2231
2240
 
2232
2241
  @jsii.data_type(
2233
- jsii_type="aws-cdk-lib.aws_appconfig.CfnEnvironment.MonitorsProperty",
2242
+ jsii_type="aws-cdk-lib.aws_appconfig.CfnEnvironment.MonitorProperty",
2234
2243
  jsii_struct_bases=[],
2235
2244
  name_mapping={"alarm_arn": "alarmArn", "alarm_role_arn": "alarmRoleArn"},
2236
2245
  )
2237
- class MonitorsProperty:
2246
+ class MonitorProperty:
2238
2247
  def __init__(
2239
2248
  self,
2240
2249
  *,
2241
- alarm_arn: typing.Optional[builtins.str] = None,
2250
+ alarm_arn: builtins.str,
2242
2251
  alarm_role_arn: typing.Optional[builtins.str] = None,
2243
2252
  ) -> None:
2244
2253
  '''Amazon CloudWatch alarms to monitor during the deployment process.
@@ -2246,6 +2255,78 @@ class CfnEnvironment(
2246
2255
  :param alarm_arn: Amazon Resource Name (ARN) of the Amazon CloudWatch alarm.
2247
2256
  :param alarm_role_arn: ARN of an AWS Identity and Access Management (IAM) role for AWS AppConfig to monitor ``AlarmArn`` .
2248
2257
 
2258
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-environment-monitor.html
2259
+ :exampleMetadata: fixture=_generated
2260
+
2261
+ Example::
2262
+
2263
+ # The code below shows an example of how to instantiate this type.
2264
+ # The values are placeholders you should change.
2265
+ from aws_cdk import aws_appconfig as appconfig
2266
+
2267
+ monitor_property = appconfig.CfnEnvironment.MonitorProperty(
2268
+ alarm_arn="alarmArn",
2269
+
2270
+ # the properties below are optional
2271
+ alarm_role_arn="alarmRoleArn"
2272
+ )
2273
+ '''
2274
+ if __debug__:
2275
+ type_hints = typing.get_type_hints(_typecheckingstub__252b3a605905895f1b8ffc133b32547c64db1b58b121d4f635ec61960b027938)
2276
+ check_type(argname="argument alarm_arn", value=alarm_arn, expected_type=type_hints["alarm_arn"])
2277
+ check_type(argname="argument alarm_role_arn", value=alarm_role_arn, expected_type=type_hints["alarm_role_arn"])
2278
+ self._values: typing.Dict[builtins.str, typing.Any] = {
2279
+ "alarm_arn": alarm_arn,
2280
+ }
2281
+ if alarm_role_arn is not None:
2282
+ self._values["alarm_role_arn"] = alarm_role_arn
2283
+
2284
+ @builtins.property
2285
+ def alarm_arn(self) -> builtins.str:
2286
+ '''Amazon Resource Name (ARN) of the Amazon CloudWatch alarm.
2287
+
2288
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-environment-monitor.html#cfn-appconfig-environment-monitor-alarmarn
2289
+ '''
2290
+ result = self._values.get("alarm_arn")
2291
+ assert result is not None, "Required property 'alarm_arn' is missing"
2292
+ return typing.cast(builtins.str, result)
2293
+
2294
+ @builtins.property
2295
+ def alarm_role_arn(self) -> typing.Optional[builtins.str]:
2296
+ '''ARN of an AWS Identity and Access Management (IAM) role for AWS AppConfig to monitor ``AlarmArn`` .
2297
+
2298
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-environment-monitor.html#cfn-appconfig-environment-monitor-alarmrolearn
2299
+ '''
2300
+ result = self._values.get("alarm_role_arn")
2301
+ return typing.cast(typing.Optional[builtins.str], result)
2302
+
2303
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2304
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2305
+
2306
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2307
+ return not (rhs == self)
2308
+
2309
+ def __repr__(self) -> str:
2310
+ return "MonitorProperty(%s)" % ", ".join(
2311
+ k + "=" + repr(v) for k, v in self._values.items()
2312
+ )
2313
+
2314
+ @jsii.data_type(
2315
+ jsii_type="aws-cdk-lib.aws_appconfig.CfnEnvironment.MonitorsProperty",
2316
+ jsii_struct_bases=[],
2317
+ name_mapping={"alarm_arn": "alarmArn", "alarm_role_arn": "alarmRoleArn"},
2318
+ )
2319
+ class MonitorsProperty:
2320
+ def __init__(
2321
+ self,
2322
+ *,
2323
+ alarm_arn: typing.Optional[builtins.str] = None,
2324
+ alarm_role_arn: typing.Optional[builtins.str] = None,
2325
+ ) -> None:
2326
+ '''
2327
+ :param alarm_arn:
2328
+ :param alarm_role_arn:
2329
+
2249
2330
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-environment-monitors.html
2250
2331
  :exampleMetadata: fixture=_generated
2251
2332
 
@@ -2272,8 +2353,7 @@ class CfnEnvironment(
2272
2353
 
2273
2354
  @builtins.property
2274
2355
  def alarm_arn(self) -> typing.Optional[builtins.str]:
2275
- '''Amazon Resource Name (ARN) of the Amazon CloudWatch alarm.
2276
-
2356
+ '''
2277
2357
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-environment-monitors.html#cfn-appconfig-environment-monitors-alarmarn
2278
2358
  '''
2279
2359
  result = self._values.get("alarm_arn")
@@ -2281,8 +2361,7 @@ class CfnEnvironment(
2281
2361
 
2282
2362
  @builtins.property
2283
2363
  def alarm_role_arn(self) -> typing.Optional[builtins.str]:
2284
- '''ARN of an AWS Identity and Access Management (IAM) role for AWS AppConfig to monitor ``AlarmArn`` .
2285
-
2364
+ '''
2286
2365
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-environment-monitors.html#cfn-appconfig-environment-monitors-alarmrolearn
2287
2366
  '''
2288
2367
  result = self._values.get("alarm_role_arn")
@@ -2311,12 +2390,9 @@ class CfnEnvironment(
2311
2390
  key: typing.Optional[builtins.str] = None,
2312
2391
  value: typing.Optional[builtins.str] = None,
2313
2392
  ) -> None:
2314
- '''Metadata to assign to the environment.
2315
-
2316
- Tags help organize and categorize your AWS AppConfig resources. Each tag consists of a key and an optional value, both of which you define.
2317
-
2318
- :param key: The key-value string map. The valid character set is ``[a-zA-Z+-=._:/]`` . The tag key can be up to 128 characters and must not start with ``aws:`` .
2319
- :param value: The tag value can be up to 256 characters.
2393
+ '''
2394
+ :param key:
2395
+ :param value:
2320
2396
 
2321
2397
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-environment-tags.html
2322
2398
  :exampleMetadata: fixture=_generated
@@ -2344,10 +2420,7 @@ class CfnEnvironment(
2344
2420
 
2345
2421
  @builtins.property
2346
2422
  def key(self) -> typing.Optional[builtins.str]:
2347
- '''The key-value string map.
2348
-
2349
- The valid character set is ``[a-zA-Z+-=._:/]`` . The tag key can be up to 128 characters and must not start with ``aws:`` .
2350
-
2423
+ '''
2351
2424
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-environment-tags.html#cfn-appconfig-environment-tags-key
2352
2425
  '''
2353
2426
  result = self._values.get("key")
@@ -2355,8 +2428,7 @@ class CfnEnvironment(
2355
2428
 
2356
2429
  @builtins.property
2357
2430
  def value(self) -> typing.Optional[builtins.str]:
2358
- '''The tag value can be up to 256 characters.
2359
-
2431
+ '''
2360
2432
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-environment-tags.html#cfn-appconfig-environment-tags-value
2361
2433
  '''
2362
2434
  result = self._values.get("value")
@@ -3576,6 +3648,15 @@ class CfnHostedConfigurationVersion(
3576
3648
  '''
3577
3649
  return typing.cast(builtins.str, jsii.get(self, "attrId"))
3578
3650
 
3651
+ @builtins.property
3652
+ @jsii.member(jsii_name="attrVersionNumber")
3653
+ def attr_version_number(self) -> builtins.str:
3654
+ '''The configuration version.
3655
+
3656
+ :cloudformationAttribute: VersionNumber
3657
+ '''
3658
+ return typing.cast(builtins.str, jsii.get(self, "attrVersionNumber"))
3659
+
3579
3660
  @builtins.property
3580
3661
  @jsii.member(jsii_name="cfnProperties")
3581
3662
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
@@ -4278,6 +4359,14 @@ def _typecheckingstub__60701727c0b2b8f0404d231ccc24899f35678bacc781ed4c6443de1b1
4278
4359
  """Type checking stubs"""
4279
4360
  pass
4280
4361
 
4362
+ def _typecheckingstub__252b3a605905895f1b8ffc133b32547c64db1b58b121d4f635ec61960b027938(
4363
+ *,
4364
+ alarm_arn: builtins.str,
4365
+ alarm_role_arn: typing.Optional[builtins.str] = None,
4366
+ ) -> None:
4367
+ """Type checking stubs"""
4368
+ pass
4369
+
4281
4370
  def _typecheckingstub__43d91f41d1c9d1acd545d0999d47687e0e5b7be03ec08728e3c5aa73ff76549f(
4282
4371
  *,
4283
4372
  alarm_arn: typing.Optional[builtins.str] = None,
@@ -5926,6 +5926,8 @@ class CfnGraphQLApi(
5926
5926
  # The values are placeholders you should change.
5927
5927
  from aws_cdk import aws_appsync as appsync
5928
5928
 
5929
+ # environment_variables: Any
5930
+
5929
5931
  cfn_graph_qLApi = appsync.CfnGraphQLApi(self, "MyCfnGraphQLApi",
5930
5932
  authentication_type="authenticationType",
5931
5933
  name="name",
@@ -5953,6 +5955,7 @@ class CfnGraphQLApi(
5953
5955
  )
5954
5956
  )],
5955
5957
  api_type="apiType",
5958
+ environment_variables=environment_variables,
5956
5959
  introspection_config="introspectionConfig",
5957
5960
  lambda_authorizer_config=appsync.CfnGraphQLApi.LambdaAuthorizerConfigProperty(
5958
5961
  authorizer_result_ttl_in_seconds=123,
@@ -5998,6 +6001,7 @@ class CfnGraphQLApi(
5998
6001
  name: builtins.str,
5999
6002
  additional_authentication_providers: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnGraphQLApi.AdditionalAuthenticationProviderProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
6000
6003
  api_type: typing.Optional[builtins.str] = None,
6004
+ environment_variables: typing.Any = None,
6001
6005
  introspection_config: typing.Optional[builtins.str] = None,
6002
6006
  lambda_authorizer_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnGraphQLApi.LambdaAuthorizerConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
6003
6007
  log_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnGraphQLApi.LogConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -6018,6 +6022,7 @@ class CfnGraphQLApi(
6018
6022
  :param name: The API name.
6019
6023
  :param additional_authentication_providers: A list of additional authentication providers for the ``GraphqlApi`` API.
6020
6024
  :param api_type: The value that indicates whether the GraphQL API is a standard API ( ``GRAPHQL`` ) or merged API ( ``MERGED`` ). *WARNING* : If the ``ApiType`` has not been defined, *explicitly* setting it to ``GRAPHQL`` in a template/stack update will result in an API replacement and new DNS values. The following values are valid: ``GRAPHQL | MERGED``
6025
+ :param environment_variables:
6021
6026
  :param introspection_config: Sets the value of the GraphQL API to enable ( ``ENABLED`` ) or disable ( ``DISABLED`` ) introspection. If no value is provided, the introspection configuration will be set to ``ENABLED`` by default. This field will produce an error if the operation attempts to use the introspection feature while this field is disabled. For more information about introspection, see `GraphQL introspection <https://docs.aws.amazon.com/https://graphql.org/learn/introspection/>`_ .
6022
6027
  :param lambda_authorizer_config: A ``LambdaAuthorizerConfig`` holds configuration on how to authorize AWS AppSync API access when using the ``AWS_LAMBDA`` authorizer mode. Be aware that an AWS AppSync API may have only one Lambda authorizer configured at a time.
6023
6028
  :param log_config: The Amazon CloudWatch Logs configuration.
@@ -6040,6 +6045,7 @@ class CfnGraphQLApi(
6040
6045
  name=name,
6041
6046
  additional_authentication_providers=additional_authentication_providers,
6042
6047
  api_type=api_type,
6048
+ environment_variables=environment_variables,
6043
6049
  introspection_config=introspection_config,
6044
6050
  lambda_authorizer_config=lambda_authorizer_config,
6045
6051
  log_config=log_config,
@@ -6228,6 +6234,18 @@ class CfnGraphQLApi(
6228
6234
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6229
6235
  jsii.set(self, "apiType", value)
6230
6236
 
6237
+ @builtins.property
6238
+ @jsii.member(jsii_name="environmentVariables")
6239
+ def environment_variables(self) -> typing.Any:
6240
+ return typing.cast(typing.Any, jsii.get(self, "environmentVariables"))
6241
+
6242
+ @environment_variables.setter
6243
+ def environment_variables(self, value: typing.Any) -> None:
6244
+ if __debug__:
6245
+ type_hints = typing.get_type_hints(_typecheckingstub__792a537db4d8dd69989dc47efb8d28c555d2094bfd09895222925621c8b1eeba)
6246
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6247
+ jsii.set(self, "environmentVariables", value)
6248
+
6231
6249
  @builtins.property
6232
6250
  @jsii.member(jsii_name="introspectionConfig")
6233
6251
  def introspection_config(self) -> typing.Optional[builtins.str]:
@@ -7060,6 +7078,7 @@ class CfnGraphQLApi(
7060
7078
  "name": "name",
7061
7079
  "additional_authentication_providers": "additionalAuthenticationProviders",
7062
7080
  "api_type": "apiType",
7081
+ "environment_variables": "environmentVariables",
7063
7082
  "introspection_config": "introspectionConfig",
7064
7083
  "lambda_authorizer_config": "lambdaAuthorizerConfig",
7065
7084
  "log_config": "logConfig",
@@ -7082,6 +7101,7 @@ class CfnGraphQLApiProps:
7082
7101
  name: builtins.str,
7083
7102
  additional_authentication_providers: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGraphQLApi.AdditionalAuthenticationProviderProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
7084
7103
  api_type: typing.Optional[builtins.str] = None,
7104
+ environment_variables: typing.Any = None,
7085
7105
  introspection_config: typing.Optional[builtins.str] = None,
7086
7106
  lambda_authorizer_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGraphQLApi.LambdaAuthorizerConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
7087
7107
  log_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGraphQLApi.LogConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -7101,6 +7121,7 @@ class CfnGraphQLApiProps:
7101
7121
  :param name: The API name.
7102
7122
  :param additional_authentication_providers: A list of additional authentication providers for the ``GraphqlApi`` API.
7103
7123
  :param api_type: The value that indicates whether the GraphQL API is a standard API ( ``GRAPHQL`` ) or merged API ( ``MERGED`` ). *WARNING* : If the ``ApiType`` has not been defined, *explicitly* setting it to ``GRAPHQL`` in a template/stack update will result in an API replacement and new DNS values. The following values are valid: ``GRAPHQL | MERGED``
7124
+ :param environment_variables:
7104
7125
  :param introspection_config: Sets the value of the GraphQL API to enable ( ``ENABLED`` ) or disable ( ``DISABLED`` ) introspection. If no value is provided, the introspection configuration will be set to ``ENABLED`` by default. This field will produce an error if the operation attempts to use the introspection feature while this field is disabled. For more information about introspection, see `GraphQL introspection <https://docs.aws.amazon.com/https://graphql.org/learn/introspection/>`_ .
7105
7126
  :param lambda_authorizer_config: A ``LambdaAuthorizerConfig`` holds configuration on how to authorize AWS AppSync API access when using the ``AWS_LAMBDA`` authorizer mode. Be aware that an AWS AppSync API may have only one Lambda authorizer configured at a time.
7106
7127
  :param log_config: The Amazon CloudWatch Logs configuration.
@@ -7123,6 +7144,8 @@ class CfnGraphQLApiProps:
7123
7144
  # The values are placeholders you should change.
7124
7145
  from aws_cdk import aws_appsync as appsync
7125
7146
 
7147
+ # environment_variables: Any
7148
+
7126
7149
  cfn_graph_qLApi_props = appsync.CfnGraphQLApiProps(
7127
7150
  authentication_type="authenticationType",
7128
7151
  name="name",
@@ -7150,6 +7173,7 @@ class CfnGraphQLApiProps:
7150
7173
  )
7151
7174
  )],
7152
7175
  api_type="apiType",
7176
+ environment_variables=environment_variables,
7153
7177
  introspection_config="introspectionConfig",
7154
7178
  lambda_authorizer_config=appsync.CfnGraphQLApi.LambdaAuthorizerConfigProperty(
7155
7179
  authorizer_result_ttl_in_seconds=123,
@@ -7191,6 +7215,7 @@ class CfnGraphQLApiProps:
7191
7215
  check_type(argname="argument name", value=name, expected_type=type_hints["name"])
7192
7216
  check_type(argname="argument additional_authentication_providers", value=additional_authentication_providers, expected_type=type_hints["additional_authentication_providers"])
7193
7217
  check_type(argname="argument api_type", value=api_type, expected_type=type_hints["api_type"])
7218
+ check_type(argname="argument environment_variables", value=environment_variables, expected_type=type_hints["environment_variables"])
7194
7219
  check_type(argname="argument introspection_config", value=introspection_config, expected_type=type_hints["introspection_config"])
7195
7220
  check_type(argname="argument lambda_authorizer_config", value=lambda_authorizer_config, expected_type=type_hints["lambda_authorizer_config"])
7196
7221
  check_type(argname="argument log_config", value=log_config, expected_type=type_hints["log_config"])
@@ -7211,6 +7236,8 @@ class CfnGraphQLApiProps:
7211
7236
  self._values["additional_authentication_providers"] = additional_authentication_providers
7212
7237
  if api_type is not None:
7213
7238
  self._values["api_type"] = api_type
7239
+ if environment_variables is not None:
7240
+ self._values["environment_variables"] = environment_variables
7214
7241
  if introspection_config is not None:
7215
7242
  self._values["introspection_config"] = introspection_config
7216
7243
  if lambda_authorizer_config is not None:
@@ -7284,6 +7311,14 @@ class CfnGraphQLApiProps:
7284
7311
  result = self._values.get("api_type")
7285
7312
  return typing.cast(typing.Optional[builtins.str], result)
7286
7313
 
7314
+ @builtins.property
7315
+ def environment_variables(self) -> typing.Any:
7316
+ '''
7317
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-environmentvariables
7318
+ '''
7319
+ result = self._values.get("environment_variables")
7320
+ return typing.cast(typing.Any, result)
7321
+
7287
7322
  @builtins.property
7288
7323
  def introspection_config(self) -> typing.Optional[builtins.str]:
7289
7324
  '''Sets the value of the GraphQL API to enable ( ``ENABLED`` ) or disable ( ``DISABLED`` ) introspection.
@@ -17456,6 +17491,7 @@ def _typecheckingstub__54e0e0488820e5a410f75b28895d4271db1e58bd6c71e17fd04fcf3fa
17456
17491
  name: builtins.str,
17457
17492
  additional_authentication_providers: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGraphQLApi.AdditionalAuthenticationProviderProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
17458
17493
  api_type: typing.Optional[builtins.str] = None,
17494
+ environment_variables: typing.Any = None,
17459
17495
  introspection_config: typing.Optional[builtins.str] = None,
17460
17496
  lambda_authorizer_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGraphQLApi.LambdaAuthorizerConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
17461
17497
  log_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGraphQLApi.LogConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -17508,6 +17544,12 @@ def _typecheckingstub__368741733832ba6f2bd8963ff6065a1471cd003f84d5567a1b4ac4e31
17508
17544
  """Type checking stubs"""
17509
17545
  pass
17510
17546
 
17547
+ def _typecheckingstub__792a537db4d8dd69989dc47efb8d28c555d2094bfd09895222925621c8b1eeba(
17548
+ value: typing.Any,
17549
+ ) -> None:
17550
+ """Type checking stubs"""
17551
+ pass
17552
+
17511
17553
  def _typecheckingstub__7ca0c2dbfaf4550bfe469340af089f6b3976a3a9f255e89bd0212c6feee3a4f2(
17512
17554
  value: typing.Optional[builtins.str],
17513
17555
  ) -> None:
@@ -17643,6 +17685,7 @@ def _typecheckingstub__c30fb6e2b0bf2994b166c6091173ca1bbdf2a226ff26da5bfc0c35067
17643
17685
  name: builtins.str,
17644
17686
  additional_authentication_providers: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGraphQLApi.AdditionalAuthenticationProviderProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
17645
17687
  api_type: typing.Optional[builtins.str] = None,
17688
+ environment_variables: typing.Any = None,
17646
17689
  introspection_config: typing.Optional[builtins.str] = None,
17647
17690
  lambda_authorizer_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGraphQLApi.LambdaAuthorizerConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
17648
17691
  log_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGraphQLApi.LogConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -3307,8 +3307,8 @@ class CfnAutoScalingGroup(
3307
3307
 
3308
3308
  For more information, see `Instance maintenance policies <https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-instance-maintenance-policy.html>`_ in the *Amazon EC2 Auto Scaling User Guide* .
3309
3309
 
3310
- :param max_healthy_percentage: Specifies the upper threshold as a percentage of the desired capacity of the Auto Scaling group. It represents the maximum percentage of the group that can be in service and healthy, or pending, to support your workload when replacing instances. Value range is 100 to 200. After it's set, a value of ``-1`` will clear the previously set value. Both ``MinHealthyPercentage`` and ``MaxHealthyPercentage`` must be specified, and the difference between them cannot be greater than 100. A large range increases the number of instances that can be replaced at the same time.
3311
- :param min_healthy_percentage: Specifies the lower threshold as a percentage of the desired capacity of the Auto Scaling group. It represents the minimum percentage of the group to keep in service, healthy, and ready to use to support your workload when replacing instances. Value range is 0 to 100. After it's set, a value of ``-1`` will clear the previously set value.
3310
+ :param max_healthy_percentage: Specifies the upper threshold as a percentage of the desired capacity of the Auto Scaling group. It represents the maximum percentage of the group that can be in service and healthy, or pending, to support your workload when replacing instances. Value range is 100 to 200. To clear a previously set value, specify a value of ``-1`` . Both ``MinHealthyPercentage`` and ``MaxHealthyPercentage`` must be specified, and the difference between them cannot be greater than 100. A large range increases the number of instances that can be replaced at the same time.
3311
+ :param min_healthy_percentage: Specifies the lower threshold as a percentage of the desired capacity of the Auto Scaling group. It represents the minimum percentage of the group to keep in service, healthy, and ready to use to support your workload when replacing instances. Value range is 0 to 100. To clear a previously set value, specify a value of ``-1`` .
3312
3312
 
3313
3313
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-instancemaintenancepolicy.html
3314
3314
  :exampleMetadata: fixture=_generated
@@ -3338,7 +3338,7 @@ class CfnAutoScalingGroup(
3338
3338
  def max_healthy_percentage(self) -> typing.Optional[jsii.Number]:
3339
3339
  '''Specifies the upper threshold as a percentage of the desired capacity of the Auto Scaling group.
3340
3340
 
3341
- It represents the maximum percentage of the group that can be in service and healthy, or pending, to support your workload when replacing instances. Value range is 100 to 200. After it's set, a value of ``-1`` will clear the previously set value.
3341
+ It represents the maximum percentage of the group that can be in service and healthy, or pending, to support your workload when replacing instances. Value range is 100 to 200. To clear a previously set value, specify a value of ``-1`` .
3342
3342
 
3343
3343
  Both ``MinHealthyPercentage`` and ``MaxHealthyPercentage`` must be specified, and the difference between them cannot be greater than 100. A large range increases the number of instances that can be replaced at the same time.
3344
3344
 
@@ -3351,7 +3351,7 @@ class CfnAutoScalingGroup(
3351
3351
  def min_healthy_percentage(self) -> typing.Optional[jsii.Number]:
3352
3352
  '''Specifies the lower threshold as a percentage of the desired capacity of the Auto Scaling group.
3353
3353
 
3354
- It represents the minimum percentage of the group to keep in service, healthy, and ready to use to support your workload when replacing instances. Value range is 0 to 100. After it's set, a value of ``-1`` will clear the previously set value.
3354
+ It represents the minimum percentage of the group to keep in service, healthy, and ready to use to support your workload when replacing instances. Value range is 0 to 100. To clear a previously set value, specify a value of ``-1`` .
3355
3355
 
3356
3356
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-instancemaintenancepolicy.html#cfn-autoscaling-autoscalinggroup-instancemaintenancepolicy-minhealthypercentage
3357
3357
  '''
@@ -3465,13 +3465,13 @@ class CfnAutoScalingGroup(
3465
3465
  :param instance_generations: Indicates whether current or previous generation instance types are included. - For current generation instance types, specify ``current`` . The current generation includes EC2 instance types currently recommended for use. This typically includes the latest two to three generations in each instance family. For more information, see `Instance types <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html>`_ in the *Amazon EC2 User Guide for Linux Instances* . - For previous generation instance types, specify ``previous`` . Default: Any current or previous generation
3466
3466
  :param local_storage: Indicates whether instance types with instance store volumes are included, excluded, or required. For more information, see `Amazon EC2 instance store <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html>`_ in the *Amazon EC2 User Guide for Linux Instances* . Default: ``included``
3467
3467
  :param local_storage_types: Indicates the type of local storage that is required. - For instance types with hard disk drive (HDD) storage, specify ``hdd`` . - For instance types with solid state drive (SSD) storage, specify ``ssd`` . Default: Any local storage type
3468
- :param max_spot_price_as_percentage_of_optimal_on_demand_price:
3468
+ :param max_spot_price_as_percentage_of_optimal_on_demand_price: [Price protection] The price protection threshold for Spot Instances, as a percentage of an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from either the lowest priced current generation instance types or, failing that, the lowest priced previous generation instance types that match your attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price exceeds your specified threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To indicate no price protection threshold, specify a high value, such as ``999999`` . If you set ``DesiredCapacityType`` to ``vcpu`` or ``memory-mib`` , the price protection threshold is based on the per-vCPU or per-memory price instead of the per instance price. .. epigraph:: Only one of ``SpotMaxPricePercentageOverLowestPrice`` or ``MaxSpotPriceAsPercentageOfOptimalOnDemandPrice`` can be specified. If you don't specify either, then ``SpotMaxPricePercentageOverLowestPrice`` is used and the value for that parameter defaults to ``100`` .
3469
3469
  :param memory_gib_per_v_cpu: The minimum and maximum amount of memory per vCPU for an instance type, in GiB. Default: No minimum or maximum limits
3470
3470
  :param network_bandwidth_gbps: The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default: No minimum or maximum limits
3471
3471
  :param network_interface_count: The minimum and maximum number of network interfaces for an instance type. Default: No minimum or maximum limits
3472
- :param on_demand_max_price_percentage_over_lowest_price: The price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, expressed as a percentage higher than the least expensive current generation M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as ``999999`` . If you set ``DesiredCapacityType`` to ``vcpu`` or ``memory-mib`` , the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price. Default: ``20``
3472
+ :param on_demand_max_price_percentage_over_lowest_price: [Price protection] The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from either the lowest priced current generation instance types or, failing that, the lowest priced previous generation instance types that match your attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price exceeds your specified threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as ``999999`` . If you set ``DesiredCapacityType`` to ``vcpu`` or ``memory-mib`` , the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per instance price. Default: ``20``
3473
3473
  :param require_hibernate_support: Indicates whether instance types must provide On-Demand Instance hibernation support. Default: ``false``
3474
- :param spot_max_price_percentage_over_lowest_price: The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the least expensive current generation M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as ``999999`` . If you set ``DesiredCapacityType`` to ``vcpu`` or ``memory-mib`` , the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price. Default: ``100``
3474
+ :param spot_max_price_percentage_over_lowest_price: [Price protection] The price protection threshold for Spot Instances, as a percentage higher than an identified Spot price. The identified Spot price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from either the lowest priced current generation instance types or, failing that, the lowest priced previous generation instance types that match your attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price exceeds your specified threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as ``999999`` . If you set ``DesiredCapacityType`` to ``vcpu`` or ``memory-mib`` , the price protection threshold is based on the per-vCPU or per-memory price instead of the per instance price. .. epigraph:: Only one of ``SpotMaxPricePercentageOverLowestPrice`` or ``MaxSpotPriceAsPercentageOfOptimalOnDemandPrice`` can be specified. Default: ``100``
3475
3475
  :param total_local_storage_gb: The minimum and maximum total local storage size for an instance type, in GB. Default: No minimum or maximum limits
3476
3476
 
3477
3477
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-instancerequirements.html
@@ -3818,7 +3818,19 @@ class CfnAutoScalingGroup(
3818
3818
  def max_spot_price_as_percentage_of_optimal_on_demand_price(
3819
3819
  self,
3820
3820
  ) -> typing.Optional[jsii.Number]:
3821
- '''
3821
+ '''[Price protection] The price protection threshold for Spot Instances, as a percentage of an identified On-Demand price.
3822
+
3823
+ The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from either the lowest priced current generation instance types or, failing that, the lowest priced previous generation instance types that match your attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price exceeds your specified threshold.
3824
+
3825
+ The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage.
3826
+
3827
+ To indicate no price protection threshold, specify a high value, such as ``999999`` .
3828
+
3829
+ If you set ``DesiredCapacityType`` to ``vcpu`` or ``memory-mib`` , the price protection threshold is based on the per-vCPU or per-memory price instead of the per instance price.
3830
+ .. epigraph::
3831
+
3832
+ Only one of ``SpotMaxPricePercentageOverLowestPrice`` or ``MaxSpotPriceAsPercentageOfOptimalOnDemandPrice`` can be specified. If you don't specify either, then ``SpotMaxPricePercentageOverLowestPrice`` is used and the value for that parameter defaults to ``100`` .
3833
+
3822
3834
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-instancerequirements.html#cfn-autoscaling-autoscalinggroup-instancerequirements-maxspotpriceaspercentageofoptimalondemandprice
3823
3835
  '''
3824
3836
  result = self._values.get("max_spot_price_as_percentage_of_optimal_on_demand_price")
@@ -3867,11 +3879,15 @@ class CfnAutoScalingGroup(
3867
3879
  def on_demand_max_price_percentage_over_lowest_price(
3868
3880
  self,
3869
3881
  ) -> typing.Optional[jsii.Number]:
3870
- '''The price protection threshold for On-Demand Instances.
3882
+ '''[Price protection] The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price.
3883
+
3884
+ The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from either the lowest priced current generation instance types or, failing that, the lowest priced previous generation instance types that match your attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price exceeds your specified threshold.
3871
3885
 
3872
- This is the maximum you’ll pay for an On-Demand Instance, expressed as a percentage higher than the least expensive current generation M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as ``999999`` .
3886
+ The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage.
3873
3887
 
3874
- If you set ``DesiredCapacityType`` to ``vcpu`` or ``memory-mib`` , the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price.
3888
+ To turn off price protection, specify a high value, such as ``999999`` .
3889
+
3890
+ If you set ``DesiredCapacityType`` to ``vcpu`` or ``memory-mib`` , the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per instance price.
3875
3891
 
3876
3892
  Default: ``20``
3877
3893
 
@@ -3897,11 +3913,18 @@ class CfnAutoScalingGroup(
3897
3913
  def spot_max_price_percentage_over_lowest_price(
3898
3914
  self,
3899
3915
  ) -> typing.Optional[jsii.Number]:
3900
- '''The price protection threshold for Spot Instances.
3916
+ '''[Price protection] The price protection threshold for Spot Instances, as a percentage higher than an identified Spot price.
3917
+
3918
+ The identified Spot price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from either the lowest priced current generation instance types or, failing that, the lowest priced previous generation instance types that match your attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price exceeds your specified threshold.
3901
3919
 
3902
- This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the least expensive current generation M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as ``999999`` .
3920
+ The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage.
3921
+
3922
+ To turn off price protection, specify a high value, such as ``999999`` .
3923
+
3924
+ If you set ``DesiredCapacityType`` to ``vcpu`` or ``memory-mib`` , the price protection threshold is based on the per-vCPU or per-memory price instead of the per instance price.
3925
+ .. epigraph::
3903
3926
 
3904
- If you set ``DesiredCapacityType`` to ``vcpu`` or ``memory-mib`` , the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price.
3927
+ Only one of ``SpotMaxPricePercentageOverLowestPrice`` or ``MaxSpotPriceAsPercentageOfOptimalOnDemandPrice`` can be specified.
3905
3928
 
3906
3929
  Default: ``100``
3907
3930