/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the networkmanager-2019-07-05.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.NetworkManager.Model
{
///
/// Container for the parameters to the GetNetworkRoutes operation.
/// Gets the network routes of the specified global network.
///
public partial class GetNetworkRoutesRequest : AmazonNetworkManagerRequest
{
private Dictionary> _destinationFilters = new Dictionary>();
private List _exactCidrMatches = new List();
private string _globalNetworkId;
private List _longestPrefixMatches = new List();
private List _prefixListIds = new List();
private RouteTableIdentifier _routeTableIdentifier;
private List _states = new List();
private List _subnetOfMatches = new List();
private List _supernetOfMatches = new List();
private List _types = new List();
///
/// Gets and sets the property DestinationFilters.
///
/// Filter by route table destination. Possible Values: TRANSIT_GATEWAY_ATTACHMENT_ID,
/// RESOURCE_ID, or RESOURCE_TYPE.
///
///
public Dictionary> DestinationFilters
{
get { return this._destinationFilters; }
set { this._destinationFilters = value; }
}
// Check to see if DestinationFilters property is set
internal bool IsSetDestinationFilters()
{
return this._destinationFilters != null && this._destinationFilters.Count > 0;
}
///
/// Gets and sets the property ExactCidrMatches.
///
/// An exact CIDR block.
///
///
public List ExactCidrMatches
{
get { return this._exactCidrMatches; }
set { this._exactCidrMatches = value; }
}
// Check to see if ExactCidrMatches property is set
internal bool IsSetExactCidrMatches()
{
return this._exactCidrMatches != null && this._exactCidrMatches.Count > 0;
}
///
/// Gets and sets the property GlobalNetworkId.
///
/// The ID of the global network.
///
///
[AWSProperty(Required=true, Min=0, Max=50)]
public string GlobalNetworkId
{
get { return this._globalNetworkId; }
set { this._globalNetworkId = value; }
}
// Check to see if GlobalNetworkId property is set
internal bool IsSetGlobalNetworkId()
{
return this._globalNetworkId != null;
}
///
/// Gets and sets the property LongestPrefixMatches.
///
/// The most specific route that matches the traffic (longest prefix match).
///
///
public List LongestPrefixMatches
{
get { return this._longestPrefixMatches; }
set { this._longestPrefixMatches = value; }
}
// Check to see if LongestPrefixMatches property is set
internal bool IsSetLongestPrefixMatches()
{
return this._longestPrefixMatches != null && this._longestPrefixMatches.Count > 0;
}
///
/// Gets and sets the property PrefixListIds.
///
/// The IDs of the prefix lists.
///
///
public List PrefixListIds
{
get { return this._prefixListIds; }
set { this._prefixListIds = value; }
}
// Check to see if PrefixListIds property is set
internal bool IsSetPrefixListIds()
{
return this._prefixListIds != null && this._prefixListIds.Count > 0;
}
///
/// Gets and sets the property RouteTableIdentifier.
///
/// The ID of the route table.
///
///
[AWSProperty(Required=true)]
public RouteTableIdentifier RouteTableIdentifier
{
get { return this._routeTableIdentifier; }
set { this._routeTableIdentifier = value; }
}
// Check to see if RouteTableIdentifier property is set
internal bool IsSetRouteTableIdentifier()
{
return this._routeTableIdentifier != null;
}
///
/// Gets and sets the property States.
///
/// The route states.
///
///
public List States
{
get { return this._states; }
set { this._states = value; }
}
// Check to see if States property is set
internal bool IsSetStates()
{
return this._states != null && this._states.Count > 0;
}
///
/// Gets and sets the property SubnetOfMatches.
///
/// The routes with a subnet that match the specified CIDR filter.
///
///
public List SubnetOfMatches
{
get { return this._subnetOfMatches; }
set { this._subnetOfMatches = value; }
}
// Check to see if SubnetOfMatches property is set
internal bool IsSetSubnetOfMatches()
{
return this._subnetOfMatches != null && this._subnetOfMatches.Count > 0;
}
///
/// Gets and sets the property SupernetOfMatches.
///
/// The routes with a CIDR that encompasses the CIDR filter. Example: If you specify 10.0.1.0/30,
/// then the result returns 10.0.1.0/29.
///
///
public List SupernetOfMatches
{
get { return this._supernetOfMatches; }
set { this._supernetOfMatches = value; }
}
// Check to see if SupernetOfMatches property is set
internal bool IsSetSupernetOfMatches()
{
return this._supernetOfMatches != null && this._supernetOfMatches.Count > 0;
}
///
/// Gets and sets the property Types.
///
/// The route types.
///
///
public List Types
{
get { return this._types; }
set { this._types = value; }
}
// Check to see if Types property is set
internal bool IsSetTypes()
{
return this._types != null && this._types.Count > 0;
}
}
}