@awboost/cfn-resource-types 0.1.25 → 0.1.26

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.
Files changed (51) hide show
  1. package/lib/AWS-ApiGateway-Authorizer.d.ts +1 -1
  2. package/lib/AWS-ApiGateway-Method.d.ts +2 -2
  3. package/lib/AWS-CloudFront-Distribution.d.ts +568 -2
  4. package/lib/AWS-CloudFront-Distribution.js +2 -1
  5. package/lib/AWS-Config-ConfigRule.d.ts +61 -43
  6. package/lib/AWS-Config-ConfigRule.js +4 -1
  7. package/lib/AWS-Connect-Prompt.d.ts +1 -1
  8. package/lib/AWS-ControlTower-EnabledControl.d.ts +25 -0
  9. package/lib/AWS-DynamoDB-Table.d.ts +245 -11
  10. package/lib/AWS-DynamoDB-Table.js +5 -1
  11. package/lib/AWS-EC2-ClientVpnEndpoint.d.ts +0 -8
  12. package/lib/AWS-EC2-EC2Fleet.d.ts +1 -0
  13. package/lib/AWS-EC2-EIP.d.ts +31 -19
  14. package/lib/AWS-EC2-EIP.js +4 -1
  15. package/lib/AWS-EC2-LaunchTemplate.d.ts +422 -205
  16. package/lib/AWS-EC2-LaunchTemplate.js +8 -1
  17. package/lib/AWS-EC2-SecurityGroupEgress.d.ts +34 -19
  18. package/lib/AWS-EC2-SecurityGroupEgress.js +6 -1
  19. package/lib/AWS-EC2-SpotFleet.d.ts +1 -0
  20. package/lib/AWS-EC2-Volume.d.ts +68 -20
  21. package/lib/AWS-EC2-Volume.js +9 -1
  22. package/lib/AWS-ElastiCache-ParameterGroup.d.ts +1 -0
  23. package/lib/AWS-GameLift-Fleet.d.ts +1 -1
  24. package/lib/AWS-Glue-DataCatalogEncryptionSettings.d.ts +1 -0
  25. package/lib/AWS-Glue-TableOptimizer.d.ts +2 -2
  26. package/lib/AWS-IAM-GroupPolicy.d.ts +19 -8
  27. package/lib/AWS-IAM-GroupPolicy.js +3 -1
  28. package/lib/AWS-Lambda-Function.d.ts +78 -62
  29. package/lib/AWS-Lambda-Function.js +3 -1
  30. package/lib/AWS-Lambda-Permission.d.ts +29 -19
  31. package/lib/AWS-Lambda-Permission.js +3 -1
  32. package/lib/AWS-MediaPackageV2-Channel.d.ts +32 -4
  33. package/lib/AWS-MediaPackageV2-Channel.js +2 -1
  34. package/lib/AWS-MediaPackageV2-ChannelGroup.d.ts +18 -3
  35. package/lib/AWS-MediaPackageV2-ChannelGroup.js +2 -1
  36. package/lib/AWS-MediaPackageV2-ChannelPolicy.d.ts +6 -4
  37. package/lib/AWS-MediaPackageV2-ChannelPolicy.js +2 -1
  38. package/lib/AWS-MediaPackageV2-OriginEndpoint.d.ts +4 -4
  39. package/lib/AWS-MediaPackageV2-OriginEndpointPolicy.d.ts +7 -5
  40. package/lib/AWS-MediaPackageV2-OriginEndpointPolicy.js +2 -1
  41. package/lib/AWS-RDS-DBCluster.d.ts +0 -4
  42. package/lib/AWS-RDS-DBInstance.d.ts +491 -181
  43. package/lib/AWS-RDS-DBInstance.js +5 -1
  44. package/lib/AWS-RDS-DBParameterGroup.d.ts +41 -15
  45. package/lib/AWS-RDS-DBParameterGroup.js +5 -1
  46. package/lib/AWS-RDS-DBSubnetGroup.d.ts +20 -8
  47. package/lib/AWS-RDS-DBSubnetGroup.js +2 -1
  48. package/lib/AWS-SageMaker-FeatureGroup.d.ts +25 -0
  49. package/lib/AWS-SecretsManager-Secret.d.ts +51 -32
  50. package/lib/AWS-SecretsManager-Secret.js +6 -1
  51. package/package.json +1 -1
