aws-cdk-lib 2.219.0__py3-none-any.whl → 2.220.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 (51) hide show
  1. aws_cdk/__init__.py +12 -17
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.219.0.jsii.tgz → aws-cdk-lib@2.220.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_applicationsignals/__init__.py +450 -2
  5. aws_cdk/aws_arcregionswitch/__init__.py +8 -0
  6. aws_cdk/aws_backup/__init__.py +29 -0
  7. aws_cdk/aws_batch/__init__.py +109 -7
  8. aws_cdk/aws_bedrock/__init__.py +44 -16
  9. aws_cdk/aws_bedrockagentcore/__init__.py +7872 -1718
  10. aws_cdk/aws_cloudfront/experimental/__init__.py +4 -0
  11. aws_cdk/aws_cloudfront_origins/__init__.py +87 -6
  12. aws_cdk/aws_cloudwatch/__init__.py +5 -5
  13. aws_cdk/aws_cognito/__init__.py +6 -4
  14. aws_cdk/aws_dax/__init__.py +12 -3
  15. aws_cdk/aws_directoryservice/__init__.py +29 -0
  16. aws_cdk/aws_ec2/__init__.py +99 -8
  17. aws_cdk/aws_ecs/__init__.py +342 -134
  18. aws_cdk/aws_eks/__init__.py +114 -9
  19. aws_cdk/aws_fsx/__init__.py +4 -4
  20. aws_cdk/aws_imagebuilder/__init__.py +397 -0
  21. aws_cdk/aws_iotsitewise/__init__.py +136 -80
  22. aws_cdk/aws_kinesis/__init__.py +95 -4
  23. aws_cdk/aws_lambda/__init__.py +43 -0
  24. aws_cdk/aws_lightsail/__init__.py +584 -0
  25. aws_cdk/aws_logs/__init__.py +57 -0
  26. aws_cdk/aws_lookoutmetrics/__init__.py +14 -2
  27. aws_cdk/aws_m2/__init__.py +59 -13
  28. aws_cdk/aws_medialive/__init__.py +108 -0
  29. aws_cdk/aws_mwaa/__init__.py +5 -5
  30. aws_cdk/aws_neptune/__init__.py +133 -70
  31. aws_cdk/aws_networkmanager/__init__.py +29 -0
  32. aws_cdk/aws_observabilityadmin/__init__.py +1227 -83
  33. aws_cdk/aws_omics/__init__.py +7 -1
  34. aws_cdk/aws_opensearchservice/__init__.py +6 -0
  35. aws_cdk/aws_pcs/__init__.py +224 -33
  36. aws_cdk/aws_pinpoint/__init__.py +58 -0
  37. aws_cdk/aws_quicksight/__init__.py +80 -0
  38. aws_cdk/aws_rds/__init__.py +29 -23
  39. aws_cdk/aws_refactorspaces/__init__.py +18 -6
  40. aws_cdk/aws_route53/__init__.py +130 -6
  41. aws_cdk/aws_s3/__init__.py +29 -2
  42. aws_cdk/aws_s3objectlambda/__init__.py +44 -12
  43. aws_cdk/aws_servicecatalog/__init__.py +25 -20
  44. aws_cdk/aws_ssmquicksetup/__init__.py +3 -3
  45. aws_cdk/aws_synthetics/__init__.py +21 -1
  46. {aws_cdk_lib-2.219.0.dist-info → aws_cdk_lib-2.220.0.dist-info}/METADATA +1 -1
  47. {aws_cdk_lib-2.219.0.dist-info → aws_cdk_lib-2.220.0.dist-info}/RECORD +51 -51
  48. {aws_cdk_lib-2.219.0.dist-info → aws_cdk_lib-2.220.0.dist-info}/LICENSE +0 -0
  49. {aws_cdk_lib-2.219.0.dist-info → aws_cdk_lib-2.220.0.dist-info}/NOTICE +0 -0
  50. {aws_cdk_lib-2.219.0.dist-info → aws_cdk_lib-2.220.0.dist-info}/WHEEL +0 -0
  51. {aws_cdk_lib-2.219.0.dist-info → aws_cdk_lib-2.220.0.dist-info}/top_level.txt +0 -0
