Skip to main content

flow_logs

Creates, updates, deletes or gets a flow_log resource or lists flow_logs in a region

Overview

Nameflow_logs
TypeResource
DescriptionSpecifies a VPC flow log, which enables you to capture IP traffic for a specific network interface, subnet, or VPC.
Idawscc.ec2.flow_logs

Fields

NameDatatypeDescription
idstringThe Flow Log ID
deliver_cross_account_rolestringThe ARN of the IAM role that allows Amazon EC2 to publish flow logs across accounts.
deliver_logs_permission_arnstringThe ARN for the IAM role that permits Amazon EC2 to publish flow logs to a CloudWatch Logs log group in your account. If you specify LogDestinationType as s3 or kinesis-data-firehose, do not specify DeliverLogsPermissionArn or LogGroupName.
log_destinationstringSpecifies the destination to which the flow log data is to be published. Flow log data can be published to a CloudWatch Logs log group, an Amazon S3 bucket, or a Kinesis Firehose stream. The value specified for this parameter depends on the value specified for LogDestinationType.
log_destination_typestringSpecifies the type of destination to which the flow log data is to be published. Flow log data can be published to CloudWatch Logs or Amazon S3.
log_formatstringThe fields to include in the flow log record, in the order in which they should appear.
log_group_namestringThe name of a new or existing CloudWatch Logs log group where Amazon EC2 publishes your flow logs. If you specify LogDestinationType as s3 or kinesis-data-firehose, do not specify DeliverLogsPermissionArn or LogGroupName.
max_aggregation_intervalintegerThe maximum interval of time during which a flow of packets is captured and aggregated into a flow log record. You can specify 60 seconds (1 minute) or 600 seconds (10 minutes).
resource_idstringThe ID of the subnet, network interface, or VPC for which you want to create a flow log.
resource_typestringThe type of resource for which to create the flow log. For example, if you specified a VPC ID for the ResourceId property, specify VPC for this property.
tagsarrayThe tags to apply to the flow logs.
traffic_typestringThe type of traffic to log. You can log traffic that the resource accepts or rejects, or all traffic.
destination_optionsobject
regionstringAWS region.

For more information, see AWS::EC2::FlowLog.

Methods

NameResourceAccessible byRequired Params
create_resourceflow_logsINSERTResourceType, ResourceId, region
delete_resourceflow_logsDELETEIdentifier, region
update_resourceflow_logsUPDATEIdentifier, PatchDocument, region
list_resourcesflow_logs_list_onlySELECTregion
get_resourceflow_logsSELECTIdentifier, region

SELECT examples

Gets all properties from an individual flow_log.

SELECT
region,
id,
deliver_cross_account_role,
deliver_logs_permission_arn,
log_destination,
log_destination_type,
log_format,
log_group_name,
max_aggregation_interval,
resource_id,
resource_type,
tags,
traffic_type,
destination_options
FROM awscc.ec2.flow_logs
WHERE
region = '{{ region }}' AND
Identifier = '{{ id }}';

INSERT example

Use the following StackQL query and manifest file to create a new flow_log resource, using stack-deploy.

/*+ create */
INSERT INTO awscc.ec2.flow_logs (
ResourceId,
ResourceType,
region
)
SELECT
'{{ resource_id }}',
'{{ resource_type }}',
'{{ region }}'
RETURNING
ErrorCode,
EventTime,
Identifier,
Operation,
OperationStatus,
RequestToken,
ResourceModel,
RetryAfter,
StatusMessage,
TypeName
;

UPDATE example

Use the following StackQL query and manifest file to update a flow_log resource, using stack-deploy.

/*+ update */
UPDATE awscc.ec2.flow_logs
SET PatchDocument = string('{{ {
"Tags": tags
} | generate_patch_document }}')
WHERE
region = '{{ region }}' AND
Identifier = '{{ id }}'
RETURNING
ErrorCode,
EventTime,
Identifier,
Operation,
OperationStatus,
RequestToken,
ResourceModel,
RetryAfter,
StatusMessage,
TypeName
;

DELETE example

/*+ delete */
DELETE FROM awscc.ec2.flow_logs
WHERE
Identifier = '{{ id }}' AND
region = '{{ region }}'
RETURNING
ErrorCode,
EventTime,
Identifier,
Operation,
OperationStatus,
RequestToken,
ResourceModel,
RetryAfter,
StatusMessage,
TypeName
;

Additional Parameters

Mutable resources in the Cloud Control provider support additional optional parameters which can be supplied with INSERT, UPDATE, or DELETE operations. These include:

ParameterDescription
ClientToken
A unique identifier to ensure the idempotency of the resource request.This allows the provider to accurately distinguish between retries and new requests.
A client token is valid for 36 hours once used.
After that, a resource request with the same client token is treated as a new request.
If you do not specify a client token, one is generated for inclusion in the request.
RoleArn
The ARN of the IAM role used to perform this resource operation.The role specified must have the permissions required for this operation.
If you do not specify a role, a temporary session is created using your AWS user credentials.
TypeVersionId
For private resource types, the type version to use in this resource operation.If you do not specify a resource version, the default version is used.

Permissions

To operate on the flow_logs resource, the following permissions are required:

ec2:CreateFlowLogs,
ec2:DescribeFlowLogs,
ec2:CreateTags,
iam:PassRole,
logs:CreateLogDelivery,
s3:GetBucketPolicy,
s3:PutBucketPolicy