flows
Creates, updates, deletes or gets a flow resource or lists flows in a region
Overview
| Name | flows |
| Type | Resource |
| Description | Resource schema for AWS::MediaConnect::Flow |
| Id | awscc.mediaconnect.flows |
Fields
- get (all properties)
- list (identifiers only)
| Name | Datatype | Description |
|---|---|---|
flow_arn | string | The Amazon Resource Name (ARN), a unique identifier for any AWS resource, of the flow. |
egress_ip | string | The IP address from which video will be sent to output destinations. |
name | string | The name of the flow. |
availability_zone | string | The Availability Zone that you want to create the flow in. These options are limited to the Availability Zones within the current AWS. |
flow_availability_zone | string | The Availability Zone that you want to create the flow in. These options are limited to the Availability Zones within the current AWS.(ReadOnly) |
source | object | The source of the flow. |
source_failover_config | object | The source failover config of the flow. |
vpc_interfaces | array | The VPC interfaces that you added to this flow. |
media_streams | array | The media streams associated with the flow. You can associate any of these media streams with sources and outputs on the flow. |
maintenance | object | The maintenance settings you want to use for the flow. |
source_monitoring_config | object | The source monitoring config of the flow. |
flow_size | string | Determines the processing capacity and feature set of the flow. Set this optional parameter to LARGE if you want to enable NDI outputs on the flow. |
ndi_config | object | Specifies the configuration settings for NDI outputs. Required when the flow includes NDI outputs. |
flow_ndi_machine_name | string | A prefix for the names of the NDI sources that the flow creates.(ReadOnly) |
region | string | AWS region. |
| Name | Datatype | Description |
|---|---|---|
flow_arn | string | The Amazon Resource Name (ARN), a unique identifier for any AWS resource, of the flow. |
region | string | AWS region. |
For more information, see AWS::MediaConnect::Flow.
Methods
| Name | Resource | Accessible by | Required Params |
|---|---|---|---|
create_resource | flows | INSERT | Name, Source, region |
delete_resource | flows | DELETE | Identifier, region |
update_resource | flows | UPDATE | Identifier, PatchDocument, region |
list_resources | flows_list_only | SELECT | region |
get_resource | flows | SELECT | Identifier, region |
SELECT examples
- get (all properties)
- list (identifiers only)
Gets all properties from an individual flow.
SELECT
region,
flow_arn,
egress_ip,
name,
availability_zone,
flow_availability_zone,
source,
source_failover_config,
vpc_interfaces,
media_streams,
maintenance,
source_monitoring_config,
flow_size,
ndi_config,
flow_ndi_machine_name
FROM awscc.mediaconnect.flows
WHERE
region = 'us-east-1' AND
Identifier = '{{ flow_arn }}';
Lists all flows in a region.
SELECT
region,
flow_arn
FROM awscc.mediaconnect.flows_list_only
WHERE
region = 'us-east-1';
INSERT example
Use the following StackQL query and manifest file to create a new flow resource, using stack-deploy.
- Required Properties
- All Properties
- Manifest
/*+ create */
INSERT INTO awscc.mediaconnect.flows (
Name,
Source,
region
)
SELECT
'{{ name }}',
'{{ source }}',
'{{ region }}';
/*+ create */
INSERT INTO awscc.mediaconnect.flows (
Name,
AvailabilityZone,
Source,
SourceFailoverConfig,
VpcInterfaces,
MediaStreams,
Maintenance,
SourceMonitoringConfig,
FlowSize,
NdiConfig,
region
)
SELECT
'{{ name }}',
'{{ availability_zone }}',
'{{ source }}',
'{{ source_failover_config }}',
'{{ vpc_interfaces }}',
'{{ media_streams }}',
'{{ maintenance }}',
'{{ source_monitoring_config }}',
'{{ flow_size }}',
'{{ ndi_config }}',
'{{ region }}';
version: 1
name: stack name
description: stack description
providers:
- aws
globals:
- name: region
value: '{{ vars.AWS_REGION }}'
resources:
- name: flow
props:
- name: name
value: '{{ name }}'
- name: availability_zone
value: '{{ availability_zone }}'
- name: source
value:
source_arn: '{{ source_arn }}'
decryption:
algorithm: '{{ algorithm }}'
constant_initialization_vector: '{{ constant_initialization_vector }}'
device_id: '{{ device_id }}'
key_type: '{{ key_type }}'
region: '{{ region }}'
resource_id: '{{ resource_id }}'
role_arn: '{{ role_arn }}'
secret_arn: '{{ secret_arn }}'
url: '{{ url }}'
description: '{{ description }}'
entitlement_arn: '{{ entitlement_arn }}'
gateway_bridge_source:
bridge_arn: '{{ bridge_arn }}'
vpc_interface_attachment:
vpc_interface_name: '{{ vpc_interface_name }}'
ingest_ip: '{{ ingest_ip }}'
ingest_port: '{{ ingest_port }}'
max_bitrate: '{{ max_bitrate }}'
max_latency: '{{ max_latency }}'
min_latency: '{{ min_latency }}'
name: '{{ name }}'
protocol: '{{ protocol }}'
sender_ip_address: '{{ sender_ip_address }}'
sender_control_port: '{{ sender_control_port }}'
stream_id: '{{ stream_id }}'
source_ingest_port: '{{ source_ingest_port }}'
source_listener_address: '{{ source_listener_address }}'
source_listener_port: '{{ source_listener_port }}'
vpc_interface_name: '{{ vpc_interface_name }}'
whitelist_cidr: '{{ whitelist_cidr }}'
max_sync_buffer: '{{ max_sync_buffer }}'
media_stream_source_configurations:
- encoding_name: '{{ encoding_name }}'
input_configurations:
- input_port: '{{ input_port }}'
interface:
name: '{{ name }}'
media_stream_name: '{{ media_stream_name }}'
- name: source_failover_config
value:
state: '{{ state }}'
recovery_window: '{{ recovery_window }}'
failover_mode: '{{ failover_mode }}'
source_priority:
primary_source: '{{ primary_source }}'
- name: vpc_interfaces
value:
- name: '{{ name }}'
network_interface_type: '{{ network_interface_type }}'
role_arn: '{{ role_arn }}'
security_group_ids:
- '{{ security_group_ids[0] }}'
subnet_id: '{{ subnet_id }}'
network_interface_ids:
- '{{ network_interface_ids[0] }}'
- name: media_streams
value:
- media_stream_id: '{{ media_stream_id }}'
media_stream_type: '{{ media_stream_type }}'
video_format: '{{ video_format }}'
media_stream_name: '{{ media_stream_name }}'
description: '{{ description }}'
attributes:
fmtp:
exact_framerate: '{{ exact_framerate }}'
colorimetry: '{{ colorimetry }}'
scan_mode: '{{ scan_mode }}'
tcs: '{{ tcs }}'
range: '{{ range }}'
par: '{{ par }}'
channel_order: '{{ channel_order }}'
lang: '{{ lang }}'
clock_rate: '{{ clock_rate }}'
fmt: '{{ fmt }}'
- name: maintenance
value:
maintenance_day: '{{ maintenance_day }}'
maintenance_start_hour: '{{ maintenance_start_hour }}'
- name: source_monitoring_config
value:
thumbnail_state: '{{ thumbnail_state }}'
content_quality_analysis_state: '{{ content_quality_analysis_state }}'
audio_monitoring_settings:
- silent_audio:
state: '{{ state }}'
threshold_seconds: '{{ threshold_seconds }}'
video_monitoring_settings:
- black_frames:
state: '{{ state }}'
threshold_seconds: '{{ threshold_seconds }}'
frozen_frames:
state: '{{ state }}'
threshold_seconds: '{{ threshold_seconds }}'
- name: flow_size
value: '{{ flow_size }}'
- name: ndi_config
value:
ndi_discovery_servers:
- vpc_interface_adapter: '{{ vpc_interface_adapter }}'
discovery_server_address: '{{ discovery_server_address }}'
discovery_server_port: '{{ discovery_server_port }}'
ndi_state: '{{ ndi_state }}'
machine_name: '{{ machine_name }}'
UPDATE example
Use the following StackQL query and manifest file to update a flow resource, using stack-deploy.
/*+ update */
UPDATE awscc.mediaconnect.flows
SET PatchDocument = string('{{ {
"SourceFailoverConfig": source_failover_config,
"Maintenance": maintenance,
"SourceMonitoringConfig": source_monitoring_config,
"FlowSize": flow_size,
"NdiConfig": ndi_config
} | generate_patch_document }}')
WHERE
region = '{{ region }}' AND
Identifier = '{{ flow_arn }}';
DELETE example
/*+ delete */
DELETE FROM awscc.mediaconnect.flows
WHERE
Identifier = '{{ flow_arn }}' AND
region = 'us-east-1';
Permissions
To operate on the flows resource, the following permissions are required:
- Create
- Read
- Update
- Delete
- List
mediaconnect:CreateFlow,
mediaconnect:AddFlowMediaStreams,
mediaconnect:AddFlowSources,
mediaconnect:AddFlowVpcInterfaces,
iam:PassRole
mediaconnect:DescribeFlow
mediaconnect:DescribeFlow,
mediaconnect:UpdateFlow,
mediaconnect:UpdateFlowSource,
mediaconnect:UpdateFlowMediaStream,
mediaconnect:AddFlowMediaStreams,
mediaconnect:RemoveFlowMediaStream,
mediaconnect:AddFlowVpcInterfaces,
mediaconnect:RemoveFlowVpcInterface
mediaconnect:DescribeFlow,
mediaconnect:DeleteFlow,
mediaconnect:RemoveFlowMediaStream,
mediaconnect:RemoveFlowOutput,
mediaconnect:RemoveFlowSource,
mediaconnect:RemoveFlowVpcInterface,
mediaconnect:RevokeFlowEntitlement
mediaconnect:ListFlows