@@ -17,6 +17,8 @@ intake and aggregation.
17
17
  * [Write Permissions](#write-permissions)
18
18
  * [Custom Permissions](#custom-permissions)
19
19
  * [Metrics](#metrics)
20
+
21
+ * [Shard-level Metrics](#shard-level-metrics)
20
22
  * [Stream Consumers](#stream-consumers)
21
23
 
22
24
  * [Read Permissions](#read-permissions-1)
@@ -189,6 +191,40 @@ stream.metric_get_records_success()
189
191
  stream.metric_get_records_success(statistic="Maximum")
190
192
  ```
191
193
 
194
+ #### Shard-level Metrics
195
+
196
+ You can enable enhanced shard-level metrics for your Kinesis stream to get detailed monitoring of individual shards. Shard-level metrics provide more granular insights into the performance and health of your stream.
197
+
198
+ ```python
199
+ stream = kinesis.Stream(self, "MyStream",
200
+ shard_level_metrics=[kinesis.ShardLevelMetrics.ALL]
201
+ )
202
+ ```
203
+
204
+ You can also specify individual metrics that you want to monitor:
205
+
206
+ ```python
207
+ stream = kinesis.Stream(self, "MyStream",
208
+ shard_level_metrics=[kinesis.ShardLevelMetrics.INCOMING_BYTES, kinesis.ShardLevelMetrics.INCOMING_RECORDS, kinesis.ShardLevelMetrics.ITERATOR_AGE_MILLISECONDS, kinesis.ShardLevelMetrics.OUTGOING_BYTES, kinesis.ShardLevelMetrics.OUTGOING_RECORDS, kinesis.ShardLevelMetrics.READ_PROVISIONED_THROUGHPUT_EXCEEDED, kinesis.ShardLevelMetrics.WRITE_PROVISIONED_THROUGHPUT_EXCEEDED
209
+ ]
210
+ )
211
+ ```
212
+
213
+ Available shard-level metrics include:
214
+
215
+ * `INCOMING_BYTES` - The number of bytes successfully put to the shard
216
+ * `INCOMING_RECORDS` - The number of records successfully put to the shard
217
+ * `ITERATOR_AGE_MILLISECONDS` - The age of the last record in all GetRecords calls made against a shard
218
+ * `OUTGOING_BYTES` - The number of bytes retrieved from the shard
219
+ * `OUTGOING_RECORDS` - The number of records retrieved from the shard
220
+ * `READ_PROVISIONED_THROUGHPUT_EXCEEDED` - The number of GetRecords calls throttled for the shard
221
+ * `WRITE_PROVISIONED_THROUGHPUT_EXCEEDED` - The number of records rejected due to throttling for the shard
222
+ * `ALL` - All available metrics
223
+
224
+ Note: You cannot specify `ALL` together with other individual metrics. If you want all metrics, use `ALL` alone.
225
+
226
+ For more information about shard-level metrics, see [Monitoring the Amazon Kinesis Data Streams Service with Amazon CloudWatch](https://docs.aws.amazon.com/streams/latest/dev/monitoring-with-cloudwatch.html#kinesis-metrics-shard).
227
+
192
228
  ## Stream Consumers
193
229
 
194
230
  Creating stream consumers allow consumers to receive data from the stream using enhanced fan-out at a rate of up to 2 MiB per second for every shard.
@@ -377,7 +413,7 @@ class CfnResourcePolicyProps:
377
413
  ) -> None:
378
414
  '''Properties for defining a ``CfnResourcePolicy``.
379
415
 
380
- :param resource_arn: This is the name for the resource policy.
416
+ :param resource_arn: Returns the Amazon Resource Name (ARN) of the resource-based policy.
381
417
  :param resource_policy: This is the description for the resource policy.
382
418
 
383
419
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-resourcepolicy.html
@@ -407,7 +443,7 @@ class CfnResourcePolicyProps:
407
443
 
408
444
  @builtins.property
409
445
  def resource_arn(self) -> builtins.str:
410
- '''This is the name for the resource policy.
446
+ '''Returns the Amazon Resource Name (ARN) of the resource-based policy.
411
447
 
412
448
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-resourcepolicy.html#cfn-kinesis-resourcepolicy-resourcearn
413
449
  '''
@@ -3274,6 +3310,38 @@ class ResourcePolicyReference:
3274
3310
  )
3275
3311
 
3276
3312
 
3313
+ @jsii.enum(jsii_type="aws-cdk-lib.aws_kinesis.ShardLevelMetrics")
3314
+ class ShardLevelMetrics(enum.Enum):
3315
+ '''Enhanced shard-level metrics.
3316
+
3317
+ :see: https://docs.aws.amazon.com/streams/latest/dev/monitoring-with-cloudwatch.html#kinesis-metrics-shard
3318
+ :exampleMetadata: infused
3319
+
3320
+ Example::
3321
+
3322
+ stream = kinesis.Stream(self, "MyStream",
3323
+ shard_level_metrics=[kinesis.ShardLevelMetrics.ALL]
3324
+ )
3325
+ '''
3326
+
3327
+ INCOMING_BYTES = "INCOMING_BYTES"
3328
+ '''The number of bytes successfully put to the shard over the specified time period.'''
3329
+ INCOMING_RECORDS = "INCOMING_RECORDS"
3330
+ '''The number of records successfully put to the shard over the specified time period.'''
3331
+ ITERATOR_AGE_MILLISECONDS = "ITERATOR_AGE_MILLISECONDS"
3332
+ '''The age of the last record in all GetRecords calls made against a shard, measured over the specified time period.'''
3333
+ OUTGOING_BYTES = "OUTGOING_BYTES"
3334
+ '''The number of bytes retrieved from the shard, measured over the specified time period.'''
3335
+ OUTGOING_RECORDS = "OUTGOING_RECORDS"
3336
+ '''The number of records retrieved from the shard, measured over the specified time period.'''
3337
+ READ_PROVISIONED_THROUGHPUT_EXCEEDED = "READ_PROVISIONED_THROUGHPUT_EXCEEDED"
3338
+ '''The number of GetRecords calls throttled for the shard over the specified time period.'''
3339
+ WRITE_PROVISIONED_THROUGHPUT_EXCEEDED = "WRITE_PROVISIONED_THROUGHPUT_EXCEEDED"
3340
+ '''The number of records rejected due to throttling for the shard over the specified time period.'''
3341
+ ALL = "ALL"
3342
+ '''All metrics.'''
3343
+
3344
+
3277
3345
  @jsii.implements(IStream)
3278
3346
  class Stream(
3279
3347
  _Resource_45bc6135,
@@ -3311,6 +3379,7 @@ class Stream(
3311
3379
  removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
3312
3380
  retention_period: typing.Optional[_Duration_4839e8c3] = None,
3313
3381
  shard_count: typing.Optional[jsii.Number] = None,
3382
+ shard_level_metrics: typing.Optional[typing.Sequence[ShardLevelMetrics]] = None,
3314
3383
  stream_mode: typing.Optional["StreamMode"] = None,
3315
3384
  stream_name: typing.Optional[builtins.str] = None,
3316
3385
  ) -> None:
@@ -3322,6 +3391,7 @@ class Stream(
3322
3391
  :param removal_policy: Policy to apply when the stream is removed from the stack. Default: RemovalPolicy.RETAIN
3323
3392
  :param retention_period: The number of hours for the data records that are stored in shards to remain accessible. Default: Duration.hours(24)
3324
3393
  :param shard_count: The number of shards for the stream. Can only be provided if streamMode is Provisioned. Default: 1
3394
+ :param shard_level_metrics: A list of shard-level metrics in properties to enable enhanced monitoring mode. Default: undefined - AWS Kinesis default is disabled
3325
3395
  :param stream_mode: The capacity mode of this stream. Default: StreamMode.PROVISIONED
3326
3396
  :param stream_name: Enforces a particular physical stream name. Default:
3327
3397
  '''
@@ -3335,6 +3405,7 @@ class Stream(
3335
3405
  removal_policy=removal_policy,
3336
3406
  retention_period=retention_period,
3337
3407
  shard_count=shard_count,
3408
+ shard_level_metrics=shard_level_metrics,
3338
3409
  stream_mode=stream_mode,
3339
3410
  stream_name=stream_name,
3340
3411
  )
@@ -5034,6 +5105,7 @@ class StreamMode(enum.Enum):
5034
5105
  "removal_policy": "removalPolicy",
5035
5106
  "retention_period": "retentionPeriod",
5036
5107
  "shard_count": "shardCount",
5108
+ "shard_level_metrics": "shardLevelMetrics",
5037
5109
  "stream_mode": "streamMode",
5038
5110
  "stream_name": "streamName",
5039
5111
  },
@@ -5047,6 +5119,7 @@ class StreamProps:
5047
5119
  removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
5048
5120
  retention_period: typing.Optional[_Duration_4839e8c3] = None,
5049
5121
  shard_count: typing.Optional[jsii.Number] = None,
5122
+ shard_level_metrics: typing.Optional[typing.Sequence[ShardLevelMetrics]] = None,
5050
5123
  stream_mode: typing.Optional[StreamMode] = None,
5051
5124
  stream_name: typing.Optional[builtins.str] = None,
5052
5125
  ) -> None:
@@ -5057,6 +5130,7 @@ class StreamProps:
5057
5130
  :param removal_policy: Policy to apply when the stream is removed from the stack. Default: RemovalPolicy.RETAIN
5058
5131
  :param retention_period: The number of hours for the data records that are stored in shards to remain accessible. Default: Duration.hours(24)
5059
5132
  :param shard_count: The number of shards for the stream. Can only be provided if streamMode is Provisioned. Default: 1
5133
+ :param shard_level_metrics: A list of shard-level metrics in properties to enable enhanced monitoring mode. Default: undefined - AWS Kinesis default is disabled
5060
5134
  :param stream_mode: The capacity mode of this stream. Default: StreamMode.PROVISIONED
5061
5135
  :param stream_name: Enforces a particular physical stream name. Default:
5062
5136
 
@@ -5078,6 +5152,7 @@ class StreamProps:
5078
5152
  check_type(argname="argument removal_policy", value=removal_policy, expected_type=type_hints["removal_policy"])
5079
5153
  check_type(argname="argument retention_period", value=retention_period, expected_type=type_hints["retention_period"])
5080
5154
  check_type(argname="argument shard_count", value=shard_count, expected_type=type_hints["shard_count"])
5155
+ check_type(argname="argument shard_level_metrics", value=shard_level_metrics, expected_type=type_hints["shard_level_metrics"])
5081
5156
  check_type(argname="argument stream_mode", value=stream_mode, expected_type=type_hints["stream_mode"])
5082
5157
  check_type(argname="argument stream_name", value=stream_name, expected_type=type_hints["stream_name"])
5083
5158
  self._values: typing.Dict[builtins.str, typing.Any] = {}
@@ -5091,6 +5166,8 @@ class StreamProps:
5091
5166
  self._values["retention_period"] = retention_period
5092
5167
  if shard_count is not None:
5093
5168
  self._values["shard_count"] = shard_count
5169
+ if shard_level_metrics is not None:
5170
+ self._values["shard_level_metrics"] = shard_level_metrics
5094
5171
  if stream_mode is not None:
5095
5172
  self._values["stream_mode"] = stream_mode
5096
5173
  if stream_name is not None:
@@ -5156,6 +5233,17 @@ class StreamProps:
5156
5233
  result = self._values.get("shard_count")
5157
5234
  return typing.cast(typing.Optional[jsii.Number], result)
5158
5235
 
5236
+ @builtins.property
5237
+ def shard_level_metrics(self) -> typing.Optional[typing.List[ShardLevelMetrics]]:
5238
+ '''A list of shard-level metrics in properties to enable enhanced monitoring mode.
5239
+
5240
+ :default: undefined - AWS Kinesis default is disabled
5241
+
5242
+ :see: https://docs.aws.amazon.com/streams/latest/dev/monitoring-with-cloudwatch.html#kinesis-metrics-shard
5243
+ '''
5244
+ result = self._values.get("shard_level_metrics")
5245
+ return typing.cast(typing.Optional[typing.List[ShardLevelMetrics]], result)
5246
+
5159
5247
  @builtins.property
5160
5248
  def stream_mode(self) -> typing.Optional[StreamMode]:
5161
5249
  '''The capacity mode of this stream.
@@ -5292,7 +5380,7 @@ class CfnResourcePolicy(
5292
5380
  '''
5293
5381
  :param scope: Scope in which this resource is defined.
5294
5382
  :param id: Construct identifier for this resource (unique in its scope).
5295
- :param resource_arn: This is the name for the resource policy.
5383
+ :param resource_arn: Returns the Amazon Resource Name (ARN) of the resource-based policy.
5296
5384
  :param resource_policy: This is the description for the resource policy.
5297
5385
  '''
5298
5386
  if __debug__:
@@ -5349,7 +5437,7 @@ class CfnResourcePolicy(
5349
5437
  @builtins.property
5350
5438
  @jsii.member(jsii_name="resourceArn")
5351
5439
  def resource_arn(self) -> builtins.str:
5352
- '''This is the name for the resource policy.'''
5440
+ '''Returns the Amazon Resource Name (ARN) of the resource-based policy.'''
5353
5441
  return typing.cast(builtins.str, jsii.get(self, "resourceArn"))
5354
5442
 
5355
5443
  @resource_arn.setter
@@ -6015,6 +6103,7 @@ __all__ = [
6015
6103
  "ResourcePolicy",
6016
6104
  "ResourcePolicyProps",
6017
6105
  "ResourcePolicyReference",
6106
+ "ShardLevelMetrics",
6018
6107
  "Stream",
6019
6108
  "StreamAttributes",
6020
6109
  "StreamConsumer",
@@ -6164,6 +6253,7 @@ def _typecheckingstub__d9e4f581406090d861e3fe8214f939eedc5d1ccaffe122a7542878ec4
6164
6253
  removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
6165
6254
  retention_period: typing.Optional[_Duration_4839e8c3] = None,
6166
6255
  shard_count: typing.Optional[jsii.Number] = None,
6256
+ shard_level_metrics: typing.Optional[typing.Sequence[ShardLevelMetrics]] = None,
6167
6257
  stream_mode: typing.Optional[StreamMode] = None,
6168
6258
  stream_name: typing.Optional[builtins.str] = None,
6169
6259
  ) -> None:
@@ -6321,6 +6411,7 @@ def _typecheckingstub__88629f78086711b76f550ae13e14f2db1429deb350aa5b10b7073d585
6321
6411
  removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
6322
6412
  retention_period: typing.Optional[_Duration_4839e8c3] = None,
6323
6413
  shard_count: typing.Optional[jsii.Number] = None,
6414
+ shard_level_metrics: typing.Optional[typing.Sequence[ShardLevelMetrics]] = None,
6324
6415
  stream_mode: typing.Optional[StreamMode] = None,
6325
6416
  stream_name: typing.Optional[builtins.str] = None,
6326
6417
  ) -> None:
@@ -661,6 +661,17 @@ CfnOutput(self, "TheUrl",
661
661
  )
662
662
  ```
663
663
 
664
+ ### Important Function URL Permission Update - Oct 2025
665
+
666
+ Starting Oct 2025, Function URL invocation will require two permissions
667
+
668
+ * lambda:InvokeFunctionUrl
669
+ * lambda:InvokeFunction (New)
670
+
671
+ CDK has updated `grantInvokeUrl` and `addFunctionUrl` to add both permission above.
672
+
673
+ If your existing CDK stack uses `grantInvokeUrl` or `addFunctionUrl`, your next deployment will automatically add the `lambda:InvokeFunction` permission without requiring any code changes. This ensures your Function URLs continue working seamlessly. No additional actions are needed.
674
+
664
675
  ### CORS configuration for Function URLs
665
676
 
666
677
  If you want your Function URLs to be invokable from a web page in browser, you
@@ -15337,6 +15348,7 @@ class ParamsAndSecretsVersions(enum.Enum):
15337
15348
  "action": "action",
15338
15349
  "event_source_token": "eventSourceToken",
15339
15350
  "function_url_auth_type": "functionUrlAuthType",
15351
+ "invoked_via_function_url": "invokedViaFunctionUrl",
15340
15352
  "organization_id": "organizationId",
15341
15353
  "scope": "scope",
15342
15354
  "source_account": "sourceAccount",
@@ -15351,6 +15363,7 @@ class Permission:
15351
15363
  action: typing.Optional[builtins.str] = None,
15352
15364
  event_source_token: typing.Optional[builtins.str] = None,
15353
15365
  function_url_auth_type: typing.Optional[FunctionUrlAuthType] = None,
15366
+ invoked_via_function_url: typing.Optional[builtins.bool] = None,
15354
15367
  organization_id: typing.Optional[builtins.str] = None,
15355
15368
  scope: typing.Optional[_constructs_77d1e7e8.Construct] = None,
15356
15369
  source_account: typing.Optional[builtins.str] = None,
@@ -15362,6 +15375,7 @@ class Permission:
15362
15375
  :param action: The Lambda actions that you want to allow in this statement. For example, you can specify lambda:CreateFunction to specify a certain action, or use a wildcard (``lambda:*``) to grant permission to all Lambda actions. For a list of actions, see Actions and Condition Context Keys for AWS Lambda in the IAM User Guide. Default: 'lambda:InvokeFunction'
15363
15376
  :param event_source_token: A unique token that must be supplied by the principal invoking the function. Default: - The caller would not need to present a token.
15364
15377
  :param function_url_auth_type: The authType for the function URL that you are granting permissions for. Default: - No functionUrlAuthType
15378
+ :param invoked_via_function_url: The condition key for limiting the scope of lambda:InvokeFunction action to Function URL only. When set to true, it restricts the principal in this policy to perform invokes for the resource only via Function URLs. Default: - false
15365
15379
  :param organization_id: The organization you want to grant permissions to. Use this ONLY if you need to grant permissions to a subset of the organization. If you want to grant permissions to the entire organization, sending the organization principal through the ``principal`` property will suffice. You can use this property to ensure that all source principals are owned by a specific organization. Default: - No organizationId
15366
15380
  :param scope: The scope to which the permission constructs be attached. The default is the Lambda function construct itself, but this would need to be different in cases such as cross-stack references where the Permissions would need to sit closer to the consumer of this permission (i.e., the caller). Default: - The instance of lambda.IFunction
15367
15381
  :param source_account: The AWS account ID (without hyphens) of the source owner. For example, if you specify an S3 bucket in the SourceArn property, this value is the bucket owner's account ID. You can use this property to ensure that all source principals are owned by a specific account.
@@ -15389,6 +15403,7 @@ class Permission:
15389
15403
  check_type(argname="argument action", value=action, expected_type=type_hints["action"])
15390
15404
  check_type(argname="argument event_source_token", value=event_source_token, expected_type=type_hints["event_source_token"])
15391
15405
  check_type(argname="argument function_url_auth_type", value=function_url_auth_type, expected_type=type_hints["function_url_auth_type"])
15406
+ check_type(argname="argument invoked_via_function_url", value=invoked_via_function_url, expected_type=type_hints["invoked_via_function_url"])
15392
15407
  check_type(argname="argument organization_id", value=organization_id, expected_type=type_hints["organization_id"])
15393
15408
  check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
15394
15409
  check_type(argname="argument source_account", value=source_account, expected_type=type_hints["source_account"])
@@ -15402,6 +15417,8 @@ class Permission:
15402
15417
  self._values["event_source_token"] = event_source_token
15403
15418
  if function_url_auth_type is not None:
15404
15419
  self._values["function_url_auth_type"] = function_url_auth_type
15420
+ if invoked_via_function_url is not None:
15421
+ self._values["invoked_via_function_url"] = invoked_via_function_url
15405
15422
  if organization_id is not None:
15406
15423
  self._values["organization_id"] = organization_id
15407
15424
  if scope is not None:
@@ -15463,6 +15480,17 @@ class Permission:
15463
15480
  result = self._values.get("function_url_auth_type")
15464
15481
  return typing.cast(typing.Optional[FunctionUrlAuthType], result)
15465
15482
 
15483
+ @builtins.property
15484
+ def invoked_via_function_url(self) -> typing.Optional[builtins.bool]:
15485
+ '''The condition key for limiting the scope of lambda:InvokeFunction action to Function URL only.
15486
+
15487
+ When set to true, it restricts the principal in this policy to perform invokes for the resource only via Function URLs.
15488
+
15489
+ :default: - false
15490
+ '''
15491
+ result = self._values.get("invoked_via_function_url")
15492
+ return typing.cast(typing.Optional[builtins.bool], result)
15493
+
15466
15494
  @builtins.property
15467
15495
  def organization_id(self) -> typing.Optional[builtins.str]:
15468
15496
  '''The organization you want to grant permissions to.
@@ -27005,6 +27033,7 @@ class IFunction(
27005
27033
  action: typing.Optional[builtins.str] = None,
27006
27034
  event_source_token: typing.Optional[builtins.str] = None,
27007
27035
  function_url_auth_type: typing.Optional[FunctionUrlAuthType] = None,
27036
+ invoked_via_function_url: typing.Optional[builtins.bool] = None,
27008
27037
  organization_id: typing.Optional[builtins.str] = None,
27009
27038
  scope: typing.Optional[_constructs_77d1e7e8.Construct] = None,
27010
27039
  source_account: typing.Optional[builtins.str] = None,
@@ -27017,6 +27046,7 @@ class IFunction(
27017
27046
  :param action: The Lambda actions that you want to allow in this statement. For example, you can specify lambda:CreateFunction to specify a certain action, or use a wildcard (``lambda:*``) to grant permission to all Lambda actions. For a list of actions, see Actions and Condition Context Keys for AWS Lambda in the IAM User Guide. Default: 'lambda:InvokeFunction'
27018
27047
  :param event_source_token: A unique token that must be supplied by the principal invoking the function. Default: - The caller would not need to present a token.
27019
27048
  :param function_url_auth_type: The authType for the function URL that you are granting permissions for. Default: - No functionUrlAuthType
27049
+ :param invoked_via_function_url: The condition key for limiting the scope of lambda:InvokeFunction action to Function URL only. When set to true, it restricts the principal in this policy to perform invokes for the resource only via Function URLs. Default: - false
27020
27050
  :param organization_id: The organization you want to grant permissions to. Use this ONLY if you need to grant permissions to a subset of the organization. If you want to grant permissions to the entire organization, sending the organization principal through the ``principal`` property will suffice. You can use this property to ensure that all source principals are owned by a specific organization. Default: - No organizationId
27021
27051
  :param scope: The scope to which the permission constructs be attached. The default is the Lambda function construct itself, but this would need to be different in cases such as cross-stack references where the Permissions would need to sit closer to the consumer of this permission (i.e., the caller). Default: - The instance of lambda.IFunction
27022
27052
  :param source_account: The AWS account ID (without hyphens) of the source owner. For example, if you specify an S3 bucket in the SourceArn property, this value is the bucket owner's account ID. You can use this property to ensure that all source principals are owned by a specific account.
@@ -27504,6 +27534,7 @@ class _IFunctionProxy(
27504
27534
  action: typing.Optional[builtins.str] = None,
27505
27535
  event_source_token: typing.Optional[builtins.str] = None,
27506
27536
  function_url_auth_type: typing.Optional[FunctionUrlAuthType] = None,
27537
+ invoked_via_function_url: typing.Optional[builtins.bool] = None,
27507
27538
  organization_id: typing.Optional[builtins.str] = None,
27508
27539
  scope: typing.Optional[_constructs_77d1e7e8.Construct] = None,
27509
27540
  source_account: typing.Optional[builtins.str] = None,
@@ -27516,6 +27547,7 @@ class _IFunctionProxy(
27516
27547
  :param action: The Lambda actions that you want to allow in this statement. For example, you can specify lambda:CreateFunction to specify a certain action, or use a wildcard (``lambda:*``) to grant permission to all Lambda actions. For a list of actions, see Actions and Condition Context Keys for AWS Lambda in the IAM User Guide. Default: 'lambda:InvokeFunction'
27517
27548
  :param event_source_token: A unique token that must be supplied by the principal invoking the function. Default: - The caller would not need to present a token.
27518
27549
  :param function_url_auth_type: The authType for the function URL that you are granting permissions for. Default: - No functionUrlAuthType
27550
+ :param invoked_via_function_url: The condition key for limiting the scope of lambda:InvokeFunction action to Function URL only. When set to true, it restricts the principal in this policy to perform invokes for the resource only via Function URLs. Default: - false
27519
27551
  :param organization_id: The organization you want to grant permissions to. Use this ONLY if you need to grant permissions to a subset of the organization. If you want to grant permissions to the entire organization, sending the organization principal through the ``principal`` property will suffice. You can use this property to ensure that all source principals are owned by a specific organization. Default: - No organizationId
27520
27552
  :param scope: The scope to which the permission constructs be attached. The default is the Lambda function construct itself, but this would need to be different in cases such as cross-stack references where the Permissions would need to sit closer to the consumer of this permission (i.e., the caller). Default: - The instance of lambda.IFunction
27521
27553
  :param source_account: The AWS account ID (without hyphens) of the source owner. For example, if you specify an S3 bucket in the SourceArn property, this value is the bucket owner's account ID. You can use this property to ensure that all source principals are owned by a specific account.
@@ -27531,6 +27563,7 @@ class _IFunctionProxy(
27531
27563
  action=action,
27532
27564
  event_source_token=event_source_token,
27533
27565
  function_url_auth_type=function_url_auth_type,
27566
+ invoked_via_function_url=invoked_via_function_url,
27534
27567
  organization_id=organization_id,
27535
27568
  scope=scope,
27536
27569
  source_account=source_account,
@@ -28806,6 +28839,7 @@ class FunctionBase(
28806
28839
  action: typing.Optional[builtins.str] = None,
28807
28840
  event_source_token: typing.Optional[builtins.str] = None,
28808
28841
  function_url_auth_type: typing.Optional[FunctionUrlAuthType] = None,
28842
+ invoked_via_function_url: typing.Optional[builtins.bool] = None,
28809
28843
  organization_id: typing.Optional[builtins.str] = None,
28810
28844
  scope: typing.Optional[_constructs_77d1e7e8.Construct] = None,
28811
28845
  source_account: typing.Optional[builtins.str] = None,
@@ -28818,6 +28852,7 @@ class FunctionBase(
28818
28852
  :param action: The Lambda actions that you want to allow in this statement. For example, you can specify lambda:CreateFunction to specify a certain action, or use a wildcard (``lambda:*``) to grant permission to all Lambda actions. For a list of actions, see Actions and Condition Context Keys for AWS Lambda in the IAM User Guide. Default: 'lambda:InvokeFunction'
28819
28853
  :param event_source_token: A unique token that must be supplied by the principal invoking the function. Default: - The caller would not need to present a token.
28820
28854
  :param function_url_auth_type: The authType for the function URL that you are granting permissions for. Default: - No functionUrlAuthType
28855
+ :param invoked_via_function_url: The condition key for limiting the scope of lambda:InvokeFunction action to Function URL only. When set to true, it restricts the principal in this policy to perform invokes for the resource only via Function URLs. Default: - false
28821
28856
  :param organization_id: The organization you want to grant permissions to. Use this ONLY if you need to grant permissions to a subset of the organization. If you want to grant permissions to the entire organization, sending the organization principal through the ``principal`` property will suffice. You can use this property to ensure that all source principals are owned by a specific organization. Default: - No organizationId
28822
28857
  :param scope: The scope to which the permission constructs be attached. The default is the Lambda function construct itself, but this would need to be different in cases such as cross-stack references where the Permissions would need to sit closer to the consumer of this permission (i.e., the caller). Default: - The instance of lambda.IFunction
28823
28858
  :param source_account: The AWS account ID (without hyphens) of the source owner. For example, if you specify an S3 bucket in the SourceArn property, this value is the bucket owner's account ID. You can use this property to ensure that all source principals are owned by a specific account.
@@ -28833,6 +28868,7 @@ class FunctionBase(
28833
28868
  action=action,
28834
28869
  event_source_token=event_source_token,
28835
28870
  function_url_auth_type=function_url_auth_type,
28871
+ invoked_via_function_url=invoked_via_function_url,
28836
28872
  organization_id=organization_id,
28837
28873
  scope=scope,
28838
28874
  source_account=source_account,
@@ -29892,6 +29928,7 @@ class SingletonFunction(
29892
29928
  action: typing.Optional[builtins.str] = None,
29893
29929
  event_source_token: typing.Optional[builtins.str] = None,
29894
29930
  function_url_auth_type: typing.Optional[FunctionUrlAuthType] = None,
29931
+ invoked_via_function_url: typing.Optional[builtins.bool] = None,
29895
29932
  organization_id: typing.Optional[builtins.str] = None,
29896
29933
  scope: typing.Optional[_constructs_77d1e7e8.Construct] = None,
29897
29934
  source_account: typing.Optional[builtins.str] = None,
@@ -29904,6 +29941,7 @@ class SingletonFunction(
29904
29941
  :param action: The Lambda actions that you want to allow in this statement. For example, you can specify lambda:CreateFunction to specify a certain action, or use a wildcard (``lambda:*``) to grant permission to all Lambda actions. For a list of actions, see Actions and Condition Context Keys for AWS Lambda in the IAM User Guide. Default: 'lambda:InvokeFunction'
29905
29942
  :param event_source_token: A unique token that must be supplied by the principal invoking the function. Default: - The caller would not need to present a token.
29906
29943
  :param function_url_auth_type: The authType for the function URL that you are granting permissions for. Default: - No functionUrlAuthType
29944
+ :param invoked_via_function_url: The condition key for limiting the scope of lambda:InvokeFunction action to Function URL only. When set to true, it restricts the principal in this policy to perform invokes for the resource only via Function URLs. Default: - false
29907
29945
  :param organization_id: The organization you want to grant permissions to. Use this ONLY if you need to grant permissions to a subset of the organization. If you want to grant permissions to the entire organization, sending the organization principal through the ``principal`` property will suffice. You can use this property to ensure that all source principals are owned by a specific organization. Default: - No organizationId
29908
29946
  :param scope: The scope to which the permission constructs be attached. The default is the Lambda function construct itself, but this would need to be different in cases such as cross-stack references where the Permissions would need to sit closer to the consumer of this permission (i.e., the caller). Default: - The instance of lambda.IFunction
29909
29947
  :param source_account: The AWS account ID (without hyphens) of the source owner. For example, if you specify an S3 bucket in the SourceArn property, this value is the bucket owner's account ID. You can use this property to ensure that all source principals are owned by a specific account.
@@ -29917,6 +29955,7 @@ class SingletonFunction(
29917
29955
  action=action,
29918
29956
  event_source_token=event_source_token,
29919
29957
  function_url_auth_type=function_url_auth_type,
29958
+ invoked_via_function_url=invoked_via_function_url,
29920
29959
  organization_id=organization_id,
29921
29960
  scope=scope,
29922
29961
  source_account=source_account,
@@ -33115,6 +33154,7 @@ def _typecheckingstub__43f02634f6ed895ea88b35db6c7a6ba5a7da45fa4945d0f90bf36d079
33115
33154
  action: typing.Optional[builtins.str] = None,
33116
33155
  event_source_token: typing.Optional[builtins.str] = None,
33117
33156
  function_url_auth_type: typing.Optional[FunctionUrlAuthType] = None,
33157
+ invoked_via_function_url: typing.Optional[builtins.bool] = None,
33118
33158
  organization_id: typing.Optional[builtins.str] = None,
33119
33159
  scope: typing.Optional[_constructs_77d1e7e8.Construct] = None,
33120
33160
  source_account: typing.Optional[builtins.str] = None,
@@ -34803,6 +34843,7 @@ def _typecheckingstub__012ac5126b1401118a0cd31e22b2fef5e1ab897a320c6edf7d16633af
34803
34843
  action: typing.Optional[builtins.str] = None,
34804
34844
  event_source_token: typing.Optional[builtins.str] = None,
34805
34845
  function_url_auth_type: typing.Optional[FunctionUrlAuthType] = None,
34846
+ invoked_via_function_url: typing.Optional[builtins.bool] = None,
34806
34847
  organization_id: typing.Optional[builtins.str] = None,
34807
34848
  scope: typing.Optional[_constructs_77d1e7e8.Construct] = None,
34808
34849
  source_account: typing.Optional[builtins.str] = None,
@@ -35048,6 +35089,7 @@ def _typecheckingstub__213097e02686d5b4e582802e2e3e822fb2c79f2920c55d92f2f4f8f05
35048
35089
  action: typing.Optional[builtins.str] = None,
35049
35090
  event_source_token: typing.Optional[builtins.str] = None,
35050
35091
  function_url_auth_type: typing.Optional[FunctionUrlAuthType] = None,
35092
+ invoked_via_function_url: typing.Optional[builtins.bool] = None,
35051
35093
  organization_id: typing.Optional[builtins.str] = None,
35052
35094
  scope: typing.Optional[_constructs_77d1e7e8.Construct] = None,
35053
35095
  source_account: typing.Optional[builtins.str] = None,
@@ -35245,6 +35287,7 @@ def _typecheckingstub__6d48a048e22819587505668ae6e1fbdfeedaaaf355ad52bd1196e683b
35245
35287
  action: typing.Optional[builtins.str] = None,
35246
35288
  event_source_token: typing.Optional[builtins.str] = None,
35247
35289
  function_url_auth_type: typing.Optional[FunctionUrlAuthType] = None,
35290
+ invoked_via_function_url: typing.Optional[builtins.bool] = None,
35248
35291
  organization_id: typing.Optional[builtins.str] = None,
35249
35292
  scope: typing.Optional[_constructs_77d1e7e8.Construct] = None,
35250
35293
  source_account: typing.Optional[builtins.str] = None,