describeFlowOperation method

Future<DescribeFlowOperationResponse> describeFlowOperation({
  1. required String firewallArn,
  2. required String flowOperationId,
  3. String? availabilityZone,
  4. String? vpcEndpointAssociationArn,
  5. String? vpcEndpointId,
})

Returns key information about a specific flow operation.

May throw InternalServerError. May throw InvalidRequestException. May throw ResourceNotFoundException. May throw ThrottlingException.

Parameter firewallArn : The Amazon Resource Name (ARN) of the firewall.

Parameter flowOperationId : A unique identifier for the flow operation. This ID is returned in the responses to start and list commands. You provide to describe commands.

Parameter availabilityZone : The ID of the Availability Zone where the firewall is located. For example, us-east-2a.

Defines the scope a flow operation. You can use up to 20 filters to configure a single flow operation.

Parameter vpcEndpointAssociationArn : The Amazon Resource Name (ARN) of a VPC endpoint association.

Parameter vpcEndpointId : A unique identifier for the primary endpoint associated with a firewall.

Implementation

Future<DescribeFlowOperationResponse> describeFlowOperation({
  required String firewallArn,
  required String flowOperationId,
  String? availabilityZone,
  String? vpcEndpointAssociationArn,
  String? vpcEndpointId,
}) async {
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.0',
    'X-Amz-Target': 'NetworkFirewall_20201112.DescribeFlowOperation'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'FirewallArn': firewallArn,
      'FlowOperationId': flowOperationId,
      if (availabilityZone != null) 'AvailabilityZone': availabilityZone,
      if (vpcEndpointAssociationArn != null)
        'VpcEndpointAssociationArn': vpcEndpointAssociationArn,
      if (vpcEndpointId != null) 'VpcEndpointId': vpcEndpointId,
    },
  );

  return DescribeFlowOperationResponse.fromJson(jsonResponse.body);
}