:doc:`MediaConnect <../../mediaconnect>` / Client / add_flow_vpc_interfaces

***********************
add_flow_vpc_interfaces
***********************



.. py:method:: MediaConnect.Client.add_flow_vpc_interfaces(**kwargs)

  

  Adds VPC interfaces to a flow.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/AddFlowVpcInterfaces>`_  


  **Request Syntax**
  ::

    response = client.add_flow_vpc_interfaces(
        FlowArn='string',
        VpcInterfaces=[
            {
                'Name': 'string',
                'NetworkInterfaceType': 'ena'|'efa',
                'RoleArn': 'string',
                'SecurityGroupIds': [
                    'string',
                ],
                'SubnetId': 'string',
                'VpcInterfaceTags': {
                    'string': 'string'
                }
            },
        ]
    )
    
  :type FlowArn: string
  :param FlowArn: **[REQUIRED]** 

    The Amazon Resource Name (ARN) of the flow that you want to update.

    

  
  :type VpcInterfaces: list
  :param VpcInterfaces: **[REQUIRED]** 

    A list of VPC interfaces that you want to add to the flow.

    

  
    - *(dict) --* 

      The details of the VPC interfaces that you want to add to the flow.

      

    
      - **Name** *(string) --* **[REQUIRED]** 

        The name for the VPC interface. This name must be unique within the flow.

        

      
      - **NetworkInterfaceType** *(string) --* 

        The type of network interface.

        

      
      - **RoleArn** *(string) --* **[REQUIRED]** 

        The Amazon Resource Name (ARN) of the role that you created when you set up MediaConnect as a trusted service.

        

      
      - **SecurityGroupIds** *(list) --* **[REQUIRED]** 

        A virtual firewall to control inbound and outbound traffic.

        

      
        - *(string) --* 

        
    
      - **SubnetId** *(string) --* **[REQUIRED]** 

        The subnet IDs that you want to use for your VPC interface. A range of IP addresses in your VPC. When you create your VPC, you specify a range of IPv4 addresses for the VPC in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16. This is the primary CIDR block for your VPC. When you create a subnet for your VPC, you specify the CIDR block for the subnet, which is a subset of the VPC CIDR block. The subnets that you use across all VPC interfaces on the flow must be in the same Availability Zone as the flow.

        

      
      - **VpcInterfaceTags** *(dict) --* 

        The key-value pairs that can be used to tag and organize the VPC network interface.

        

      
        - *(string) --* 

        
          - *(string) --* 

          
    
  
    

  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'FlowArn': 'string',
          'VpcInterfaces': [
              {
                  'Name': 'string',
                  'NetworkInterfaceIds': [
                      'string',
                  ],
                  'NetworkInterfaceType': 'ena'|'efa',
                  'RoleArn': 'string',
                  'SecurityGroupIds': [
                      'string',
                  ],
                  'SubnetId': 'string'
              },
          ]
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **FlowArn** *(string) --* 

        The ARN of the flow that these VPC interfaces were added to.

        
      

      - **VpcInterfaces** *(list) --* 

        The details of the newly added VPC interfaces.

        
        

        - *(dict) --* 

          The settings for a VPC source.

          
          

          - **Name** *(string) --* 

            Immutable and has to be a unique against other VpcInterfaces in this Flow.

            
          

          - **NetworkInterfaceIds** *(list) --* 

            IDs of the network interfaces created in customer's account by MediaConnect.

            
            

            - *(string) --* 
        
          

          - **NetworkInterfaceType** *(string) --* 

            The type of network interface.

            
          

          - **RoleArn** *(string) --* 

            A role Arn MediaConnect can assume to create ENIs in your account.

            
          

          - **SecurityGroupIds** *(list) --* 

            Security Group IDs to be used on ENI.

            
            

            - *(string) --* 
        
          

          - **SubnetId** *(string) --* 

            Subnet must be in the AZ of the Flow.

            
      
    
  
  **Exceptions**
  
  *   :py:class:`MediaConnect.Client.exceptions.BadRequestException`

  
  *   :py:class:`MediaConnect.Client.exceptions.TooManyRequestsException`

  
  *   :py:class:`MediaConnect.Client.exceptions.ForbiddenException`

  
  *   :py:class:`MediaConnect.Client.exceptions.InternalServerErrorException`

  
  *   :py:class:`MediaConnect.Client.exceptions.NotFoundException`

  
  *   :py:class:`MediaConnect.Client.exceptions.ServiceUnavailableException`

  