@awboost/cfn-resource-types 0.1.39 → 0.1.40
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.
- package/lib/AWS-ApiGateway-Authorizer.d.ts +1 -1
- package/lib/AWS-ApiGateway-Method.d.ts +2 -2
- package/lib/AWS-AppConfig-Deployment.d.ts +10 -0
- package/lib/AWS-Batch-JobQueue.d.ts +15 -0
- package/lib/AWS-CodePipeline-Pipeline.d.ts +1 -0
- package/lib/AWS-DataSync-Task.d.ts +85 -20
- package/lib/AWS-EC2-NetworkInterface.d.ts +4 -0
- package/lib/AWS-ECS-Service.d.ts +445 -2
- package/lib/AWS-ECS-Service.js +3 -1
- package/lib/AWS-IAM-Group.d.ts +26 -13
- package/lib/AWS-IAM-Group.js +3 -1
- package/lib/AWS-Logs-LogGroup.d.ts +32 -26
- package/lib/AWS-Logs-LogGroup.js +5 -1
- package/lib/AWS-Logs-MetricFilter.d.ts +33 -23
- package/lib/AWS-Logs-MetricFilter.js +2 -2
- package/lib/AWS-Logs-SubscriptionFilter.d.ts +19 -9
- package/lib/AWS-Logs-SubscriptionFilter.js +7 -2
- package/lib/AWS-Pinpoint-EmailChannel.d.ts +1 -0
- package/package.json +1 -1
package/lib/AWS-ECS-Service.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { Resource as $Resource } from "@awboost/cfn-template-builder/template/resource";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* The ``AWS::ECS::Service`` resource creates an Amazon Elastic Container Service (Amazon ECS) service that runs and maintains the requested number of tasks and associated load balancers.
|
|
4
|
+
The stack update fails if you change any properties that require replacement and at least one Amazon ECS Service Connect ``ServiceConnectService`` is configured. This is because AWS CloudFormation creates the replacement service first, but each ``ServiceConnectService`` must have a name that is unique in the namespace.
|
|
5
|
+
Starting April 15, 2023, AWS; will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, ECS, or EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.
|
|
4
6
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html}
|
|
5
7
|
*/
|
|
6
8
|
export class ECSService extends $Resource {
|
package/lib/AWS-IAM-Group.d.ts
CHANGED
|
@@ -1,25 +1,36 @@
|
|
|
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
|
|
4
|
+
* Resource type definition for `AWS::IAM::Group`.
|
|
5
|
+
* Creates a new group.
|
|
6
|
+
For information about the number of groups you can create, see [Limitations on Entities](https://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) in the *User Guide*.
|
|
5
7
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-group.html}
|
|
6
8
|
*/
|
|
7
9
|
export type IAMGroupProperties = {
|
|
8
10
|
/**
|
|
9
|
-
|
|
10
|
-
|
|
11
|
+
* The name of the group to create. Do not include the path in this value.
|
|
12
|
+
The group name must be unique within the account. Group names are not distinguished by case. For example, you cannot create groups named both "ADMINS" and "admins". If you don't specify a name, CFN generates a unique physical ID and uses that ID for the group name.
|
|
13
|
+
If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.
|
|
14
|
+
If you specify a name, you must specify the ``CAPABILITY_NAMED_IAM`` value to acknowledge your template's capabilities. For more information, see [Acknowledging Resources in Templates](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#using-iam-capabilities).
|
|
15
|
+
Naming an IAM resource can cause an unrecoverable error if you reuse the same template in multiple Regions. To prevent this, we recommend using ``Fn::Join`` and ``AWS::Region`` to create a Region-specific name, as in the following example: ``{"Fn::Join": ["", [{"Ref": "AWS::Region"}, {"Ref": "MyResourceName"}]]}``.
|
|
16
|
+
*/
|
|
11
17
|
GroupName?: string;
|
|
12
18
|
/**
|
|
13
|
-
|
|
14
|
-
|
|
19
|
+
* The Amazon Resource Name (ARN) of the IAM policy you want to attach.
|
|
20
|
+
For more information about ARNs, see [Amazon Resource Names (ARNs)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) in the *General Reference*.
|
|
21
|
+
*/
|
|
15
22
|
ManagedPolicyArns?: string[];
|
|
16
23
|
/**
|
|
17
|
-
|
|
18
|
-
|
|
24
|
+
* The path to the group. For more information about paths, see [IAM identifiers](https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) in the *IAM User Guide*.
|
|
25
|
+
This parameter is optional. If it is not included, it defaults to a slash (/).
|
|
26
|
+
This parameter allows (through its [regex pattern](https://docs.aws.amazon.com/http://wikipedia.org/wiki/regex)) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (``\u0021``) through the DEL character (``\u007F``), including most punctuation characters, digits, and upper and lowercased letters.
|
|
27
|
+
*/
|
|
19
28
|
Path?: string;
|
|
20
29
|
/**
|
|
21
|
-
|
|
22
|
-
|
|
30
|
+
* Adds or updates an inline policy document that is embedded in the specified IAM group. To view AWS::IAM::Group snippets, see [Declaring an Group Resource](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-iam.html#scenario-iam-group).
|
|
31
|
+
The name of each inline policy for a role, user, or group must be unique. If you don't choose unique names, updates to the IAM identity will fail.
|
|
32
|
+
For information about limits on the number of inline policies that you can embed in a group, see [Limitations on Entities](https://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) in the *User Guide*.
|
|
33
|
+
*/
|
|
23
34
|
Policies?: Policy[];
|
|
24
35
|
};
|
|
25
36
|
/**
|
|
@@ -27,13 +38,13 @@ export type IAMGroupProperties = {
|
|
|
27
38
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-group.html#aws-resource-iam-group-return-values}
|
|
28
39
|
*/
|
|
29
40
|
export type IAMGroupAttributes = {
|
|
30
|
-
/**
|
|
31
|
-
* The Arn of the group to create
|
|
32
|
-
*/
|
|
33
41
|
Arn: string;
|
|
34
42
|
};
|
|
35
43
|
/**
|
|
36
44
|
* Type definition for `AWS::IAM::Group.Policy`.
|
|
45
|
+
* Contains information about an attached policy.
|
|
46
|
+
An attached policy is a managed policy that has been attached to a user, group, or role.
|
|
47
|
+
For more information about managed policies, see [Managed Policies and Inline Policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *User Guide*.
|
|
37
48
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group-policy.html}
|
|
38
49
|
*/
|
|
39
50
|
export type Policy = {
|
|
@@ -47,7 +58,9 @@ export type Policy = {
|
|
|
47
58
|
PolicyName: string;
|
|
48
59
|
};
|
|
49
60
|
/**
|
|
50
|
-
* Resource
|
|
61
|
+
* Resource type definition for `AWS::IAM::Group`.
|
|
62
|
+
* Creates a new group.
|
|
63
|
+
For information about the number of groups you can create, see [Limitations on Entities](https://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) in the *User Guide*.
|
|
51
64
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-group.html}
|
|
52
65
|
*/
|
|
53
66
|
export declare class IAMGroup extends $Resource<"AWS::IAM::Group", IAMGroupProperties, IAMGroupAttributes> {
|
package/lib/AWS-IAM-Group.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { Resource as $Resource } from "@awboost/cfn-template-builder/template/resource";
|
|
2
2
|
/**
|
|
3
|
-
* Resource
|
|
3
|
+
* Resource type definition for `AWS::IAM::Group`.
|
|
4
|
+
* Creates a new group.
|
|
5
|
+
For information about the number of groups you can create, see [Limitations on Entities](https://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) in the *User Guide*.
|
|
4
6
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-group.html}
|
|
5
7
|
*/
|
|
6
8
|
export class IAMGroup extends $Resource {
|
|
@@ -1,44 +1,52 @@
|
|
|
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
|
-
*
|
|
4
|
+
* The ``AWS::Logs::LogGroup`` resource specifies a log group. A log group defines common properties for log streams, such as their retention and access control rules. Each log stream must belong to one log group.
|
|
5
|
+
You can create up to 1,000,000 log groups per Region per account. You must use the following guidelines when naming a log group:
|
|
6
|
+
+ Log group names must be unique within a Region for an AWS account.
|
|
7
|
+
+ Log group names can be between 1 and 512 characters long.
|
|
8
|
+
+ Log group names consist of the following characters: a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen), '/' (forward slash), and '.' (period).
|
|
5
9
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html}
|
|
6
10
|
*/
|
|
7
11
|
export type LogsLogGroupProperties = {
|
|
8
12
|
/**
|
|
9
|
-
*
|
|
10
|
-
|
|
11
|
-
You can only add one policy per topic.
|
|
12
|
-
|
|
13
|
-
The policy must be in JSON string format.
|
|
14
|
-
|
|
15
|
-
Length Constraints: Maximum length of 30720
|
|
13
|
+
* Creates a data protection policy and assigns it to the log group. A data protection policy can help safeguard sensitive data that's ingested by the log group by auditing and masking the sensitive log data. When a user who does not have permission to view masked data views a log event that includes masked data, the sensitive data is replaced by asterisks.
|
|
14
|
+
For more information, including a list of types of data that can be audited and masked, see [Protect sensitive log data with masking](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/mask-sensitive-log-data.html).
|
|
16
15
|
*/
|
|
17
16
|
DataProtectionPolicy?: Record<string, any>;
|
|
18
17
|
/**
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
18
|
+
* The Amazon Resource Name (ARN) of the KMS key to use when encrypting log data.
|
|
19
|
+
To associate an KMS key with the log group, specify the ARN of that KMS key here. If you do so, ingested data is encrypted using this key. This association is stored as long as the data encrypted with the KMS key is still within CWL. This enables CWL to decrypt this data whenever it is requested.
|
|
20
|
+
If you attempt to associate a KMS key with the log group but the KMS key doesn't exist or is deactivated, you will receive an ``InvalidParameterException`` error.
|
|
21
|
+
Log group data is always encrypted in CWL. If you omit this key, the encryption does not use KMS. For more information, see [Encrypt log data in using](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/encrypt-log-data-kms.html)
|
|
22
|
+
* @maxLength `256`
|
|
23
|
+
* @pattern `^arn:[a-z0-9-]+:kms:[a-z0-9-]+:\d{12}:(key|alias)/.+\Z`
|
|
24
|
+
*/
|
|
23
25
|
KmsKeyId?: string;
|
|
24
26
|
/**
|
|
25
|
-
|
|
26
|
-
|
|
27
|
+
* Specifies the log group class for this log group. There are two classes:
|
|
28
|
+
+ The ``Standard`` log class supports all CWL features.
|
|
29
|
+
+ The ``Infrequent Access`` log class supports a subset of CWL features and incurs lower costs.
|
|
30
|
+
|
|
31
|
+
For details about the features supported by each class, see [Log classes](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch_Logs_Log_Classes.html)
|
|
32
|
+
*/
|
|
27
33
|
LogGroupClass?: "STANDARD" | "INFREQUENT_ACCESS";
|
|
28
34
|
/**
|
|
29
|
-
* The name of the log group. If you don't specify a name,
|
|
35
|
+
* The name of the log group. If you don't specify a name, CFNlong generates a unique ID for the log group.
|
|
30
36
|
* @minLength `1`
|
|
31
37
|
* @maxLength `512`
|
|
32
38
|
* @pattern `^[.\-_/#A-Za-z0-9]{1,512}\Z`
|
|
33
39
|
*/
|
|
34
40
|
LogGroupName?: string;
|
|
35
41
|
/**
|
|
36
|
-
|
|
37
|
-
|
|
42
|
+
* The number of days to retain the log events in the specified log group. Possible values are: 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1096, 1827, 2192, 2557, 2922, 3288, and 3653.
|
|
43
|
+
To set a log group so that its log events do not expire, use [DeleteRetentionPolicy](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_DeleteRetentionPolicy.html).
|
|
44
|
+
*/
|
|
38
45
|
RetentionInDays?: 1 | 3 | 5 | 7 | 14 | 30 | 60 | 90 | 120 | 150 | 180 | 365 | 400 | 545 | 731 | 1096 | 1827 | 2192 | 2557 | 2922 | 3288 | 3653;
|
|
39
46
|
/**
|
|
40
|
-
|
|
41
|
-
|
|
47
|
+
* An array of key-value pairs to apply to the log group.
|
|
48
|
+
For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).
|
|
49
|
+
*/
|
|
42
50
|
Tags?: Tag[];
|
|
43
51
|
};
|
|
44
52
|
/**
|
|
@@ -46,32 +54,30 @@ export type LogsLogGroupProperties = {
|
|
|
46
54
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html#aws-resource-logs-loggroup-return-values}
|
|
47
55
|
*/
|
|
48
56
|
export type LogsLogGroupAttributes = {
|
|
49
|
-
/**
|
|
50
|
-
* The CloudWatch log group ARN.
|
|
51
|
-
*/
|
|
52
57
|
Arn: string;
|
|
53
58
|
};
|
|
54
59
|
/**
|
|
55
60
|
* Type definition for `AWS::Logs::LogGroup.Tag`.
|
|
56
|
-
* A key-value pair to associate with a resource.
|
|
57
61
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-logs-loggroup-tag.html}
|
|
58
62
|
*/
|
|
59
63
|
export type Tag = {
|
|
60
64
|
/**
|
|
61
|
-
* 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:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., :, /, =, +, - and @.
|
|
62
65
|
* @minLength `1`
|
|
63
66
|
* @maxLength `128`
|
|
64
67
|
*/
|
|
65
68
|
Key: string;
|
|
66
69
|
/**
|
|
67
|
-
* The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., :, /, =, +, - and @.
|
|
68
70
|
* @minLength `0`
|
|
69
71
|
* @maxLength `256`
|
|
70
72
|
*/
|
|
71
73
|
Value: string;
|
|
72
74
|
};
|
|
73
75
|
/**
|
|
74
|
-
*
|
|
76
|
+
* The ``AWS::Logs::LogGroup`` resource specifies a log group. A log group defines common properties for log streams, such as their retention and access control rules. Each log stream must belong to one log group.
|
|
77
|
+
You can create up to 1,000,000 log groups per Region per account. You must use the following guidelines when naming a log group:
|
|
78
|
+
+ Log group names must be unique within a Region for an AWS account.
|
|
79
|
+
+ Log group names can be between 1 and 512 characters long.
|
|
80
|
+
+ Log group names consist of the following characters: a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen), '/' (forward slash), and '.' (period).
|
|
75
81
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html}
|
|
76
82
|
*/
|
|
77
83
|
export declare class LogsLogGroup extends $Resource<"AWS::Logs::LogGroup", LogsLogGroupProperties, LogsLogGroupAttributes> {
|
package/lib/AWS-Logs-LogGroup.js
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { Resource as $Resource } from "@awboost/cfn-template-builder/template/resource";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* The ``AWS::Logs::LogGroup`` resource specifies a log group. A log group defines common properties for log streams, such as their retention and access control rules. Each log stream must belong to one log group.
|
|
4
|
+
You can create up to 1,000,000 log groups per Region per account. You must use the following guidelines when naming a log group:
|
|
5
|
+
+ Log group names must be unique within a Region for an AWS account.
|
|
6
|
+
+ Log group names can be between 1 and 512 characters long.
|
|
7
|
+
+ Log group names consist of the following characters: a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen), '/' (forward slash), and '.' (period).
|
|
4
8
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html}
|
|
5
9
|
*/
|
|
6
10
|
export class LogsLogGroup extends $Resource {
|
|
@@ -1,32 +1,32 @@
|
|
|
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
|
-
*
|
|
5
|
-
|
|
4
|
+
* The ``AWS::Logs::MetricFilter`` resource specifies a metric filter that describes how CWL extracts information from logs and transforms it into Amazon CloudWatch metrics. If you have multiple metric filters that are associated with a log group, all the filters are applied to the log streams in that group.
|
|
5
|
+
The maximum number of metric filters that can be associated with a log group is 100.
|
|
6
6
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-metricfilter.html}
|
|
7
7
|
*/
|
|
8
8
|
export type LogsMetricFilterProperties = {
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
10
|
+
* The name of the metric filter.
|
|
11
11
|
* @minLength `1`
|
|
12
12
|
* @maxLength `512`
|
|
13
13
|
* @pattern `^[^:*]{1,512}`
|
|
14
14
|
*/
|
|
15
15
|
FilterName?: string;
|
|
16
16
|
/**
|
|
17
|
-
*
|
|
17
|
+
* A filter pattern for extracting metric data out of ingested log events. For more information, see [Filter and Pattern Syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html).
|
|
18
18
|
* @maxLength `1024`
|
|
19
19
|
*/
|
|
20
20
|
FilterPattern: string;
|
|
21
21
|
/**
|
|
22
|
-
*
|
|
22
|
+
* The name of an existing log group that you want to associate with this metric filter.
|
|
23
23
|
* @minLength `1`
|
|
24
24
|
* @maxLength `512`
|
|
25
25
|
* @pattern `^[.\-_/#A-Za-z0-9]{1,512}`
|
|
26
26
|
*/
|
|
27
27
|
LogGroupName: string;
|
|
28
28
|
/**
|
|
29
|
-
*
|
|
29
|
+
* The metric transformations.
|
|
30
30
|
* @minLength `1`
|
|
31
31
|
* @maxLength `1`
|
|
32
32
|
*/
|
|
@@ -34,18 +34,24 @@ export type LogsMetricFilterProperties = {
|
|
|
34
34
|
};
|
|
35
35
|
/**
|
|
36
36
|
* Type definition for `AWS::Logs::MetricFilter.Dimension`.
|
|
37
|
-
* the
|
|
37
|
+
* Specifies the CW metric dimensions to publish with this metric.
|
|
38
|
+
Because dimensions are part of the unique identifier for a metric, whenever a unique dimension name/value pair is extracted from your logs, you are creating a new variation of that metric.
|
|
39
|
+
For more information about publishing dimensions with metrics created by metric filters, see [Publishing dimensions with metrics from values in JSON or space-delimited log events](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html#logs-metric-filters-dimensions).
|
|
40
|
+
Metrics extracted from log events are charged as custom metrics. To prevent unexpected high charges, do not specify high-cardinality fields such as ``IPAddress`` or ``requestID`` as dimensions. Each different value found for a dimension is treated as a separate metric and accrues charges as a separate custom metric.
|
|
41
|
+
To help prevent accidental high charges, Amazon disables a metric filter if it generates 1000 different name/value pairs for the dimensions that you have specified within a certain amount of time.
|
|
42
|
+
You can also set up a billing alarm to alert you if your charges are higher than expected. For more information, see [Creating a Billing Alarm to Monitor Your Estimated Charges](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/monitor_estimated_charges_with_cloudwatch.html).
|
|
38
43
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-logs-metricfilter-dimension.html}
|
|
39
44
|
*/
|
|
40
45
|
export type Dimension = {
|
|
41
46
|
/**
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
47
|
+
* The name for the CW metric dimension that the metric filter creates.
|
|
48
|
+
Dimension names must contain only ASCII characters, must include at least one non-whitespace character, and cannot start with a colon (:).
|
|
49
|
+
* @minLength `1`
|
|
50
|
+
* @maxLength `255`
|
|
51
|
+
*/
|
|
46
52
|
Key: string;
|
|
47
53
|
/**
|
|
48
|
-
* The
|
|
54
|
+
* The log event field that will contain the value for this dimension. This dimension will only be published for a metric if the value is found in the log event. For example, ``$.eventType`` for JSON log events, or ``$server`` for space-delimited log events.
|
|
49
55
|
* @minLength `1`
|
|
50
56
|
* @maxLength `255`
|
|
51
57
|
*/
|
|
@@ -53,48 +59,52 @@ export type Dimension = {
|
|
|
53
59
|
};
|
|
54
60
|
/**
|
|
55
61
|
* Type definition for `AWS::Logs::MetricFilter.MetricTransformation`.
|
|
62
|
+
* ``MetricTransformation`` is a property of the ``AWS::Logs::MetricFilter`` resource that describes how to transform log streams into a CloudWatch metric.
|
|
56
63
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-logs-metricfilter-metrictransformation.html}
|
|
57
64
|
*/
|
|
58
65
|
export type MetricTransformation = {
|
|
59
66
|
/**
|
|
60
|
-
* The value to emit when a filter pattern does not match a log event. This value can be null.
|
|
67
|
+
* (Optional) The value to emit when a filter pattern does not match a log event. This value can be null.
|
|
61
68
|
*/
|
|
62
69
|
DefaultValue?: number;
|
|
63
70
|
/**
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
71
|
+
* The fields to use as dimensions for the metric. One metric filter can include as many as three dimensions.
|
|
72
|
+
Metrics extracted from log events are charged as custom metrics. To prevent unexpected high charges, do not specify high-cardinality fields such as ``IPAddress`` or ``requestID`` as dimensions. Each different value found for a dimension is treated as a separate metric and accrues charges as a separate custom metric.
|
|
73
|
+
CloudWatch Logs disables a metric filter if it generates 1000 different name/value pairs for your specified dimensions within a certain amount of time. This helps to prevent accidental high charges.
|
|
74
|
+
You can also set up a billing alarm to alert you if your charges are higher than expected. For more information, see [Creating a Billing Alarm to Monitor Your Estimated Charges](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/monitor_estimated_charges_with_cloudwatch.html).
|
|
75
|
+
* @minLength `1`
|
|
76
|
+
* @maxLength `3`
|
|
77
|
+
*/
|
|
68
78
|
Dimensions?: Dimension[];
|
|
69
79
|
/**
|
|
70
|
-
* The name of the CloudWatch metric.
|
|
80
|
+
* The name of the CloudWatch metric.
|
|
71
81
|
* @minLength `1`
|
|
72
82
|
* @maxLength `255`
|
|
73
83
|
* @pattern `^((?![:*$])[\x00-\x7F]){1,255}`
|
|
74
84
|
*/
|
|
75
85
|
MetricName: string;
|
|
76
86
|
/**
|
|
77
|
-
*
|
|
87
|
+
* A custom namespace to contain your metric in CloudWatch. Use namespaces to group together metrics that are similar. For more information, see [Namespaces](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Namespace).
|
|
78
88
|
* @minLength `1`
|
|
79
89
|
* @maxLength `256`
|
|
80
90
|
* @pattern `^[0-9a-zA-Z\.\-_\/#]{1,256}`
|
|
81
91
|
*/
|
|
82
92
|
MetricNamespace: string;
|
|
83
93
|
/**
|
|
84
|
-
* The value
|
|
94
|
+
* The value that is published to the CloudWatch metric. For example, if you're counting the occurrences of a particular term like ``Error``, specify 1 for the metric value. If you're counting the number of bytes transferred, reference the value that is in the log event by using $. followed by the name of the field that you specified in the filter pattern, such as ``$.size``.
|
|
85
95
|
* @minLength `1`
|
|
86
96
|
* @maxLength `100`
|
|
87
97
|
* @pattern `.{1,100}`
|
|
88
98
|
*/
|
|
89
99
|
MetricValue: string;
|
|
90
100
|
/**
|
|
91
|
-
* The unit to assign to the metric. If you omit this, the unit is set as None
|
|
101
|
+
* The unit to assign to the metric. If you omit this, the unit is set as ``None``.
|
|
92
102
|
*/
|
|
93
103
|
Unit?: "Seconds" | "Microseconds" | "Milliseconds" | "Bytes" | "Kilobytes" | "Megabytes" | "Gigabytes" | "Terabytes" | "Bits" | "Kilobits" | "Megabits" | "Gigabits" | "Terabits" | "Percent" | "Count" | "Bytes/Second" | "Kilobytes/Second" | "Megabytes/Second" | "Gigabytes/Second" | "Terabytes/Second" | "Bits/Second" | "Kilobits/Second" | "Megabits/Second" | "Gigabits/Second" | "Terabits/Second" | "Count/Second" | "None";
|
|
94
104
|
};
|
|
95
105
|
/**
|
|
96
|
-
*
|
|
97
|
-
|
|
106
|
+
* The ``AWS::Logs::MetricFilter`` resource specifies a metric filter that describes how CWL extracts information from logs and transforms it into Amazon CloudWatch metrics. If you have multiple metric filters that are associated with a log group, all the filters are applied to the log streams in that group.
|
|
107
|
+
The maximum number of metric filters that can be associated with a log group is 100.
|
|
98
108
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-metricfilter.html}
|
|
99
109
|
*/
|
|
100
110
|
export declare class LogsMetricFilter extends $Resource<"AWS::Logs::MetricFilter", LogsMetricFilterProperties, Record<string, never>> {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Resource as $Resource } from "@awboost/cfn-template-builder/template/resource";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
|
|
3
|
+
* The ``AWS::Logs::MetricFilter`` resource specifies a metric filter that describes how CWL extracts information from logs and transforms it into Amazon CloudWatch metrics. If you have multiple metric filters that are associated with a log group, all the filters are applied to the log streams in that group.
|
|
4
|
+
The maximum number of metric filters that can be associated with a log group is 100.
|
|
5
5
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-metricfilter.html}
|
|
6
6
|
*/
|
|
7
7
|
export class LogsMetricFilter extends $Resource {
|
|
@@ -1,8 +1,13 @@
|
|
|
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
|
-
*
|
|
5
|
-
|
|
4
|
+
* The ``AWS::Logs::SubscriptionFilter`` resource specifies a subscription filter and associates it with the specified log group. Subscription filters allow you to subscribe to a real-time stream of log events and have them delivered to a specific destination. Currently, the supported destinations are:
|
|
5
|
+
+ An Amazon Kinesis data stream belonging to the same account as the subscription filter, for same-account delivery.
|
|
6
|
+
+ A logical destination that belongs to a different account, for cross-account delivery.
|
|
7
|
+
+ An Amazon Kinesis Firehose delivery stream that belongs to the same account as the subscription filter, for same-account delivery.
|
|
8
|
+
+ An LAMlong function that belongs to the same account as the subscription filter, for same-account delivery.
|
|
9
|
+
|
|
10
|
+
There can be as many as two subscription filters associated with a log group.
|
|
6
11
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-subscriptionfilter.html}
|
|
7
12
|
*/
|
|
8
13
|
export type LogsSubscriptionFilterProperties = {
|
|
@@ -11,29 +16,34 @@ export type LogsSubscriptionFilterProperties = {
|
|
|
11
16
|
*/
|
|
12
17
|
DestinationArn: string;
|
|
13
18
|
/**
|
|
14
|
-
* The method used to distribute log data to the destination
|
|
19
|
+
* The method used to distribute log data to the destination, which can be either random or grouped by log stream.
|
|
15
20
|
*/
|
|
16
21
|
Distribution?: "Random" | "ByLogStream";
|
|
17
22
|
/**
|
|
18
|
-
* The name of the filter
|
|
23
|
+
* The name of the subscription filter.
|
|
19
24
|
*/
|
|
20
25
|
FilterName?: string;
|
|
21
26
|
/**
|
|
22
|
-
* The filtering expressions that restrict what gets delivered to the destination AWS resource.
|
|
27
|
+
* The filtering expressions that restrict what gets delivered to the destination AWS resource. For more information about the filter pattern syntax, see [Filter and Pattern Syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html).
|
|
23
28
|
*/
|
|
24
29
|
FilterPattern: string;
|
|
25
30
|
/**
|
|
26
|
-
*
|
|
31
|
+
* The log group to associate with the subscription filter. All log events that are uploaded to this log group are filtered and delivered to the specified AWS resource if the filter pattern matches the log events.
|
|
27
32
|
*/
|
|
28
33
|
LogGroupName: string;
|
|
29
34
|
/**
|
|
30
|
-
* The ARN of an IAM role that grants
|
|
35
|
+
* The ARN of an IAM role that grants CWL permissions to deliver ingested log events to the destination stream. You don't need to provide the ARN when you are working with a logical destination for cross-account delivery.
|
|
31
36
|
*/
|
|
32
37
|
RoleArn?: string;
|
|
33
38
|
};
|
|
34
39
|
/**
|
|
35
|
-
*
|
|
36
|
-
|
|
40
|
+
* The ``AWS::Logs::SubscriptionFilter`` resource specifies a subscription filter and associates it with the specified log group. Subscription filters allow you to subscribe to a real-time stream of log events and have them delivered to a specific destination. Currently, the supported destinations are:
|
|
41
|
+
+ An Amazon Kinesis data stream belonging to the same account as the subscription filter, for same-account delivery.
|
|
42
|
+
+ A logical destination that belongs to a different account, for cross-account delivery.
|
|
43
|
+
+ An Amazon Kinesis Firehose delivery stream that belongs to the same account as the subscription filter, for same-account delivery.
|
|
44
|
+
+ An LAMlong function that belongs to the same account as the subscription filter, for same-account delivery.
|
|
45
|
+
|
|
46
|
+
There can be as many as two subscription filters associated with a log group.
|
|
37
47
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-subscriptionfilter.html}
|
|
38
48
|
*/
|
|
39
49
|
export declare class LogsSubscriptionFilter extends $Resource<"AWS::Logs::SubscriptionFilter", LogsSubscriptionFilterProperties, Record<string, never>> {
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
import { Resource as $Resource } from "@awboost/cfn-template-builder/template/resource";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
|
|
3
|
+
* The ``AWS::Logs::SubscriptionFilter`` resource specifies a subscription filter and associates it with the specified log group. Subscription filters allow you to subscribe to a real-time stream of log events and have them delivered to a specific destination. Currently, the supported destinations are:
|
|
4
|
+
+ An Amazon Kinesis data stream belonging to the same account as the subscription filter, for same-account delivery.
|
|
5
|
+
+ A logical destination that belongs to a different account, for cross-account delivery.
|
|
6
|
+
+ An Amazon Kinesis Firehose delivery stream that belongs to the same account as the subscription filter, for same-account delivery.
|
|
7
|
+
+ An LAMlong function that belongs to the same account as the subscription filter, for same-account delivery.
|
|
8
|
+
|
|
9
|
+
There can be as many as two subscription filters associated with a log group.
|
|
5
10
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-subscriptionfilter.html}
|
|
6
11
|
*/
|
|
7
12
|
export class LogsSubscriptionFilter extends $Resource {
|