@@ -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::CloudFront::Distribution
3
+ * Resource type definition for `AWS::CloudFront::Distribution`.
4
+ * A distribution tells CloudFront where you want content to be delivered from, and the details about how to track and manage content delivery.
4
5
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-distribution.html}
5
6
  */
6
7
  export class CloudFrontDistribution extends $Resource {
@@ -2,36 +2,44 @@ import { Resource as $Resource } from "@awboost/cfn-template-builder/template/re
2
2
  import type { ResourceOptions as $ResourceOptions } from "@awboost/cfn-template-builder/template";
3
3
  /**
4
4
  * Resource type definition for `AWS::Config::ConfigRule`.
5
- * Schema for AWS Config ConfigRule
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
+ 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
+ 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
6
9
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configrule.html}
7
10
  */
8
11
  export type ConfigConfigRuleProperties = {
9
12
  /**
10
- * Name for the AWS Config rule
13
+ * A name for the CC rule. If you don't specify a name, CFN generates a unique physical ID and uses that ID for the rule name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html).
11
14
  */
12
15
  ConfigRuleName?: string;
13
16
  /**
14
- * Description provided for the AWS Config rule
17
+ * The description that you provide for the CC rule.
15
18
  */
16
19
  Description?: string;
17
20
  /**
18
- * List of EvaluationModeConfiguration objects
21
+ * The modes the CC rule can be evaluated in. The valid values are distinct objects. By default, the value is Detective evaluation mode only.
19
22
  */
20
23
  EvaluationModes?: EvaluationModeConfiguration[];
21
24
  /**
22
- * JSON string passed the Lambda function
25
+ * A string, in JSON format, that is passed to the CC rule Lambda function.
23
26
  */
24
27
  InputParameters?: string | Record<string, any>;
25
28
  /**
26
- * Maximum frequency at which the rule has to be evaluated
27
- */
29
+ * The maximum frequency with which CC runs evaluations for a rule. You can specify a value for ``MaximumExecutionFrequency`` when:
30
+ + You are using an AWS managed rule that is triggered at a periodic frequency.
31
+ + Your custom rule is triggered when CC delivers the configuration snapshot. For more information, see [ConfigSnapshotDeliveryProperties](https://docs.aws.amazon.com/config/latest/APIReference/API_ConfigSnapshotDeliveryProperties.html).
32
+
33
+ By default, rules with a periodic trigger are evaluated every 24 hours. To change the frequency, specify a valid value for the ``MaximumExecutionFrequency`` parameter.
34
+ */
28
35
  MaximumExecutionFrequency?: string;
29
36
  /**
30
- * Scope to constrain which resources can trigger the AWS Config rule
31
- */
37
+ * Defines which resources can trigger an evaluation for the rule. The scope can include one or more resource types, a combination of one resource type and one resource ID, or a combination of a tag key and value. Specify a scope to constrain the resources that can trigger an evaluation for the rule. If you do not specify a scope, evaluations are triggered when any resource in the recording group changes.
38
+ The scope can be empty.
39
+ */
32
40
  Scope?: Scope;
33
41
  /**
34
- * Source of events for the AWS Config rule
42
+ * Provides the rule owner (```` for managed rules, ``CUSTOM_POLICY`` for Custom Policy rules, and ``CUSTOM_LAMBDA`` for Custom Lambda rules), the rule identifier, and the notifications that cause the function to evaluate your AWS resources.
35
43
  */
36
44
  Source: Source;
37
45
  };
@@ -40,12 +48,9 @@ export type ConfigConfigRuleProperties = {
40
48
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configrule.html#aws-resource-config-configrule-return-values}
41
49
  */
42
50
  export type ConfigConfigRuleAttributes = {
43
- /**
44
- * ARN generated for the AWS Config rule
45
- */
46
51
  Arn: string;
47
52
  /**
48
- * Compliance details of the Config rule
53
+ * Indicates whether an AWS resource or CC rule is compliant and provides the number of contributors that affect the compliance.
49
54
  */
50
55
  Compliance: {
51
56
  /**
@@ -53,109 +58,122 @@ export type ConfigConfigRuleAttributes = {
53
58
  */
54
59
  Type: string;
55
60
  };
56
- /**
57
- * ID of the config rule
58
- */
59
61
  ConfigRuleId: string;
60
62
  };
61
63
  /**
62
64
  * Type definition for `AWS::Config::ConfigRule.CustomPolicyDetails`.
63
- * Custom policy details when rule is custom owned
65
+ * Provides the CustomPolicyDetails, the rule owner (```` for managed rules, ``CUSTOM_POLICY`` for Custom Policy rules, and ``CUSTOM_LAMBDA`` for Custom Lambda rules), the rule identifier, and the events that cause the evaluation of your AWS resources.
64
66
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configrule-custompolicydetails.html}
65
67
  */
66
68
  export type CustomPolicyDetails = {
67
69
  /**
68
- * Logging toggle for custom policy rule
70
+ * The boolean expression for enabling debug logging for your CC Custom Policy rule. The default value is ``false``.
69
71
  */
70
72
  EnableDebugLogDelivery?: boolean;
71
73
  /**
72
- * Runtime system for custom policy rule
74
+ * The runtime system for your CC Custom Policy rule. Guard is a policy-as-code language that allows you to write policies that are enforced by CC Custom Policy rules. For more information about Guard, see the [Guard GitHub Repository](https://docs.aws.amazon.com/https://github.com/aws-cloudformation/cloudformation-guard).
73
75
  */
74
76
  PolicyRuntime?: string;
75
77
  /**
76
- * Policy definition containing logic for custom policy rule
78
+ * The policy definition containing the logic for your CC Custom Policy rule.
77
79
  */
78
80
  PolicyText?: string;
79
81
  };
80
82
  /**
81
83
  * Type definition for `AWS::Config::ConfigRule.EvaluationModeConfiguration`.
82
- * Evaluation mode for the AWS Config rule
84
+ * The configuration object for CC rule evaluation mode. The supported valid values are Detective or Proactive.
83
85
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configrule-evaluationmodeconfiguration.html}
84
86
  */
85
87
  export type EvaluationModeConfiguration = {
86
88
  /**
87
- * Mode of evaluation of AWS Config rule
89
+ * The mode of an evaluation. The valid values are Detective or Proactive.
88
90
  */
89
91
  Mode?: string;
90
92
  };
91
93
  /**
92
94
  * Type definition for `AWS::Config::ConfigRule.Scope`.
93
- * Scope to constrain which resources can trigger the rule
95
+ * Defines which resources trigger an evaluation for an CC rule. The scope can include one or more resource types, a combination of a tag key and value, or a combination of one resource type and one resource ID. Specify a scope to constrain which resources trigger an evaluation for a rule. Otherwise, evaluations for the rule are triggered when any resource in your recording group changes in configuration.
94
96
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configrule-scope.html}
95
97
  */
96
98
  export type Scope = {
97
99
  /**
98
- * ID of the only one resource which we want to trigger the rule
100
+ * The ID of the only AWS resource that you want to trigger an evaluation for the rule. If you specify a resource ID, you must specify one resource type for ``ComplianceResourceTypes``.
99
101
  */
100
102
  ComplianceResourceId?: string;
101
103
  /**
102
- * Resource types of resources which we want to trigger the rule
104
+ * The resource types of only those AWS resources that you want to trigger an evaluation for the rule. You can only specify one type if you also specify a resource ID for ``ComplianceResourceId``.
103
105
  */
104
106
  ComplianceResourceTypes?: string[];
105
107
  /**
106
- * Tag key applied only to resources which we want to trigger the rule
108
+ * The tag key that is applied to only those AWS resources that you want to trigger an evaluation for the rule.
107
109
  */
108
110
  TagKey?: string;
109
111
  /**
110
- * Tag value applied only to resources which we want to trigger the rule
112
+ * The tag value applied to only those AWS resources that you want to trigger an evaluation for the rule. If you specify a value for ``TagValue``, you must also specify a value for ``TagKey``.
111
113
  */
112
114
  TagValue?: string;
113
115
  };
114
116
  /**
115
117
  * Type definition for `AWS::Config::ConfigRule.Source`.
116
- * Source of events for the config rule
118
+ * Provides the CustomPolicyDetails, the rule owner (```` for managed rules, ``CUSTOM_POLICY`` for Custom Policy rules, and ``CUSTOM_LAMBDA`` for Custom Lambda rules), the rule identifier, and the events that cause the evaluation of your AWS resources.
117
119
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configrule-source.html}
118
120
  */
119
121
  export type Source = {
120
122
  /**
121
- * Custom policy details when rule is custom owned
123
+ * Provides the runtime system, policy definition, and whether debug logging is enabled. Required when owner is set to ``CUSTOM_POLICY``.
122
124
  */
123
125
  CustomPolicyDetails?: CustomPolicyDetails;
124
126
  /**
125
- * Owner of the config rule
126
- */
127
+ * Indicates whether AWS or the customer owns and manages the CC rule.
128
+ CC Managed Rules are predefined rules owned by AWS. For more information, see [Managed Rules](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html) in the *developer guide*.
129
+ CC Custom Rules are rules that you can develop either with Guard (``CUSTOM_POLICY``) or LAMlong (``CUSTOM_LAMBDA``). For more information, see [Custom Rules](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_develop-rules.html) in the *developer guide*.
130
+ */
127
131
  Owner: string;
128
132
  /**
129
- * List of message types that can trigger the rule
130
- */
133
+ * Provides the source and the message types that cause CC to evaluate your AWS resources against a rule. It also provides the frequency with which you want CC to run evaluations for the rule if the trigger type is periodic.
134
+ If the owner is set to ``CUSTOM_POLICY``, the only acceptable values for the CC rule trigger message type are ``ConfigurationItemChangeNotification`` and ``OversizedConfigurationItemChangeNotification``.
135
+ */
131
136
  SourceDetails?: SourceDetail[];
132
137
  /**
133
- * Identifier for the source of events
134
- */
138
+ * For CC Managed rules, a predefined identifier from a list. For example, ``IAM_PASSWORD_POLICY`` is a managed rule. To reference a managed rule, see [List of Managed Rules](https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-aws-config.html).
139
+ For CC Custom Lambda rules, the identifier is the Amazon Resource Name (ARN) of the rule's LAMlong function, such as ``arn:aws:lambda:us-east-2:123456789012:function:custom_rule_name``.
140
+ For CC Custom Policy rules, this field will be ignored.
141
+ */
135
142
  SourceIdentifier?: string;
136
143
  };
137
144
  /**
138
145
  * Type definition for `AWS::Config::ConfigRule.SourceDetail`.
139
- * Source and message type that can trigger the rule
146
+ * Provides the source and the message types that trigger CC to evaluate your AWS resources against a rule. It also provides the frequency with which you want CC to run evaluations for the rule if the trigger type is periodic. You can specify the parameter values for ``SourceDetail`` only for custom rules.
140
147
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configrule-sourcedetail.html}
141
148
  */
142
149
  export type SourceDetail = {
143
150
  /**
144
- * Source of event that can trigger the rule
151
+ * The source of the event, such as an AWS service, that triggers CC to evaluate your AWS resources.
145
152
  */
146
153
  EventSource: string;
147
154
  /**
148
- * Frequency at which the rule has to be evaluated
149
- */
155
+ * The frequency at which you want CC to run evaluations for a custom rule with a periodic trigger. If you specify a value for ``MaximumExecutionFrequency``, then ``MessageType`` must use the ``ScheduledNotification`` value.
156
+ By default, rules with a periodic trigger are evaluated every 24 hours. To change the frequency, specify a valid value for the ``MaximumExecutionFrequency`` parameter.
157
+ Based on the valid value you choose, CC runs evaluations once for each valid value. For example, if you choose ``Three_Hours``, CC runs evaluations once every three hours. In this case, ``Three_Hours`` is the frequency of this rule.
158
+ */
150
159
  MaximumExecutionFrequency?: string;
151
160
  /**
152
- * Notification type that can trigger the rule
153
- */
161
+ * The type of notification that triggers CC to run an evaluation for a rule. You can specify the following notification types:
162
+ + ``ConfigurationItemChangeNotification`` - Triggers an evaluation when CC delivers a configuration item as a result of a resource change.
163
+ + ``OversizedConfigurationItemChangeNotification`` - Triggers an evaluation when CC delivers an oversized configuration item. CC may generate this notification type when a resource changes and the notification exceeds the maximum size allowed by Amazon SNS.
164
+ + ``ScheduledNotification`` - Triggers a periodic evaluation at the frequency specified for ``MaximumExecutionFrequency``.
165
+ + ``ConfigurationSnapshotDeliveryCompleted`` - Triggers a periodic evaluation when CC delivers a configuration snapshot.
166
+
167
+ If you want your custom rule to be triggered by configuration changes, specify two SourceDetail objects, one for ``ConfigurationItemChangeNotification`` and one for ``OversizedConfigurationItemChangeNotification``.
168
+ */
154
169
  MessageType: string;
155
170
  };
156
171
  /**
157
172
  * Resource type definition for `AWS::Config::ConfigRule`.
158
- * Schema for AWS Config ConfigRule
173
+ * 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
+ 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
+ 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
159
177
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configrule.html}
160
178
  */
161
179
  export declare class ConfigConfigRule extends $Resource<"AWS::Config::ConfigRule", ConfigConfigRuleProperties, ConfigConfigRuleAttributes> {
@@ -1,7 +1,10 @@
1
1
  import { Resource as $Resource } from "@awboost/cfn-template-builder/template/resource";
2
2
  /**
3
3
  * Resource type definition for `AWS::Config::ConfigRule`.
4
- * Schema for AWS Config ConfigRule
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
+ 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
+ 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
5
8
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configrule.html}
6
9
  */
7
10
  export class ConfigConfigRule extends $Resource {
@@ -26,7 +26,7 @@ export type ConnectPromptProperties = {
26
26
  * S3 URI of the customer's audio file for creating prompts resource..
27
27
  * @minLength `1`
28
28
  * @maxLength `2000`
29
- * @pattern `s3://\S+/.+|https://\S+\.s3\.\S+\.amazonaws\.com/\S+`
29
+ * @pattern `s3://\S+/.+|https://\S+\.s3(\.\S+)?\.amazonaws\.com/\S+`
30
30
  */
31
31
  S3Uri?: string;
32
32
  /**
@@ -18,6 +18,12 @@ export type ControlTowerEnabledControlProperties = {
18
18
  * @minLength `1`
19
19
  */
20
20
  Parameters?: EnabledControlParameter[];
21
+ /**
22
+ * A set of tags to assign to the enabled control.
23
+ * @minLength `1`
24
+ * @maxLength `50`
25
+ */
26
+ Tags?: Tag[];
21
27
  /**
22
28
  * Arn for Organizational unit to which the control needs to be applied
23
29
  * @minLength `20`
@@ -34,6 +40,25 @@ export type EnabledControlParameter = {
34
40
  Key: string;
35
41
  Value: (string | number | Record<string, any> | boolean)[] | string | number | Record<string, any> | boolean;
36
42
  };
43
+ /**
44
+ * Type definition for `AWS::ControlTower::EnabledControl.Tag`.
45
+ * A key-value pair to associate with a resource.
46
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-controltower-enabledcontrol-tag.html}
47
+ */
48
+ export type Tag = {
49
+ /**
50
+ * The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:.
51
+ * @minLength `1`
52
+ * @maxLength `128`
53
+ */
54
+ Key: string;
55
+ /**
56
+ * The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:.
57
+ * @minLength `0`
58
+ * @maxLength `256`
59
+ */
60
+ Value: string;
61
+ };
37
62
  /**
38
63
  * Resource type definition for `AWS::ControlTower::EnabledControl`.
39
64
  * Enables a control on a specified target.