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 | aws.mediaconnect.flows |
Fields
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. |
region | string | AWS region. |
Methods
Name | Accessible by | Required Params |
---|---|---|
create_resource | INSERT | Name, Source, region |
delete_resource | DELETE | data__Identifier, region |
update_resource | UPDATE | data__Identifier, data__PatchDocument, region |
list_resources | SELECT | region |
get_resource | SELECT | data__Identifier, region |
SELECT
examples
Gets all flows
in a region.
SELECT
region,
flow_arn,
egress_ip,
name,
availability_zone,
flow_availability_zone,
source,
source_failover_config,
vpc_interfaces,
media_streams,
maintenance
FROM aws.mediaconnect.flows
WHERE region = 'us-east-1';
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
FROM aws.mediaconnect.flows
WHERE region = 'us-east-1' AND data__Identifier = '<FlowArn>';
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 aws.mediaconnect.flows (
Name,
Source,
region
)
SELECT
'{{ Name }}',
'{{ Source }}',
'{{ region }}';
/*+ create */
INSERT INTO aws.mediaconnect.flows (
Name,
AvailabilityZone,
Source,
SourceFailoverConfig,
VpcInterfaces,
MediaStreams,
Maintenance,
region
)
SELECT
'{{ Name }}',
'{{ AvailabilityZone }}',
'{{ Source }}',
'{{ SourceFailoverConfig }}',
'{{ VpcInterfaces }}',
'{{ MediaStreams }}',
'{{ Maintenance }}',
'{{ 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: AvailabilityZone
value: '{{ AvailabilityZone }}'
- name: Source
value:
SourceArn: '{{ SourceArn }}'
Decryption:
Algorithm: '{{ Algorithm }}'
ConstantInitializationVector: '{{ ConstantInitializationVector }}'
DeviceId: '{{ DeviceId }}'
KeyType: '{{ KeyType }}'
Region: '{{ Region }}'
ResourceId: '{{ ResourceId }}'
RoleArn: '{{ RoleArn }}'
SecretArn: '{{ SecretArn }}'
Url: '{{ Url }}'
Description: '{{ Description }}'
EntitlementArn: '{{ EntitlementArn }}'
GatewayBridgeSource:
BridgeArn: '{{ BridgeArn }}'
VpcInterfaceAttachment:
VpcInterfaceName: '{{ VpcInterfaceName }}'
IngestIp: '{{ IngestIp }}'
IngestPort: '{{ IngestPort }}'
MaxBitrate: '{{ MaxBitrate }}'
MaxLatency: '{{ MaxLatency }}'
MinLatency: '{{ MinLatency }}'
Name: '{{ Name }}'
Protocol: '{{ Protocol }}'
SenderIpAddress: '{{ SenderIpAddress }}'
SenderControlPort: '{{ SenderControlPort }}'
StreamId: '{{ StreamId }}'
SourceIngestPort: '{{ SourceIngestPort }}'
SourceListenerAddress: '{{ SourceListenerAddress }}'
SourceListenerPort: '{{ SourceListenerPort }}'
VpcInterfaceName: '{{ VpcInterfaceName }}'
WhitelistCidr: '{{ WhitelistCidr }}'
MaxSyncBuffer: '{{ MaxSyncBuffer }}'
MediaStreamSourceConfigurations:
- EncodingName: '{{ EncodingName }}'
InputConfigurations:
- InputPort: '{{ InputPort }}'
Interface:
Name: '{{ Name }}'
MediaStreamName: '{{ MediaStreamName }}'
- name: SourceFailoverConfig
value:
State: '{{ State }}'
RecoveryWindow: '{{ RecoveryWindow }}'
FailoverMode: '{{ FailoverMode }}'
SourcePriority:
PrimarySource: '{{ PrimarySource }}'
- name: VpcInterfaces
value:
- Name: '{{ Name }}'
NetworkInterfaceType: '{{ NetworkInterfaceType }}'
RoleArn: '{{ RoleArn }}'
SecurityGroupIds:
- '{{ SecurityGroupIds[0] }}'
SubnetId: '{{ SubnetId }}'
NetworkInterfaceIds:
- '{{ NetworkInterfaceIds[0] }}'
- name: MediaStreams
value:
- MediaStreamId: '{{ MediaStreamId }}'
MediaStreamType: '{{ MediaStreamType }}'
VideoFormat: '{{ VideoFormat }}'
MediaStreamName: '{{ MediaStreamName }}'
Description: '{{ Description }}'
Attributes:
Fmtp:
ExactFramerate: '{{ ExactFramerate }}'
Colorimetry: '{{ Colorimetry }}'
ScanMode: '{{ ScanMode }}'
Tcs: '{{ Tcs }}'
Range: '{{ Range }}'
Par: '{{ Par }}'
ChannelOrder: '{{ ChannelOrder }}'
Lang: '{{ Lang }}'
ClockRate: '{{ ClockRate }}'
Fmt: '{{ Fmt }}'
- name: Maintenance
value:
MaintenanceDay: '{{ MaintenanceDay }}'
MaintenanceStartHour: '{{ MaintenanceStartHour }}'
DELETE
example
/*+ delete */
DELETE FROM aws.mediaconnect.flows
WHERE data__Identifier = '<FlowArn>'
AND region = 'us-east-1';
Permissions
To operate on the flows
resource, the following permissions are required:
Create
mediaconnect:CreateFlow,
iam:PassRole
Read
mediaconnect:DescribeFlow
Update
mediaconnect:DescribeFlow,
mediaconnect:UpdateFlow,
mediaconnect:UpdateFlowSource,
mediaconnect:UpdateFlowMediaStream,
mediaconnect:AddFlowMediaStreams,
mediaconnect:RemoveFlowMediaStream,
mediaconnect:AddFlowVpcInterfaces,
mediaconnect:RemoveFlowVpcInterface
Delete
mediaconnect:DescribeFlow,
mediaconnect:DeleteFlow
List
mediaconnect:ListFlows