aws-cdk-lib 2.114.0__py3-none-any.whl → 2.115.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 (47) hide show
  1. aws_cdk/__init__.py +7 -1
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.114.0.jsii.tgz → aws-cdk-lib@2.115.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_apigateway/__init__.py +6 -0
  5. aws_cdk/aws_apigatewayv2/__init__.py +223 -574
  6. aws_cdk/aws_autoscaling/__init__.py +99 -86
  7. aws_cdk/aws_bedrock/__init__.py +355 -0
  8. aws_cdk/aws_billingconductor/__init__.py +41 -0
  9. aws_cdk/aws_cleanrooms/__init__.py +46 -20
  10. aws_cdk/aws_cloudformation/__init__.py +5 -1
  11. aws_cdk/aws_cloudtrail/__init__.py +89 -0
  12. aws_cdk/aws_codedeploy/__init__.py +233 -1
  13. aws_cdk/aws_connect/__init__.py +49 -2
  14. aws_cdk/aws_dlm/__init__.py +8 -11
  15. aws_cdk/aws_dms/__init__.py +3861 -1643
  16. aws_cdk/aws_ec2/__init__.py +91 -47
  17. aws_cdk/aws_ecs/__init__.py +18 -0
  18. aws_cdk/aws_efs/__init__.py +1 -1
  19. aws_cdk/aws_eks/__init__.py +26 -13
  20. aws_cdk/aws_elasticloadbalancingv2/__init__.py +110 -54
  21. aws_cdk/aws_emr/__init__.py +287 -18
  22. aws_cdk/aws_eventschemas/__init__.py +1 -1
  23. aws_cdk/aws_fis/__init__.py +466 -34
  24. aws_cdk/aws_iam/__init__.py +47 -35
  25. aws_cdk/aws_internetmonitor/__init__.py +10 -12
  26. aws_cdk/aws_lightsail/__init__.py +4 -2
  27. aws_cdk/aws_logs/__init__.py +5 -4
  28. aws_cdk/aws_opensearchservice/__init__.py +47 -0
  29. aws_cdk/aws_osis/__init__.py +272 -32
  30. aws_cdk/aws_rds/__init__.py +205 -87
  31. aws_cdk/aws_resiliencehub/__init__.py +9 -14
  32. aws_cdk/aws_rolesanywhere/__init__.py +41 -53
  33. aws_cdk/aws_route53/__init__.py +3 -3
  34. aws_cdk/aws_route53_targets/__init__.py +2 -2
  35. aws_cdk/aws_s3/__init__.py +2 -6
  36. aws_cdk/aws_s3express/__init__.py +3 -3
  37. aws_cdk/aws_sagemaker/__init__.py +82 -11
  38. aws_cdk/aws_sns/__init__.py +181 -0
  39. aws_cdk/aws_stepfunctions/__init__.py +16 -8
  40. aws_cdk/aws_stepfunctions_tasks/__init__.py +975 -139
  41. aws_cdk/aws_workspacesthinclient/__init__.py +44 -35
  42. {aws_cdk_lib-2.114.0.dist-info → aws_cdk_lib-2.115.0.dist-info}/METADATA +2 -2
  43. {aws_cdk_lib-2.114.0.dist-info → aws_cdk_lib-2.115.0.dist-info}/RECORD +47 -46
  44. {aws_cdk_lib-2.114.0.dist-info → aws_cdk_lib-2.115.0.dist-info}/LICENSE +0 -0
  45. {aws_cdk_lib-2.114.0.dist-info → aws_cdk_lib-2.115.0.dist-info}/NOTICE +0 -0
  46. {aws_cdk_lib-2.114.0.dist-info → aws_cdk_lib-2.115.0.dist-info}/WHEEL +0 -0
  47. {aws_cdk_lib-2.114.0.dist-info → aws_cdk_lib-2.115.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,355 @@
1
+ '''
2
+ # Amazon Bedrock Construct Library
3
+
4
+ Amazon Bedrock is a fully managed service that offers a choice of foundation models (FMs)
5
+ along with a broad set of capabilities for building generative AI applications.
6
+
7
+ CloudFormation does not currently support any Bedrock resource types.
8
+ This construct library is a collection of constructs that can look up existing Bedrock models
9
+ for use with other services' CDK constructs, such as AWS Step Functions.
10
+
11
+ To look up a Bedrock base foundation model:
12
+
13
+ ```python
14
+ import aws_cdk.aws_bedrock as bedrock
15
+
16
+
17
+ bedrock.FoundationModel.from_foundation_model_id(self, "Model", bedrock.FoundationModelIdentifier.ANTHROPIC_CLAUDE_V2)
18
+ ```
19
+
20
+ To look up a Bedrock provisioned throughput model:
21
+
22
+ ```python
23
+ import aws_cdk.aws_bedrock as bedrock
24
+
25
+
26
+ bedrock.ProvisionedModel.from_provisioned_model_arn(self, "Model", "arn:aws:bedrock:us-east-2:123456789012:provisioned-model/abc-123")
27
+ ```
28
+ '''
29
+ import abc
30
+ import builtins
31
+ import datetime
32
+ import enum
33
+ import typing
34
+
35
+ import jsii
36
+ import publication
37
+ import typing_extensions
38
+
39
+ from typeguard import check_type
40
+
41
+ from .._jsii import *
42
+
43
+ import constructs as _constructs_77d1e7e8
44
+
45
+
46
+ class FoundationModelIdentifier(
47
+ metaclass=jsii.JSIIMeta,
48
+ jsii_type="aws-cdk-lib.aws_bedrock.FoundationModelIdentifier",
49
+ ):
50
+ '''The model identifiers for the Bedrock base foundation models.
51
+
52
+ :see: https://docs.aws.amazon.com/bedrock/latest/userguide/model-ids-arns.html
53
+ :exampleMetadata: infused
54
+
55
+ Example::
56
+
57
+ import aws_cdk.aws_bedrock as bedrock
58
+
59
+
60
+ bedrock.FoundationModel.from_foundation_model_id(self, "Model", bedrock.FoundationModelIdentifier.ANTHROPIC_CLAUDE_V2)
61
+ '''
62
+
63
+ def __init__(self, model_id: builtins.str) -> None:
64
+ '''Constructor for foundation model identifier.
65
+
66
+ :param model_id: the model identifier.
67
+ '''
68
+ if __debug__:
69
+ type_hints = typing.get_type_hints(_typecheckingstub__f232d69e34e8936af6b25fbb89b759790a47e68b671d931582f63554dd4bae52)
70
+ check_type(argname="argument model_id", value=model_id, expected_type=type_hints["model_id"])
71
+ jsii.create(self.__class__, self, [model_id])
72
+
73
+ @jsii.python.classproperty
74
+ @jsii.member(jsii_name="AI21_LABS_JURASSIC_2_MID_V1")
75
+ def AI21_LABS_JURASSIC_2_MID_V1(cls) -> "FoundationModelIdentifier":
76
+ '''Base model "ai21.j2-mid-v1".'''
77
+ return typing.cast("FoundationModelIdentifier", jsii.sget(cls, "AI21_LABS_JURASSIC_2_MID_V1"))
78
+
79
+ @jsii.python.classproperty
80
+ @jsii.member(jsii_name="AI21_LABS_JURASSIC_2_ULTRA_V1")
81
+ def AI21_LABS_JURASSIC_2_ULTRA_V1(cls) -> "FoundationModelIdentifier":
82
+ '''Base model "ai21.j2-ultra-v1".'''
83
+ return typing.cast("FoundationModelIdentifier", jsii.sget(cls, "AI21_LABS_JURASSIC_2_ULTRA_V1"))
84
+
85
+ @jsii.python.classproperty
86
+ @jsii.member(jsii_name="AMAZON_TITAN_EMBEDDINGS_G1_TEXT_V1")
87
+ def AMAZON_TITAN_EMBEDDINGS_G1_TEXT_V1(cls) -> "FoundationModelIdentifier":
88
+ '''Base model "amazon.titan-embed-text-v1".'''
89
+ return typing.cast("FoundationModelIdentifier", jsii.sget(cls, "AMAZON_TITAN_EMBEDDINGS_G1_TEXT_V1"))
90
+
91
+ @jsii.python.classproperty
92
+ @jsii.member(jsii_name="AMAZON_TITAN_IMAGE_GENERATOR_G1_V1")
93
+ def AMAZON_TITAN_IMAGE_GENERATOR_G1_V1(cls) -> "FoundationModelIdentifier":
94
+ '''Base model "amazon.titan-image-generator-v1".'''
95
+ return typing.cast("FoundationModelIdentifier", jsii.sget(cls, "AMAZON_TITAN_IMAGE_GENERATOR_G1_V1"))
96
+
97
+ @jsii.python.classproperty
98
+ @jsii.member(jsii_name="AMAZON_TITAN_MULTIMODAL_EMBEDDINGS_G1_V1")
99
+ def AMAZON_TITAN_MULTIMODAL_EMBEDDINGS_G1_V1(cls) -> "FoundationModelIdentifier":
100
+ '''Base model "amazon.titan-embed-image-v1".'''
101
+ return typing.cast("FoundationModelIdentifier", jsii.sget(cls, "AMAZON_TITAN_MULTIMODAL_EMBEDDINGS_G1_V1"))
102
+
103
+ @jsii.python.classproperty
104
+ @jsii.member(jsii_name="AMAZON_TITAN_TEXT_G1_EXPRESS_V1")
105
+ def AMAZON_TITAN_TEXT_G1_EXPRESS_V1(cls) -> "FoundationModelIdentifier":
106
+ '''Base model "amazon.titan-text-express-v1".'''
107
+ return typing.cast("FoundationModelIdentifier", jsii.sget(cls, "AMAZON_TITAN_TEXT_G1_EXPRESS_V1"))
108
+
109
+ @jsii.python.classproperty
110
+ @jsii.member(jsii_name="ANTHROPIC_CLAUDE_INSTANT_V1")
111
+ def ANTHROPIC_CLAUDE_INSTANT_V1(cls) -> "FoundationModelIdentifier":
112
+ '''Base model "anthropic.claude-instant-v1".'''
113
+ return typing.cast("FoundationModelIdentifier", jsii.sget(cls, "ANTHROPIC_CLAUDE_INSTANT_V1"))
114
+
115
+ @jsii.python.classproperty
116
+ @jsii.member(jsii_name="ANTHROPIC_CLAUDE_V1")
117
+ def ANTHROPIC_CLAUDE_V1(cls) -> "FoundationModelIdentifier":
118
+ '''Base model "anthropic.claude-v1".'''
119
+ return typing.cast("FoundationModelIdentifier", jsii.sget(cls, "ANTHROPIC_CLAUDE_V1"))
120
+
121
+ @jsii.python.classproperty
122
+ @jsii.member(jsii_name="ANTHROPIC_CLAUDE_V2")
123
+ def ANTHROPIC_CLAUDE_V2(cls) -> "FoundationModelIdentifier":
124
+ '''Base model "anthropic.claude-v2".'''
125
+ return typing.cast("FoundationModelIdentifier", jsii.sget(cls, "ANTHROPIC_CLAUDE_V2"))
126
+
127
+ @jsii.python.classproperty
128
+ @jsii.member(jsii_name="ANTHROPIC_CLAUDE_V2_1")
129
+ def ANTHROPIC_CLAUDE_V2_1(cls) -> "FoundationModelIdentifier":
130
+ '''Base model "anthropic.claude-v2:1".'''
131
+ return typing.cast("FoundationModelIdentifier", jsii.sget(cls, "ANTHROPIC_CLAUDE_V2_1"))
132
+
133
+ @jsii.python.classproperty
134
+ @jsii.member(jsii_name="COHERE_COMMAND_LIGHT_V14")
135
+ def COHERE_COMMAND_LIGHT_V14(cls) -> "FoundationModelIdentifier":
136
+ '''Base model "cohere.command-light-text-v14".'''
137
+ return typing.cast("FoundationModelIdentifier", jsii.sget(cls, "COHERE_COMMAND_LIGHT_V14"))
138
+
139
+ @jsii.python.classproperty
140
+ @jsii.member(jsii_name="COHERE_COMMAND_V14")
141
+ def COHERE_COMMAND_V14(cls) -> "FoundationModelIdentifier":
142
+ '''Base model "cohere.command-text-v14".'''
143
+ return typing.cast("FoundationModelIdentifier", jsii.sget(cls, "COHERE_COMMAND_V14"))
144
+
145
+ @jsii.python.classproperty
146
+ @jsii.member(jsii_name="COHERE_EMBED_ENGLISH_V3")
147
+ def COHERE_EMBED_ENGLISH_V3(cls) -> "FoundationModelIdentifier":
148
+ '''Base model "cohere.embed-english-v3".'''
149
+ return typing.cast("FoundationModelIdentifier", jsii.sget(cls, "COHERE_EMBED_ENGLISH_V3"))
150
+
151
+ @jsii.python.classproperty
152
+ @jsii.member(jsii_name="COHERE_EMBED_MULTILINGUAL_V3")
153
+ def COHERE_EMBED_MULTILINGUAL_V3(cls) -> "FoundationModelIdentifier":
154
+ '''Base model "cohere.embed-multilingual-v3".'''
155
+ return typing.cast("FoundationModelIdentifier", jsii.sget(cls, "COHERE_EMBED_MULTILINGUAL_V3"))
156
+
157
+ @jsii.python.classproperty
158
+ @jsii.member(jsii_name="META_LLAMA_2_CHAT_13B_V1")
159
+ def META_LLAMA_2_CHAT_13_B_V1(cls) -> "FoundationModelIdentifier":
160
+ '''Base model "meta.llama2-13b-chat-v1".'''
161
+ return typing.cast("FoundationModelIdentifier", jsii.sget(cls, "META_LLAMA_2_CHAT_13B_V1"))
162
+
163
+ @jsii.python.classproperty
164
+ @jsii.member(jsii_name="META_LLAMA_2_CHAT_70B_V1")
165
+ def META_LLAMA_2_CHAT_70_B_V1(cls) -> "FoundationModelIdentifier":
166
+ '''Base model "meta.llama2-70b-chat-v1".'''
167
+ return typing.cast("FoundationModelIdentifier", jsii.sget(cls, "META_LLAMA_2_CHAT_70B_V1"))
168
+
169
+ @builtins.property
170
+ @jsii.member(jsii_name="modelId")
171
+ def model_id(self) -> builtins.str:
172
+ '''the model identifier.'''
173
+ return typing.cast(builtins.str, jsii.get(self, "modelId"))
174
+
175
+
176
+ @jsii.interface(jsii_type="aws-cdk-lib.aws_bedrock.IModel")
177
+ class IModel(typing_extensions.Protocol):
178
+ '''Represents a Bedrock model.
179
+
180
+ The model could be a foundation model, a custom model, or a provisioned model.
181
+ '''
182
+
183
+ @builtins.property
184
+ @jsii.member(jsii_name="modelArn")
185
+ def model_arn(self) -> builtins.str:
186
+ '''The ARN of the model.
187
+
188
+ :see: https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-actions-as-permissions
189
+ '''
190
+ ...
191
+
192
+
193
+ class _IModelProxy:
194
+ '''Represents a Bedrock model.
195
+
196
+ The model could be a foundation model, a custom model, or a provisioned model.
197
+ '''
198
+
199
+ __jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.aws_bedrock.IModel"
200
+
201
+ @builtins.property
202
+ @jsii.member(jsii_name="modelArn")
203
+ def model_arn(self) -> builtins.str:
204
+ '''The ARN of the model.
205
+
206
+ :see: https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-actions-as-permissions
207
+ '''
208
+ return typing.cast(builtins.str, jsii.get(self, "modelArn"))
209
+
210
+ # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
211
+ typing.cast(typing.Any, IModel).__jsii_proxy_class__ = lambda : _IModelProxy
212
+
213
+
214
+ @jsii.implements(IModel)
215
+ class ProvisionedModel(
216
+ metaclass=jsii.JSIIMeta,
217
+ jsii_type="aws-cdk-lib.aws_bedrock.ProvisionedModel",
218
+ ):
219
+ '''A Bedrock provisioned model.
220
+
221
+ Note: CloudFormation does not currently support creating Bedrock Provisioned Throughput
222
+ resources outside of a custom resource. You can import provisioned models created by
223
+ provisioning throughput in Bedrock outside the CDK or via a custom resource with
224
+ {@link ProvisionedModel#fromProvisionedModelArn }.
225
+
226
+ :see: https://docs.aws.amazon.com/bedrock/latest/userguide/prov-throughput.html
227
+ :exampleMetadata: infused
228
+
229
+ Example::
230
+
231
+ import aws_cdk.aws_bedrock as bedrock
232
+
233
+
234
+ bedrock.ProvisionedModel.from_provisioned_model_arn(self, "Model", "arn:aws:bedrock:us-east-2:123456789012:provisioned-model/abc-123")
235
+ '''
236
+
237
+ @jsii.member(jsii_name="fromProvisionedModelArn")
238
+ @builtins.classmethod
239
+ def from_provisioned_model_arn(
240
+ cls,
241
+ _scope: _constructs_77d1e7e8.Construct,
242
+ _id: builtins.str,
243
+ provisioned_model_arn: builtins.str,
244
+ ) -> IModel:
245
+ '''Import an provisioned model given an ARN.
246
+
247
+ :param _scope: -
248
+ :param _id: -
249
+ :param provisioned_model_arn: -
250
+ '''
251
+ if __debug__:
252
+ type_hints = typing.get_type_hints(_typecheckingstub__729a89649bbbe97643ef676e5c7a3debb583fa04ca31db203a85e9e6631bd8eb)
253
+ check_type(argname="argument _scope", value=_scope, expected_type=type_hints["_scope"])
254
+ check_type(argname="argument _id", value=_id, expected_type=type_hints["_id"])
255
+ check_type(argname="argument provisioned_model_arn", value=provisioned_model_arn, expected_type=type_hints["provisioned_model_arn"])
256
+ return typing.cast(IModel, jsii.sinvoke(cls, "fromProvisionedModelArn", [_scope, _id, provisioned_model_arn]))
257
+
258
+ @builtins.property
259
+ @jsii.member(jsii_name="modelArn")
260
+ def model_arn(self) -> builtins.str:
261
+ '''The ARN of the provisioned model.'''
262
+ return typing.cast(builtins.str, jsii.get(self, "modelArn"))
263
+
264
+
265
+ @jsii.implements(IModel)
266
+ class FoundationModel(
267
+ metaclass=jsii.JSIIMeta,
268
+ jsii_type="aws-cdk-lib.aws_bedrock.FoundationModel",
269
+ ):
270
+ '''A Bedrock base foundation model.
271
+
272
+ :see: https://docs.aws.amazon.com/bedrock/latest/userguide/models-supported.html
273
+ :exampleMetadata: infused
274
+
275
+ Example::
276
+
277
+ import aws_cdk.aws_bedrock as bedrock
278
+
279
+
280
+ bedrock.FoundationModel.from_foundation_model_id(self, "Model", bedrock.FoundationModelIdentifier.ANTHROPIC_CLAUDE_V2)
281
+ '''
282
+
283
+ @jsii.member(jsii_name="fromFoundationModelId")
284
+ @builtins.classmethod
285
+ def from_foundation_model_id(
286
+ cls,
287
+ scope: _constructs_77d1e7e8.Construct,
288
+ _id: builtins.str,
289
+ foundation_model_id: FoundationModelIdentifier,
290
+ ) -> "FoundationModel":
291
+ '''Construct a Bedrock base foundation model given the model identifier.
292
+
293
+ :param scope: The parent construct.
294
+ :param _id: The name of the model construct.
295
+ :param foundation_model_id: The model identifier such as 'amazon.titan-text-express-v1'.
296
+
297
+ :return: A Bedrock base foundation model.
298
+
299
+ :see: https://docs.aws.amazon.com/bedrock/latest/userguide/model-ids-arns.html
300
+ '''
301
+ if __debug__:
302
+ type_hints = typing.get_type_hints(_typecheckingstub__f64541c2daf01636476388a49436a79864b7cc8c00bbbf47f4d0f84ccbf0ec56)
303
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
304
+ check_type(argname="argument _id", value=_id, expected_type=type_hints["_id"])
305
+ check_type(argname="argument foundation_model_id", value=foundation_model_id, expected_type=type_hints["foundation_model_id"])
306
+ return typing.cast("FoundationModel", jsii.sinvoke(cls, "fromFoundationModelId", [scope, _id, foundation_model_id]))
307
+
308
+ @builtins.property
309
+ @jsii.member(jsii_name="modelArn")
310
+ def model_arn(self) -> builtins.str:
311
+ '''The foundation model ARN.'''
312
+ return typing.cast(builtins.str, jsii.get(self, "modelArn"))
313
+
314
+ @builtins.property
315
+ @jsii.member(jsii_name="modelId")
316
+ def model_id(self) -> builtins.str:
317
+ '''The foundation model ID.
318
+
319
+ Example::
320
+
321
+ "amazon.titan-text-express-v1"
322
+ '''
323
+ return typing.cast(builtins.str, jsii.get(self, "modelId"))
324
+
325
+
326
+ __all__ = [
327
+ "FoundationModel",
328
+ "FoundationModelIdentifier",
329
+ "IModel",
330
+ "ProvisionedModel",
331
+ ]
332
+
333
+ publication.publish()
334
+
335
+ def _typecheckingstub__f232d69e34e8936af6b25fbb89b759790a47e68b671d931582f63554dd4bae52(
336
+ model_id: builtins.str,
337
+ ) -> None:
338
+ """Type checking stubs"""
339
+ pass
340
+
341
+ def _typecheckingstub__729a89649bbbe97643ef676e5c7a3debb583fa04ca31db203a85e9e6631bd8eb(
342
+ _scope: _constructs_77d1e7e8.Construct,
343
+ _id: builtins.str,
344
+ provisioned_model_arn: builtins.str,
345
+ ) -> None:
346
+ """Type checking stubs"""
347
+ pass
348
+
349
+ def _typecheckingstub__f64541c2daf01636476388a49436a79864b7cc8c00bbbf47f4d0f84ccbf0ec56(
350
+ scope: _constructs_77d1e7e8.Construct,
351
+ _id: builtins.str,
352
+ foundation_model_id: FoundationModelIdentifier,
353
+ ) -> None:
354
+ """Type checking stubs"""
355
+ pass
@@ -630,6 +630,7 @@ class CfnCustomLineItem(
630
630
  name="name",
631
631
 
632
632
  # the properties below are optional
633
+ account_id="accountId",
633
634
  billing_period_range=billingconductor.CfnCustomLineItem.BillingPeriodRangeProperty(
634
635
  exclusive_end_billing_period="exclusiveEndBillingPeriod",
635
636
  inclusive_start_billing_period="inclusiveStartBillingPeriod"
@@ -668,6 +669,7 @@ class CfnCustomLineItem(
668
669
  *,
669
670
  billing_group_arn: builtins.str,
670
671
  name: builtins.str,
672
+ account_id: typing.Optional[builtins.str] = None,
671
673
  billing_period_range: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCustomLineItem.BillingPeriodRangeProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
672
674
  custom_line_item_charge_details: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCustomLineItem.CustomLineItemChargeDetailsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
673
675
  description: typing.Optional[builtins.str] = None,
@@ -678,6 +680,7 @@ class CfnCustomLineItem(
678
680
  :param id: Construct identifier for this resource (unique in its scope).
679
681
  :param billing_group_arn: The Amazon Resource Name (ARN) that references the billing group where the custom line item applies to.
680
682
  :param name: The custom line item's name.
683
+ :param account_id: The AWS account in which this custom line item will be applied to.
681
684
  :param billing_period_range: A time range for which the custom line item is effective.
682
685
  :param custom_line_item_charge_details: The charge details of a custom line item. It should contain only one of ``Flat`` or ``Percentage`` .
683
686
  :param description: The custom line item's description. This is shown on the Bills page in association with the charge value.
@@ -690,6 +693,7 @@ class CfnCustomLineItem(
690
693
  props = CfnCustomLineItemProps(
691
694
  billing_group_arn=billing_group_arn,
692
695
  name=name,
696
+ account_id=account_id,
693
697
  billing_period_range=billing_period_range,
694
698
  custom_line_item_charge_details=custom_line_item_charge_details,
695
699
  description=description,
@@ -821,6 +825,19 @@ class CfnCustomLineItem(
821
825
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
822
826
  jsii.set(self, "name", value)
823
827
 
828
+ @builtins.property
829
+ @jsii.member(jsii_name="accountId")
830
+ def account_id(self) -> typing.Optional[builtins.str]:
831
+ '''The AWS account in which this custom line item will be applied to.'''
832
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "accountId"))
833
+
834
+ @account_id.setter
835
+ def account_id(self, value: typing.Optional[builtins.str]) -> None:
836
+ if __debug__:
837
+ type_hints = typing.get_type_hints(_typecheckingstub__485a08cb6e43ed7a5b52fa253797377db356b8fe1ea1d3001a00d7a9b422d441)
838
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
839
+ jsii.set(self, "accountId", value)
840
+
824
841
  @builtins.property
825
842
  @jsii.member(jsii_name="billingPeriodRange")
826
843
  def billing_period_range(
@@ -1322,6 +1339,7 @@ class CfnCustomLineItem(
1322
1339
  name_mapping={
1323
1340
  "billing_group_arn": "billingGroupArn",
1324
1341
  "name": "name",
1342
+ "account_id": "accountId",
1325
1343
  "billing_period_range": "billingPeriodRange",
1326
1344
  "custom_line_item_charge_details": "customLineItemChargeDetails",
1327
1345
  "description": "description",
@@ -1334,6 +1352,7 @@ class CfnCustomLineItemProps:
1334
1352
  *,
1335
1353
  billing_group_arn: builtins.str,
1336
1354
  name: builtins.str,
1355
+ account_id: typing.Optional[builtins.str] = None,
1337
1356
  billing_period_range: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCustomLineItem.BillingPeriodRangeProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1338
1357
  custom_line_item_charge_details: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCustomLineItem.CustomLineItemChargeDetailsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1339
1358
  description: typing.Optional[builtins.str] = None,
@@ -1343,6 +1362,7 @@ class CfnCustomLineItemProps:
1343
1362
 
1344
1363
  :param billing_group_arn: The Amazon Resource Name (ARN) that references the billing group where the custom line item applies to.
1345
1364
  :param name: The custom line item's name.
1365
+ :param account_id: The AWS account in which this custom line item will be applied to.
1346
1366
  :param billing_period_range: A time range for which the custom line item is effective.
1347
1367
  :param custom_line_item_charge_details: The charge details of a custom line item. It should contain only one of ``Flat`` or ``Percentage`` .
1348
1368
  :param description: The custom line item's description. This is shown on the Bills page in association with the charge value.
@@ -1362,6 +1382,7 @@ class CfnCustomLineItemProps:
1362
1382
  name="name",
1363
1383
 
1364
1384
  # the properties below are optional
1385
+ account_id="accountId",
1365
1386
  billing_period_range=billingconductor.CfnCustomLineItem.BillingPeriodRangeProperty(
1366
1387
  exclusive_end_billing_period="exclusiveEndBillingPeriod",
1367
1388
  inclusive_start_billing_period="inclusiveStartBillingPeriod"
@@ -1396,6 +1417,7 @@ class CfnCustomLineItemProps:
1396
1417
  type_hints = typing.get_type_hints(_typecheckingstub__7a7b2e875d39abe8a3c0b572bc75c4dac4bd0fc7005579ba31e1612f811f06c3)
1397
1418
  check_type(argname="argument billing_group_arn", value=billing_group_arn, expected_type=type_hints["billing_group_arn"])
1398
1419
  check_type(argname="argument name", value=name, expected_type=type_hints["name"])
1420
+ check_type(argname="argument account_id", value=account_id, expected_type=type_hints["account_id"])
1399
1421
  check_type(argname="argument billing_period_range", value=billing_period_range, expected_type=type_hints["billing_period_range"])
1400
1422
  check_type(argname="argument custom_line_item_charge_details", value=custom_line_item_charge_details, expected_type=type_hints["custom_line_item_charge_details"])
1401
1423
  check_type(argname="argument description", value=description, expected_type=type_hints["description"])
@@ -1404,6 +1426,8 @@ class CfnCustomLineItemProps:
1404
1426
  "billing_group_arn": billing_group_arn,
1405
1427
  "name": name,
1406
1428
  }
1429
+ if account_id is not None:
1430
+ self._values["account_id"] = account_id
1407
1431
  if billing_period_range is not None:
1408
1432
  self._values["billing_period_range"] = billing_period_range
1409
1433
  if custom_line_item_charge_details is not None:
@@ -1433,6 +1457,15 @@ class CfnCustomLineItemProps:
1433
1457
  assert result is not None, "Required property 'name' is missing"
1434
1458
  return typing.cast(builtins.str, result)
1435
1459
 
1460
+ @builtins.property
1461
+ def account_id(self) -> typing.Optional[builtins.str]:
1462
+ '''The AWS account in which this custom line item will be applied to.
1463
+
1464
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-customlineitem.html#cfn-billingconductor-customlineitem-accountid
1465
+ '''
1466
+ result = self._values.get("account_id")
1467
+ return typing.cast(typing.Optional[builtins.str], result)
1468
+
1436
1469
  @builtins.property
1437
1470
  def billing_period_range(
1438
1471
  self,
@@ -2573,6 +2606,7 @@ def _typecheckingstub__6c43da03f91fab487cb7b12443aac4a35ef34bfe36c0ce02a150eca1a
2573
2606
  *,
2574
2607
  billing_group_arn: builtins.str,
2575
2608
  name: builtins.str,
2609
+ account_id: typing.Optional[builtins.str] = None,
2576
2610
  billing_period_range: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCustomLineItem.BillingPeriodRangeProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2577
2611
  custom_line_item_charge_details: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCustomLineItem.CustomLineItemChargeDetailsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2578
2612
  description: typing.Optional[builtins.str] = None,
@@ -2605,6 +2639,12 @@ def _typecheckingstub__199c4dc41e71d5adccf791ecf26d6b120bd52ba567a7e0882e3d5247e
2605
2639
  """Type checking stubs"""
2606
2640
  pass
2607
2641
 
2642
+ def _typecheckingstub__485a08cb6e43ed7a5b52fa253797377db356b8fe1ea1d3001a00d7a9b422d441(
2643
+ value: typing.Optional[builtins.str],
2644
+ ) -> None:
2645
+ """Type checking stubs"""
2646
+ pass
2647
+
2608
2648
  def _typecheckingstub__4c5735856393235c9af0411ca8b7a8879608ebdefed633e1a33f50f454aac347(
2609
2649
  value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnCustomLineItem.BillingPeriodRangeProperty]],
2610
2650
  ) -> None:
@@ -2675,6 +2715,7 @@ def _typecheckingstub__7a7b2e875d39abe8a3c0b572bc75c4dac4bd0fc7005579ba31e1612f8
2675
2715
  *,
2676
2716
  billing_group_arn: builtins.str,
2677
2717
  name: builtins.str,
2718
+ account_id: typing.Optional[builtins.str] = None,
2678
2719
  billing_period_range: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCustomLineItem.BillingPeriodRangeProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2679
2720
  custom_line_item_charge_details: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCustomLineItem.CustomLineItemChargeDetailsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2680
2721
  description: typing.Optional[builtins.str] = None,