/*
* 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 ec2-2016-11-15.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.EC2.Model
{
///
/// Container for the parameters to the DescribeSecurityGroups operation.
/// Describes the specified security groups or all of your security groups.
///
public partial class DescribeSecurityGroupsRequest : AmazonEC2Request
{
private List _filters = new List();
private List _groupIds = new List();
private List _groupNames = new List();
private int? _maxResults;
private string _nextToken;
///
/// Gets and sets the property Filters.
///
/// The filters. If using multiple filters for rules, the results include security groups
/// for which any combination of rules - not necessarily a single rule - match all filters.
///
/// -
///
///
description
- The description of the security group.
///
/// -
///
///
egress.ip-permission.cidr
- An IPv4 CIDR block for an outbound security
/// group rule.
///
/// -
///
///
egress.ip-permission.from-port
- For an outbound rule, the start of
/// port range for the TCP and UDP protocols, or an ICMP type number.
///
/// -
///
///
egress.ip-permission.group-id
- The ID of a security group that has
/// been referenced in an outbound security group rule.
///
/// -
///
///
egress.ip-permission.group-name
- The name of a security group that
/// is referenced in an outbound security group rule.
///
/// -
///
///
egress.ip-permission.ipv6-cidr
- An IPv6 CIDR block for an outbound
/// security group rule.
///
/// -
///
///
egress.ip-permission.prefix-list-id
- The ID of a prefix list to which
/// a security group rule allows outbound access.
///
/// -
///
///
egress.ip-permission.protocol
- The IP protocol for an outbound security
/// group rule (tcp
| udp
| icmp
, a protocol number,
/// or -1 for all protocols).
///
/// -
///
///
egress.ip-permission.to-port
- For an outbound rule, the end of port
/// range for the TCP and UDP protocols, or an ICMP code.
///
/// -
///
///
egress.ip-permission.user-id
- The ID of an Amazon Web Services account
/// that has been referenced in an outbound security group rule.
///
/// -
///
///
group-id
- The ID of the security group.
///
/// -
///
///
group-name
- The name of the security group.
///
/// -
///
///
ip-permission.cidr
- An IPv4 CIDR block for an inbound security group
/// rule.
///
/// -
///
///
ip-permission.from-port
- For an inbound rule, the start of port range
/// for the TCP and UDP protocols, or an ICMP type number.
///
/// -
///
///
ip-permission.group-id
- The ID of a security group that has been referenced
/// in an inbound security group rule.
///
/// -
///
///
ip-permission.group-name
- The name of a security group that is referenced
/// in an inbound security group rule.
///
/// -
///
///
ip-permission.ipv6-cidr
- An IPv6 CIDR block for an inbound security
/// group rule.
///
/// -
///
///
ip-permission.prefix-list-id
- The ID of a prefix list from which a
/// security group rule allows inbound access.
///
/// -
///
///
ip-permission.protocol
- The IP protocol for an inbound security group
/// rule (tcp
| udp
| icmp
, a protocol number,
/// or -1 for all protocols).
///
/// -
///
///
ip-permission.to-port
- For an inbound rule, the end of port range for
/// the TCP and UDP protocols, or an ICMP code.
///
/// -
///
///
ip-permission.user-id
- The ID of an Amazon Web Services account that
/// has been referenced in an inbound security group rule.
///
/// -
///
///
owner-id
- The Amazon Web Services account ID of the owner of the security
/// group.
///
/// -
///
///
tag
:<key> - The key/value combination of a tag assigned to the
/// resource. Use the tag key in the filter name and the tag value as the filter value.
/// For example, to find all resources that have a tag with the key Owner
/// and the value TeamA
, specify tag:Owner
for the filter name
/// and TeamA
for the filter value.
///
/// -
///
///
tag-key
- The key of a tag assigned to the resource. Use this filter
/// to find all resources assigned a tag with a specific key, regardless of the tag value.
///
/// -
///
///
vpc-id
- The ID of the VPC specified when the security group was created.
///
///
///
public List Filters
{
get { return this._filters; }
set { this._filters = value; }
}
// Check to see if Filters property is set
internal bool IsSetFilters()
{
return this._filters != null && this._filters.Count > 0;
}
///
/// Gets and sets the property GroupIds.
///
/// The IDs of the security groups. Required for security groups in a nondefault VPC.
///
///
///
/// Default: Describes all of your security groups.
///
///
public List GroupIds
{
get { return this._groupIds; }
set { this._groupIds = value; }
}
// Check to see if GroupIds property is set
internal bool IsSetGroupIds()
{
return this._groupIds != null && this._groupIds.Count > 0;
}
///
/// Gets and sets the property GroupNames.
///
/// [Default VPC] The names of the security groups. You can specify either the security
/// group name or the security group ID.
///
///
///
/// Default: Describes all of your security groups.
///
///
public List GroupNames
{
get { return this._groupNames; }
set { this._groupNames = value; }
}
// Check to see if GroupNames property is set
internal bool IsSetGroupNames()
{
return this._groupNames != null && this._groupNames.Count > 0;
}
///
/// Gets and sets the property MaxResults.
///
/// The maximum number of items to return for this request. To get the next page of items,
/// make another request with the token returned in the output. This value can be between
/// 5 and 1000. If this parameter is not specified, then all items are returned. For more
/// information, see Pagination.
///
///
[AWSProperty(Min=5, Max=1000)]
public int MaxResults
{
get { return this._maxResults.GetValueOrDefault(); }
set { this._maxResults = value; }
}
// Check to see if MaxResults property is set
internal bool IsSetMaxResults()
{
return this._maxResults.HasValue;
}
///
/// Gets and sets the property NextToken.
///
/// The token returned from a previous paginated request. Pagination continues from the
/// end of the items returned by the previous request.
///
///
public string NextToken
{
get { return this._nextToken; }
set { this._nextToken = value; }
}
// Check to see if NextToken property is set
internal bool IsSetNextToken()
{
return this._nextToken != null;
}
}
}