Module Values_1.SecurityGroupRuleRequestSource

Describes a security group rule. You must specify exactly one of the following parameters, based on the rule type: CidrIpv4 CidrIpv6 PrefixListId ReferencedGroupId Amazon Web Services canonicalizes IPv4 and IPv6 CIDRs. For example, if you specify 100.68.0.18/18 for the CIDR block, Amazon Web Services canonicalizes the CIDR block to 100.68.0.0/18. Any subsequent DescribeSecurityGroups and DescribeSecurityGroupRules calls will return the canonicalized form of the CIDR block. Additionally, if you attempt to add another rule with the non-canonical form of the CIDR (such as 100.68.0.18/18) and there is already a rule for the canonicalized form of the CIDR block (such as 100.68.0.0/18), the API throws an duplicate rule error. When you modify a rule, you cannot change the rule type. For example, if the rule uses an IPv4 address range, you must use CidrIpv4 to specify a new IPv4 address range.

Sourcetype nonrec t = {
  1. ipProtocol : Values_0.String_.t option;
    (*

    The IP protocol name (tcp, udp, icmp, icmpv6) or number (see Protocol Numbers). Use -1 to specify all protocols.

    *)
  2. fromPort : Values_0.Integer.t option;
    (*

    If the protocol is TCP or UDP, this is the start of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP type or -1 (all ICMP types).

    *)
  3. toPort : Values_0.Integer.t option;
    (*

    If the protocol is TCP or UDP, this is the end of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP code or -1 (all ICMP codes). If the start port is -1 (all ICMP types), then the end port must be -1 (all ICMP codes).

    *)
  4. cidrIpv4 : Values_0.String_.t option;
    (*

    The IPv4 CIDR range. To specify a single IPv4 address, use the /32 prefix length.

    *)
  5. cidrIpv6 : Values_0.String_.t option;
    (*

    The IPv6 CIDR range. To specify a single IPv6 address, use the /128 prefix length.

    *)
  6. prefixListId : Values_0.PrefixListResourceId.t option;
    (*

    The ID of the prefix list.

    *)
  7. referencedGroupId : Values_0.SecurityGroupId.t option;
    (*

    The ID of the security group that is referenced in the security group rule.

    *)
  8. description : Values_0.String_.t option;
    (*

    The description of the security group rule.

    *)
}
Sourceval make : ?ipProtocol:??? -> ?fromPort:??? -> ?toPort:??? -> ?cidrIpv4:??? -> ?cidrIpv6:??? -> ?prefixListId:??? -> ?referencedGroupId:??? -> ?description:??? -> unit -> t
Sourceval to_value : t -> [> `Structure of (string * [> `Integer of Values_0.Integer.t | `String of Values_0.String_.t ]) list ]
Sourceval to_query : t -> Awso.Client.Query.t
Sourceval of_xml : Awso.Xml.t -> t
Sourceval of_string : string -> t
Sourceval of_json : Yojson.Safe.t -> t
Sourceval to_json : t -> Yojson.Safe.t