@awboost/cfn-resource-types 0.1.33 → 0.1.35

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.
@@ -5,7 +5,12 @@ import type { ResourceOptions as $ResourceOptions } from "@awboost/cfn-template-
5
5
  * You must first create and start the CC configuration recorder in order to create CC managed rules with CFNlong. For more information, see [Managing the Configuration Recorder](https://docs.aws.amazon.com/config/latest/developerguide/stop-start-recorder.html).
6
6
  Adds or updates an CC rule to evaluate if your AWS resources comply with your desired configurations. For information on how many CC rules you can have per account, see [Service Limits](https://docs.aws.amazon.com/config/latest/developerguide/configlimits.html) in the *Developer Guide*.
7
7
  There are two types of rules: *Managed Rules* and *Custom Rules*. You can use the ``ConfigRule`` resource to create both CC Managed Rules and CC Custom Rules.
8
- CC Managed Rules are predefined, customizable rules created by CC. For a list of managed rules, see [List of Managed Rules](https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-aws-config.html). If you are adding an CC managed rule, you must specify the rule's identifi
8
+ CC Managed Rules are predefined, customizable rules created by CC. For a list of managed rules, see [List of Managed Rules](https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-aws-config.html). If you are adding an CC managed rule, you must specify the rule's identifier for the ``SourceIdentifier`` key.
9
+ CC Custom Rules are rules that you create from scratch. There are two ways to create CC custom rules: with Lambda functions ([Developer Guide](https://docs.aws.amazon.com/config/latest/developerguide/gettingstarted-concepts.html#gettingstarted-concepts-function)) and with CFNGUARDshort ([Guard GitHub Repository](https://docs.aws.amazon.com/https://github.com/aws-cloudformation/cloudformation-guard)), a policy-as-code language. CC custom rules created with LAMlong are called *Custom Lambda Rules* and CC custom rules created with CFNGUARDshort are called *Custom Policy Rules*.
10
+ If you are adding a new CC Custom LAM rule, you first need to create an LAMlong function that the rule invokes to evaluate your resources. When you use the ``ConfigRule`` resource to add a Custom LAM rule to CC, you must specify the Amazon Resource Name (ARN) that LAMlong assigns to the function. You specify the ARN in the ``SourceIdentifier`` key. This key is part of the ``Source`` object, which is part of the ``ConfigRule`` object.
11
+ For any new CC rule that you add, specify the ``ConfigRuleName`` in the ``ConfigRule`` object. Do not specify the ``ConfigRuleArn`` or the ``ConfigRuleId``. These values are generated by CC for new rules.
12
+ If you are updating a rule that you added previously, you can specify the rule by ``ConfigRuleName``, ``ConfigRuleId``, or ``ConfigRuleArn`` in the ``ConfigRule`` data type that you use in this request.
13
+ For more information about developing and using CC rules, see [Evaluating Resources with Rules](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html) in the *Developer Guide*.
9
14
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configrule.html}
10
15
  */
11
16
  export type ConfigConfigRuleProperties = {
@@ -173,7 +178,12 @@ export type SourceDetail = {
173
178
  * You must first create and start the CC configuration recorder in order to create CC managed rules with CFNlong. For more information, see [Managing the Configuration Recorder](https://docs.aws.amazon.com/config/latest/developerguide/stop-start-recorder.html).
174
179
  Adds or updates an CC rule to evaluate if your AWS resources comply with your desired configurations. For information on how many CC rules you can have per account, see [Service Limits](https://docs.aws.amazon.com/config/latest/developerguide/configlimits.html) in the *Developer Guide*.
175
180
  There are two types of rules: *Managed Rules* and *Custom Rules*. You can use the ``ConfigRule`` resource to create both CC Managed Rules and CC Custom Rules.
176
- CC Managed Rules are predefined, customizable rules created by CC. For a list of managed rules, see [List of Managed Rules](https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-aws-config.html). If you are adding an CC managed rule, you must specify the rule's identifi
181
+ CC Managed Rules are predefined, customizable rules created by CC. For a list of managed rules, see [List of Managed Rules](https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-aws-config.html). If you are adding an CC managed rule, you must specify the rule's identifier for the ``SourceIdentifier`` key.
182
+ CC Custom Rules are rules that you create from scratch. There are two ways to create CC custom rules: with Lambda functions ([Developer Guide](https://docs.aws.amazon.com/config/latest/developerguide/gettingstarted-concepts.html#gettingstarted-concepts-function)) and with CFNGUARDshort ([Guard GitHub Repository](https://docs.aws.amazon.com/https://github.com/aws-cloudformation/cloudformation-guard)), a policy-as-code language. CC custom rules created with LAMlong are called *Custom Lambda Rules* and CC custom rules created with CFNGUARDshort are called *Custom Policy Rules*.
183
+ If you are adding a new CC Custom LAM rule, you first need to create an LAMlong function that the rule invokes to evaluate your resources. When you use the ``ConfigRule`` resource to add a Custom LAM rule to CC, you must specify the Amazon Resource Name (ARN) that LAMlong assigns to the function. You specify the ARN in the ``SourceIdentifier`` key. This key is part of the ``Source`` object, which is part of the ``ConfigRule`` object.
184
+ For any new CC rule that you add, specify the ``ConfigRuleName`` in the ``ConfigRule`` object. Do not specify the ``ConfigRuleArn`` or the ``ConfigRuleId``. These values are generated by CC for new rules.
185
+ If you are updating a rule that you added previously, you can specify the rule by ``ConfigRuleName``, ``ConfigRuleId``, or ``ConfigRuleArn`` in the ``ConfigRule`` data type that you use in this request.
186
+ For more information about developing and using CC rules, see [Evaluating Resources with Rules](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html) in the *Developer Guide*.
177
187
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configrule.html}
178
188
  */
179
189
  export declare class ConfigConfigRule extends $Resource<"AWS::Config::ConfigRule", ConfigConfigRuleProperties, ConfigConfigRuleAttributes> {
@@ -4,7 +4,12 @@ import { Resource as $Resource } from "@awboost/cfn-template-builder/template/re
4
4
  * You must first create and start the CC configuration recorder in order to create CC managed rules with CFNlong. For more information, see [Managing the Configuration Recorder](https://docs.aws.amazon.com/config/latest/developerguide/stop-start-recorder.html).
5
5
  Adds or updates an CC rule to evaluate if your AWS resources comply with your desired configurations. For information on how many CC rules you can have per account, see [Service Limits](https://docs.aws.amazon.com/config/latest/developerguide/configlimits.html) in the *Developer Guide*.
6
6
  There are two types of rules: *Managed Rules* and *Custom Rules*. You can use the ``ConfigRule`` resource to create both CC Managed Rules and CC Custom Rules.
7
- CC Managed Rules are predefined, customizable rules created by CC. For a list of managed rules, see [List of Managed Rules](https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-aws-config.html). If you are adding an CC managed rule, you must specify the rule's identifi
7
+ CC Managed Rules are predefined, customizable rules created by CC. For a list of managed rules, see [List of Managed Rules](https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-aws-config.html). If you are adding an CC managed rule, you must specify the rule's identifier for the ``SourceIdentifier`` key.
8
+ CC Custom Rules are rules that you create from scratch. There are two ways to create CC custom rules: with Lambda functions ([Developer Guide](https://docs.aws.amazon.com/config/latest/developerguide/gettingstarted-concepts.html#gettingstarted-concepts-function)) and with CFNGUARDshort ([Guard GitHub Repository](https://docs.aws.amazon.com/https://github.com/aws-cloudformation/cloudformation-guard)), a policy-as-code language. CC custom rules created with LAMlong are called *Custom Lambda Rules* and CC custom rules created with CFNGUARDshort are called *Custom Policy Rules*.
9
+ If you are adding a new CC Custom LAM rule, you first need to create an LAMlong function that the rule invokes to evaluate your resources. When you use the ``ConfigRule`` resource to add a Custom LAM rule to CC, you must specify the Amazon Resource Name (ARN) that LAMlong assigns to the function. You specify the ARN in the ``SourceIdentifier`` key. This key is part of the ``Source`` object, which is part of the ``ConfigRule`` object.
10
+ For any new CC rule that you add, specify the ``ConfigRuleName`` in the ``ConfigRule`` object. Do not specify the ``ConfigRuleArn`` or the ``ConfigRuleId``. These values are generated by CC for new rules.
11
+ If you are updating a rule that you added previously, you can specify the rule by ``ConfigRuleName``, ``ConfigRuleId``, or ``ConfigRuleArn`` in the ``ConfigRule`` data type that you use in this request.
12
+ For more information about developing and using CC rules, see [Evaluating Resources with Rules](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html) in the *Developer Guide*.
8
13
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configrule.html}
9
14
  */
10
15
  export class ConfigConfigRule extends $Resource {
@@ -1,16 +1,17 @@
1
1
  import { Resource as $Resource } from "@awboost/cfn-template-builder/template/resource";
2
2
  import type { ResourceOptions as $ResourceOptions } from "@awboost/cfn-template-builder/template";
3
3
  /**
4
- * Resource Type definition for AWS::EC2::NetworkAcl
4
+ * Resource type definition for `AWS::EC2::NetworkAcl`.
5
+ * Specifies a network ACL for your VPC.
5
6
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkacl.html}
6
7
  */
7
8
  export type EC2NetworkAclProperties = {
8
9
  /**
9
- * The tags to assign to the network ACL.
10
+ * The tags for the network ACL.
10
11
  */
11
12
  Tags?: Tag[];
12
13
  /**
13
- * The ID of the VPC.
14
+ * The ID of the VPC for the network ACL.
14
15
  */
15
16
  VpcId: string;
16
17
  };
@@ -23,14 +24,22 @@ export type EC2NetworkAclAttributes = {
23
24
  };
24
25
  /**
25
26
  * Type definition for `AWS::EC2::NetworkAcl.Tag`.
27
+ * Specifies a tag. For more information, see [Add tags to a resource](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#cloudformation-add-tag-specifications).
26
28
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkacl-tag.html}
27
29
  */
28
30
  export type Tag = {
31
+ /**
32
+ * The tag key.
33
+ */
29
34
  Key: string;
35
+ /**
36
+ * The tag value.
37
+ */
30
38
  Value: string;
31
39
  };
32
40
  /**
33
- * Resource Type definition for AWS::EC2::NetworkAcl
41
+ * Resource type definition for `AWS::EC2::NetworkAcl`.
42
+ * Specifies a network ACL for your VPC.
34
43
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkacl.html}
35
44
  */
36
45
  export declare class EC2NetworkAcl extends $Resource<"AWS::EC2::NetworkAcl", EC2NetworkAclProperties, EC2NetworkAclAttributes> {
@@ -1,6 +1,7 @@
1
1
  import { Resource as $Resource } from "@awboost/cfn-template-builder/template/resource";
2
2
  /**
3
- * Resource Type definition for AWS::EC2::NetworkAcl
3
+ * Resource type definition for `AWS::EC2::NetworkAcl`.
4
+ * Specifies a network ACL for your VPC.
4
5
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkacl.html}
5
6
  */
6
7
  export class EC2NetworkAcl extends $Resource {
@@ -4,7 +4,8 @@ import type { ResourceOptions as $ResourceOptions } from "@awboost/cfn-template-
4
4
  * Resource type definition for `AWS::IAM::RolePolicy`.
5
5
  * Adds or updates an inline policy document that is embedded in the specified IAM role.
6
6
  When you embed an inline policy in a role, the inline policy is used as part of the role's access (permissions) policy. The role's trust policy is created at the same time as the role, using [CreateRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html). You can update a role's trust policy using [UpdateAssumeRolePolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateAssumeRolePolicy.html). For information about roles, see [roles](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-toplevel.html) in the *IAM User Guide*.
7
- A role can also have a managed policy attached to it. To attach a managed policy to a role, use [AWS::IAM::Role](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html). To create a new managed policy, use [AWS::IAM::ManagedPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-i
7
+ A role can also have a managed policy attached to it. To attach a managed policy to a role, use [AWS::IAM::Role](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html). To create a new managed policy, use [AWS::IAM::ManagedPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html). For information about policies, see [Managed policies and inline policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *IAM User Guide*.
8
+ For information about the maximum number of inline policies that you can embed with a role, see [IAM and quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *IAM User Guide*.
8
9
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-rolepolicy.html}
9
10
  */
10
11
  export type IAMRolePolicyProperties = {
@@ -32,7 +33,8 @@ export type IAMRolePolicyProperties = {
32
33
  * Resource type definition for `AWS::IAM::RolePolicy`.
33
34
  * Adds or updates an inline policy document that is embedded in the specified IAM role.
34
35
  When you embed an inline policy in a role, the inline policy is used as part of the role's access (permissions) policy. The role's trust policy is created at the same time as the role, using [CreateRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html). You can update a role's trust policy using [UpdateAssumeRolePolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateAssumeRolePolicy.html). For information about roles, see [roles](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-toplevel.html) in the *IAM User Guide*.
35
- A role can also have a managed policy attached to it. To attach a managed policy to a role, use [AWS::IAM::Role](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html). To create a new managed policy, use [AWS::IAM::ManagedPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-i
36
+ A role can also have a managed policy attached to it. To attach a managed policy to a role, use [AWS::IAM::Role](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html). To create a new managed policy, use [AWS::IAM::ManagedPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html). For information about policies, see [Managed policies and inline policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *IAM User Guide*.
37
+ For information about the maximum number of inline policies that you can embed with a role, see [IAM and quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *IAM User Guide*.
36
38
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-rolepolicy.html}
37
39
  */
38
40
  export declare class IAMRolePolicy extends $Resource<"AWS::IAM::RolePolicy", IAMRolePolicyProperties, Record<string, never>> {
@@ -3,7 +3,8 @@ import { Resource as $Resource } from "@awboost/cfn-template-builder/template/re
3
3
  * Resource type definition for `AWS::IAM::RolePolicy`.
4
4
  * Adds or updates an inline policy document that is embedded in the specified IAM role.
5
5
  When you embed an inline policy in a role, the inline policy is used as part of the role's access (permissions) policy. The role's trust policy is created at the same time as the role, using [CreateRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html). You can update a role's trust policy using [UpdateAssumeRolePolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateAssumeRolePolicy.html). For information about roles, see [roles](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-toplevel.html) in the *IAM User Guide*.
6
- A role can also have a managed policy attached to it. To attach a managed policy to a role, use [AWS::IAM::Role](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html). To create a new managed policy, use [AWS::IAM::ManagedPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-i
6
+ A role can also have a managed policy attached to it. To attach a managed policy to a role, use [AWS::IAM::Role](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html). To create a new managed policy, use [AWS::IAM::ManagedPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html). For information about policies, see [Managed policies and inline policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *IAM User Guide*.
7
+ For information about the maximum number of inline policies that you can embed with a role, see [IAM and quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *IAM User Guide*.
7
8
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-rolepolicy.html}
8
9
  */
9
10
  export class IAMRolePolicy extends $Resource {
@@ -9,6 +9,13 @@ export type IoTSiteWiseAssetProperties = {
9
9
  * A description for the asset
10
10
  */
11
11
  AssetDescription?: string;
12
+ /**
13
+ * The External ID of the asset
14
+ * @minLength `2`
15
+ * @maxLength `128`
16
+ * @pattern `[a-zA-Z0-9_][a-zA-Z_\-0-9.:]*[a-zA-Z0-9_]+`
17
+ */
18
+ AssetExternalId?: string;
12
19
  AssetHierarchies?: AssetHierarchy[];
13
20
  /**
14
21
  * The ID of the asset model from which to create the asset.
@@ -33,10 +40,31 @@ export type IoTSiteWiseAssetAttributes = {
33
40
  * The ARN of the asset
34
41
  */
35
42
  AssetArn: string;
43
+ AssetHierarchies: {
44
+ /**
45
+ * Customer provided actual UUID for property
46
+ * @minLength `36`
47
+ * @maxLength `36`
48
+ * @pattern `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`
49
+ */
50
+ Id: string;
51
+ }[];
36
52
  /**
37
53
  * The ID of the asset
54
+ * @minLength `36`
55
+ * @maxLength `36`
56
+ * @pattern `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`
38
57
  */
39
58
  AssetId: string;
59
+ AssetProperties: {
60
+ /**
61
+ * Customer provided actual UUID for property
62
+ * @minLength `36`
63
+ * @maxLength `36`
64
+ * @pattern `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`
65
+ */
66
+ Id: string;
67
+ }[];
40
68
  };
41
69
  /**
42
70
  * Type definition for `AWS::IoTSiteWise::Asset.AssetHierarchy`.
@@ -48,13 +76,20 @@ export type AssetHierarchy = {
48
76
  * The ID of the child asset to be associated.
49
77
  */
50
78
  ChildAssetId: string;
79
+ /**
80
+ * String-friendly customer provided external ID
81
+ * @minLength `2`
82
+ * @maxLength `128`
83
+ * @pattern `[a-zA-Z0-9_][a-zA-Z_\-0-9.:]*[a-zA-Z0-9_]+`
84
+ */
85
+ ExternalId?: string;
51
86
  /**
52
87
  * The LogicalID of a hierarchy in the parent asset's model.
53
88
  * @minLength `1`
54
89
  * @maxLength `256`
55
90
  * @pattern `[^\u0000-\u001F\u007F]+`
56
91
  */
57
- LogicalId: string;
92
+ LogicalId?: string;
58
93
  };
59
94
  /**
60
95
  * Type definition for `AWS::IoTSiteWise::Asset.AssetProperty`.
@@ -66,13 +101,20 @@ export type AssetProperty = {
66
101
  * The property alias that identifies the property.
67
102
  */
68
103
  Alias?: string;
104
+ /**
105
+ * String-friendly customer provided external ID
106
+ * @minLength `2`
107
+ * @maxLength `128`
108
+ * @pattern `[a-zA-Z0-9_][a-zA-Z_\-0-9.:]*[a-zA-Z0-9_]+`
109
+ */
110
+ ExternalId?: string;
69
111
  /**
70
112
  * Customer provided ID for property.
71
113
  * @minLength `1`
72
114
  * @maxLength `256`
73
115
  * @pattern `[^\u0000-\u001F\u007F]+`
74
116
  */
75
- LogicalId: string;
117
+ LogicalId?: string;
76
118
  /**
77
119
  * The MQTT notification state (ENABLED or DISABLED) for this asset property.
78
120
  */
@@ -13,6 +13,13 @@ export type IoTSiteWiseAssetModelProperties = {
13
13
  * A description for the asset model.
14
14
  */
15
15
  AssetModelDescription?: string;
16
+ /**
17
+ * The external ID of the asset model.
18
+ * @minLength `2`
19
+ * @maxLength `128`
20
+ * @pattern `[a-zA-Z0-9_][a-zA-Z_\-0-9.:]*[a-zA-Z0-9_]+`
21
+ */
22
+ AssetModelExternalId?: string;
16
23
  /**
17
24
  * The hierarchy definitions of the asset model. Each hierarchy specifies an asset model whose assets can be children of any other assets created from this asset model. You can specify up to 10 hierarchies per asset model.
18
25
  */
@@ -25,6 +32,10 @@ export type IoTSiteWiseAssetModelProperties = {
25
32
  * The property definitions of the asset model. You can specify up to 200 properties per asset model.
26
33
  */
27
34
  AssetModelProperties?: AssetModelProperty[];
35
+ /**
36
+ * The type of the asset model (ASSET_MODEL OR COMPONENT_MODEL)
37
+ */
38
+ AssetModelType?: string;
28
39
  /**
29
40
  * A list of key-value pairs that contain metadata for the asset model.
30
41
  */
@@ -39,10 +50,147 @@ export type IoTSiteWiseAssetModelAttributes = {
39
50
  * The ARN of the asset model, which has the following format.
40
51
  */
41
52
  AssetModelArn: string;
53
+ /**
54
+ * The composite asset models that are part of this asset model. Composite asset models are asset models that contain specific properties.
55
+ */
56
+ AssetModelCompositeModels: {
57
+ /**
58
+ * The property definitions of the asset model. You can specify up to 200 properties per asset model.
59
+ */
60
+ CompositeModelProperties: {
61
+ /**
62
+ * The ID of the Asset Model Property
63
+ * @minLength `36`
64
+ * @maxLength `36`
65
+ * @pattern `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`
66
+ */
67
+ Id: string;
68
+ /**
69
+ * The property type
70
+ */
71
+ Type: {
72
+ Metric: {
73
+ /**
74
+ * The list of variables used in the expression.
75
+ */
76
+ Variables: {
77
+ /**
78
+ * The variable that identifies an asset property from which to use values.
79
+ */
80
+ Value: {
81
+ /**
82
+ * The ID of the property that is trying to be referenced
83
+ * @minLength `36`
84
+ * @maxLength `36`
85
+ * @pattern `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`
86
+ */
87
+ PropertyId: string;
88
+ };
89
+ }[];
90
+ };
91
+ Transform: {
92
+ /**
93
+ * The list of variables used in the expression.
94
+ */
95
+ Variables: {
96
+ /**
97
+ * The variable that identifies an asset property from which to use values.
98
+ */
99
+ Value: {
100
+ /**
101
+ * The ID of the property that is trying to be referenced
102
+ * @minLength `36`
103
+ * @maxLength `36`
104
+ * @pattern `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`
105
+ */
106
+ PropertyId: string;
107
+ };
108
+ }[];
109
+ };
110
+ };
111
+ }[];
112
+ /**
113
+ * The Actual ID of the composite model
114
+ * @minLength `36`
115
+ * @maxLength `36`
116
+ * @pattern `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`
117
+ */
118
+ Id: string;
119
+ }[];
120
+ /**
121
+ * The hierarchy definitions of the asset model. Each hierarchy specifies an asset model whose assets can be children of any other assets created from this asset model. You can specify up to 10 hierarchies per asset model.
122
+ */
123
+ AssetModelHierarchies: {
124
+ /**
125
+ * Customer provided actual ID for hierarchy
126
+ * @minLength `36`
127
+ * @maxLength `36`
128
+ * @pattern `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`
129
+ */
130
+ Id: string;
131
+ }[];
42
132
  /**
43
133
  * The ID of the asset model.
134
+ * @minLength `36`
135
+ * @maxLength `36`
136
+ * @pattern `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`
44
137
  */
45
138
  AssetModelId: string;
139
+ /**
140
+ * The property definitions of the asset model. You can specify up to 200 properties per asset model.
141
+ */
142
+ AssetModelProperties: {
143
+ /**
144
+ * The ID of the Asset Model Property
145
+ * @minLength `36`
146
+ * @maxLength `36`
147
+ * @pattern `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`
148
+ */
149
+ Id: string;
150
+ /**
151
+ * The property type
152
+ */
153
+ Type: {
154
+ Metric: {
155
+ /**
156
+ * The list of variables used in the expression.
157
+ */
158
+ Variables: {
159
+ /**
160
+ * The variable that identifies an asset property from which to use values.
161
+ */
162
+ Value: {
163
+ /**
164
+ * The ID of the property that is trying to be referenced
165
+ * @minLength `36`
166
+ * @maxLength `36`
167
+ * @pattern `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`
168
+ */
169
+ PropertyId: string;
170
+ };
171
+ }[];
172
+ };
173
+ Transform: {
174
+ /**
175
+ * The list of variables used in the expression.
176
+ */
177
+ Variables: {
178
+ /**
179
+ * The variable that identifies an asset property from which to use values.
180
+ */
181
+ Value: {
182
+ /**
183
+ * The ID of the property that is trying to be referenced
184
+ * @minLength `36`
185
+ * @maxLength `36`
186
+ * @pattern `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`
187
+ */
188
+ PropertyId: string;
189
+ };
190
+ }[];
191
+ };
192
+ };
193
+ }[];
46
194
  };
47
195
  /**
48
196
  * Type definition for `AWS::IoTSiteWise::AssetModel.AssetModelCompositeModel`.
@@ -50,6 +198,10 @@ export type IoTSiteWiseAssetModelAttributes = {
50
198
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-assetmodelcompositemodel.html}
51
199
  */
52
200
  export type AssetModelCompositeModel = {
201
+ /**
202
+ * The component model ID for which the composite model is composed of
203
+ */
204
+ ComposedAssetModelId?: string;
53
205
  /**
54
206
  * The property definitions of the asset model. You can specify up to 200 properties per asset model.
55
207
  */
@@ -58,10 +210,28 @@ export type AssetModelCompositeModel = {
58
210
  * A description for the asset composite model.
59
211
  */
60
212
  Description?: string;
213
+ /**
214
+ * The External ID of the composite model
215
+ * @minLength `2`
216
+ * @maxLength `128`
217
+ * @pattern `[a-zA-Z0-9_][a-zA-Z_\-0-9.:]*[a-zA-Z0-9_]+`
218
+ */
219
+ ExternalId?: string;
61
220
  /**
62
221
  * A unique, friendly name for the asset composite model.
63
222
  */
64
223
  Name: string;
224
+ /**
225
+ * The parent composite model External ID
226
+ * @minLength `2`
227
+ * @maxLength `128`
228
+ * @pattern `[a-zA-Z0-9_][a-zA-Z_\-0-9.:]*[a-zA-Z0-9_]+`
229
+ */
230
+ ParentAssetModelCompositeModelExternalId?: string;
231
+ /**
232
+ * The path of the composite model. This is only for derived composite models
233
+ */
234
+ Path?: string[];
65
235
  /**
66
236
  * The type of the composite model. For alarm composite models, this type is AWS/ALARM
67
237
  */
@@ -78,12 +248,19 @@ export type AssetModelHierarchy = {
78
248
  */
79
249
  ChildAssetModelId: string;
80
250
  /**
81
- * Customer provided ID for hierarchy.
251
+ * Customer provided external ID for hierarchy
252
+ * @minLength `2`
253
+ * @maxLength `128`
254
+ * @pattern `[a-zA-Z0-9_][a-zA-Z_\-0-9.:]*[a-zA-Z0-9_]+`
255
+ */
256
+ ExternalId?: string;
257
+ /**
258
+ * Customer provided logical ID for hierarchy.
82
259
  * @minLength `1`
83
260
  * @maxLength `256`
84
261
  * @pattern `[^\u0000-\u001F\u007F]+`
85
262
  */
86
- LogicalId: string;
263
+ LogicalId?: string;
87
264
  /**
88
265
  * The name of the asset model hierarchy.
89
266
  */
@@ -104,12 +281,19 @@ export type AssetModelProperty = {
104
281
  */
105
282
  DataTypeSpec?: DataTypeSpec;
106
283
  /**
107
- * Customer provided ID for property.
284
+ * The External ID of the Asset Model Property
285
+ * @minLength `2`
286
+ * @maxLength `128`
287
+ * @pattern `[a-zA-Z0-9_][a-zA-Z_\-0-9.:]*[a-zA-Z0-9_]+`
288
+ */
289
+ ExternalId?: string;
290
+ /**
291
+ * Customer provided Logical ID for property.
108
292
  * @minLength `1`
109
293
  * @maxLength `256`
110
294
  * @pattern `[^\u0000-\u001F\u007F]+`
111
295
  */
112
- LogicalId: string;
296
+ LogicalId?: string;
113
297
  /**
114
298
  * The name of the asset model property.
115
299
  */
@@ -183,6 +367,17 @@ export type MetricWindow = {
183
367
  */
184
368
  Tumbling?: TumblingWindow;
185
369
  };
370
+ /**
371
+ * Type definition for `AWS::IoTSiteWise::AssetModel.PropertyPathDefinition`.
372
+ * The definition for property path which is used to reference properties in transforms/metrics
373
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-propertypathdefinition.html}
374
+ */
375
+ export type PropertyPathDefinition = {
376
+ /**
377
+ * The name of the property
378
+ */
379
+ Name: string;
380
+ };
186
381
  /**
187
382
  * Type definition for `AWS::IoTSiteWise::AssetModel.PropertyType`.
188
383
  * Contains a property type, which can be one of attribute, measurement, metric, or transform.
@@ -241,18 +436,43 @@ export type TypeName = "Measurement" | "Attribute" | "Transform" | "Metric";
241
436
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-variablevalue.html}
242
437
  */
243
438
  export type VariableValue = {
439
+ /**
440
+ * The External ID of the hierarchy that is trying to be referenced
441
+ * @minLength `2`
442
+ * @maxLength `128`
443
+ * @pattern `[a-zA-Z0-9_][a-zA-Z_\-0-9.:]*[a-zA-Z0-9_]+`
444
+ */
445
+ HierarchyExternalId?: string;
446
+ /**
447
+ * The ID of the hierarchy that is trying to be referenced
448
+ * @minLength `36`
449
+ * @maxLength `36`
450
+ * @pattern `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`
451
+ */
452
+ HierarchyId?: string;
244
453
  /**
245
454
  * @minLength `1`
246
455
  * @maxLength `256`
247
456
  * @pattern `[^\u0000-\u001F\u007F]+`
248
457
  */
249
458
  HierarchyLogicalId?: string;
459
+ /**
460
+ * The External ID of the property that is trying to be referenced
461
+ * @minLength `2`
462
+ * @maxLength `128`
463
+ * @pattern `[a-zA-Z0-9_][a-zA-Z_\-0-9.:]*[a-zA-Z0-9_]+`
464
+ */
465
+ PropertyExternalId?: string;
250
466
  /**
251
467
  * @minLength `1`
252
468
  * @maxLength `256`
253
469
  * @pattern `[^\u0000-\u001F\u007F]+`
254
470
  */
255
- PropertyLogicalId: string;
471
+ PropertyLogicalId?: string;
472
+ /**
473
+ * The path of the property that is trying to be referenced
474
+ */
475
+ PropertyPath?: PropertyPathDefinition[];
256
476
  };
257
477
  /**
258
478
  * Resource schema for AWS::IoTSiteWise::AssetModel
@@ -3,7 +3,10 @@ import type { ResourceOptions as $ResourceOptions } from "@awboost/cfn-template-
3
3
  /**
4
4
  * The ``AWS::Lambda::Function`` resource creates a Lambda function. To create a function, you need a [deployment package](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html) and an [execution role](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html). The deployment package is a .zip file archive or container image that contains your function code. The execution role grants the function permission to use AWS services, such as Amazon CloudWatch Logs for log streaming and AWS X-Ray for request tracing.
5
5
  You set the package type to ``Image`` if the deployment package is a [container image](https://docs.aws.amazon.com/lambda/latest/dg/lambda-images.html). For a container image, the code property must include the URI of a container image in the Amazon ECR registry. You do not need to specify the handler and runtime properties.
6
- You set the package type to ``Zip`` if the deployment package is a [.zip file archive](https://docs.aws.amazon.com/lam
6
+ You set the package type to ``Zip`` if the deployment package is a [.zip file archive](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html#gettingstarted-package-zip). For a .zip file archive, the code property specifies the location of the .zip file. You must also specify the handler and runtime properties. For a Python example, see [Deploy Python Lambda functions with .zip file archives](https://docs.aws.amazon.com/lambda/latest/dg/python-package.html).
7
+ You can use [code signing](https://docs.aws.amazon.com/lambda/latest/dg/configuration-codesigning.html) if your deployment package is a .zip file archive. To enable code signing for this function, specify the ARN of a code-signing configuration. When a user attempts to deploy a code package with ``UpdateFunctionCode``, Lambda checks that the code package has a valid signature from a trusted publisher. The code-signing configuration includes a set of signing profiles, which define the trusted publishers for this function.
8
+ Note that you configure [provisioned concurrency](https://docs.aws.amazon.com/lambda/latest/dg/provisioned-concurrency.html) on a ``AWS::Lambda::Version`` or a ``AWS::Lambda::Alias``.
9
+ For a complete introduction to Lambda functions, see [What is Lambda?](https://docs.aws.amazon.com/lambda/latest/dg/lambda-welcome.html) in the *Lambda developer guide.*
7
10
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html}
8
11
  */
9
12
  export type LambdaFunctionProperties = {
@@ -176,7 +179,7 @@ export type Code = {
176
179
  /**
177
180
  * (Node.js and Python) The source code of your Lambda function. If you include your function source inline with this parameter, CFN places it in a file named ``index`` and zips it to create a [deployment package](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html). This zip file cannot exceed 4MB. For the ``Handler`` property, the first part of the handler identifier must be ``index``. For example, ``index.handler``.
178
181
  For JSON, you must escape quotes and special characters such as newline (``\n``) with a backslash.
179
- If you specify a function that interacts with an AWS CloudFormation custom resource, you don't have to write your own functions to send responses to the custom resource that invoked the function. AWS CloudFormation provides a response module ([cfn-response](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-lambda-function-code-cfnresponsemodule.html)) that simplifies sending responses. See [Using Lambda with CloudFormation](https://docs
182
+ If you specify a function that interacts with an AWS CloudFormation custom resource, you don't have to write your own functions to send responses to the custom resource that invoked the function. AWS CloudFormation provides a response module ([cfn-response](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-lambda-function-code-cfnresponsemodule.html)) that simplifies sending responses. See [Using Lambda with CloudFormation](https://docs.aws.amazon.com/lambda/latest/dg/services-cloudformation.html) for details.
180
183
  */
181
184
  ZipFile?: string;
182
185
  };
@@ -297,7 +300,9 @@ export type RuntimeManagementConfig = {
297
300
  * Specify the runtime update mode.
298
301
  + *Auto (default)* - Automatically update to the most recent and secure runtime version using a [Two-phase runtime version rollout](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-update.html#runtime-management-two-phase). This is the best choice for most customers to ensure they always benefit from runtime updates.
299
302
  + *FunctionUpdate* - LAM updates the runtime of you function to the most recent and secure runtime version when you update your function. This approach synchronizes runtime updates with function deployments, giving you control over when runtime updates are applied and allowing you to detect and mitigate rare runtime update incompatibilities early. When using this setting, you need to regularly update your functions to keep their runtime up-to-date.
300
- + *Manual* - You specify a runtime version in your function configuration. The function will use this runtime version indefinitely. In the rare case where a new runtime version is incomp
303
+ + *Manual* - You specify a runtime version in your function configuration. The function will use this runtime version indefinitely. In the rare case where a new runtime version is incompatible with an existing function, this allows you to roll back your function to an earlier runtime version. For more information, see [Roll back a runtime version](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-update.html#runtime-management-rollback).
304
+
305
+ *Valid Values*: ``Auto`` | ``FunctionUpdate`` | ``Manual``
301
306
  */
302
307
  UpdateRuntimeOn: "Auto" | "FunctionUpdate" | "Manual";
303
308
  };
@@ -365,7 +370,10 @@ export type VpcConfig = {
365
370
  /**
366
371
  * The ``AWS::Lambda::Function`` resource creates a Lambda function. To create a function, you need a [deployment package](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html) and an [execution role](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html). The deployment package is a .zip file archive or container image that contains your function code. The execution role grants the function permission to use AWS services, such as Amazon CloudWatch Logs for log streaming and AWS X-Ray for request tracing.
367
372
  You set the package type to ``Image`` if the deployment package is a [container image](https://docs.aws.amazon.com/lambda/latest/dg/lambda-images.html). For a container image, the code property must include the URI of a container image in the Amazon ECR registry. You do not need to specify the handler and runtime properties.
368
- You set the package type to ``Zip`` if the deployment package is a [.zip file archive](https://docs.aws.amazon.com/lam
373
+ You set the package type to ``Zip`` if the deployment package is a [.zip file archive](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html#gettingstarted-package-zip). For a .zip file archive, the code property specifies the location of the .zip file. You must also specify the handler and runtime properties. For a Python example, see [Deploy Python Lambda functions with .zip file archives](https://docs.aws.amazon.com/lambda/latest/dg/python-package.html).
374
+ You can use [code signing](https://docs.aws.amazon.com/lambda/latest/dg/configuration-codesigning.html) if your deployment package is a .zip file archive. To enable code signing for this function, specify the ARN of a code-signing configuration. When a user attempts to deploy a code package with ``UpdateFunctionCode``, Lambda checks that the code package has a valid signature from a trusted publisher. The code-signing configuration includes a set of signing profiles, which define the trusted publishers for this function.
375
+ Note that you configure [provisioned concurrency](https://docs.aws.amazon.com/lambda/latest/dg/provisioned-concurrency.html) on a ``AWS::Lambda::Version`` or a ``AWS::Lambda::Alias``.
376
+ For a complete introduction to Lambda functions, see [What is Lambda?](https://docs.aws.amazon.com/lambda/latest/dg/lambda-welcome.html) in the *Lambda developer guide.*
369
377
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html}
370
378
  */
371
379
  export declare class LambdaFunction extends $Resource<"AWS::Lambda::Function", LambdaFunctionProperties, LambdaFunctionAttributes> {
@@ -2,7 +2,10 @@ import { Resource as $Resource } from "@awboost/cfn-template-builder/template/re
2
2
  /**
3
3
  * The ``AWS::Lambda::Function`` resource creates a Lambda function. To create a function, you need a [deployment package](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html) and an [execution role](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html). The deployment package is a .zip file archive or container image that contains your function code. The execution role grants the function permission to use AWS services, such as Amazon CloudWatch Logs for log streaming and AWS X-Ray for request tracing.
4
4
  You set the package type to ``Image`` if the deployment package is a [container image](https://docs.aws.amazon.com/lambda/latest/dg/lambda-images.html). For a container image, the code property must include the URI of a container image in the Amazon ECR registry. You do not need to specify the handler and runtime properties.
5
- You set the package type to ``Zip`` if the deployment package is a [.zip file archive](https://docs.aws.amazon.com/lam
5
+ You set the package type to ``Zip`` if the deployment package is a [.zip file archive](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html#gettingstarted-package-zip). For a .zip file archive, the code property specifies the location of the .zip file. You must also specify the handler and runtime properties. For a Python example, see [Deploy Python Lambda functions with .zip file archives](https://docs.aws.amazon.com/lambda/latest/dg/python-package.html).
6
+ You can use [code signing](https://docs.aws.amazon.com/lambda/latest/dg/configuration-codesigning.html) if your deployment package is a .zip file archive. To enable code signing for this function, specify the ARN of a code-signing configuration. When a user attempts to deploy a code package with ``UpdateFunctionCode``, Lambda checks that the code package has a valid signature from a trusted publisher. The code-signing configuration includes a set of signing profiles, which define the trusted publishers for this function.
7
+ Note that you configure [provisioned concurrency](https://docs.aws.amazon.com/lambda/latest/dg/provisioned-concurrency.html) on a ``AWS::Lambda::Version`` or a ``AWS::Lambda::Alias``.
8
+ For a complete introduction to Lambda functions, see [What is Lambda?](https://docs.aws.amazon.com/lambda/latest/dg/lambda-welcome.html) in the *Lambda developer guide.*
6
9
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html}
7
10
  */
8
11
  export class LambdaFunction extends $Resource {
@@ -278,6 +278,10 @@ export type RDSDBClusterAttributes = {
278
278
  */
279
279
  Address: string;
280
280
  };
281
+ /**
282
+ * Specifies the storage throughput value for the DB cluster. This setting applies only to the gp3 storage type.
283
+ */
284
+ StorageThroughput: number;
281
285
  };
282
286
  /**
283
287
  * Type definition for `AWS::RDS::DBCluster.DBClusterRole`.