import * as core from "@terrascript/core"; export interface SecurityGroupRuleArgs extends core.ResourceArgs { /** * (Optional) List of CIDR blocks. Cannot be specified with `source_security_group_id` or `self`. */ cidrBlocks?: core.Array | core.ArrayOut; /** * (Optional) Description of the rule. */ description?: string | core.StringOut; /** * (Required) Start port (or ICMP type number if protocol is "icmp" or "icmpv6"). */ fromPort: number | core.NumberOut; /** * (Optional) List of IPv6 CIDR blocks. Cannot be specified with `source_security_group_id` or `self`. */ ipv6CidrBlocks?: core.Array | core.ArrayOut; /** * (Optional) List of Prefix List IDs. */ prefixListIds?: core.Array | core.ArrayOut; /** * (Required) Protocol. If not icmp, icmpv6, tcp, udp, or all use the [protocol number](https://www.ian * a.org/assignments/protocol-numbers/protocol-numbers.xhtml) */ protocol: string | core.StringOut; /** * (Required) Security group to apply this rule to. */ securityGroupId: string | core.StringOut; /** * (Optional) Whether the security group itself will be added as a source to this ingress rule. Cannot * be specified with `cidr_blocks`, `ipv6_cidr_blocks`, or `source_security_group_id`. */ self?: boolean | core.BooleanOut; /** * (Optional) Security group id to allow access to/from, depending on the `type`. Cannot be specified w * ith `cidr_blocks`, `ipv6_cidr_blocks`, or `self`. */ sourceSecurityGroupId?: string | core.StringOut; /** * (Required) End port (or ICMP code if protocol is "icmp"). */ toPort: number | core.NumberOut; /** * (Required) Type of rule being created. Valid options are `ingress` (inbound) */ type: string | core.StringOut; } export declare class SecurityGroupRule extends core.Resource { /** * (Optional) List of CIDR blocks. Cannot be specified with `source_security_group_id` or `self`. */ cidrBlocks?: core.Array | core.ArrayOut; /** * (Optional) Description of the rule. */ description?: string | core.StringOut; /** * (Required) Start port (or ICMP type number if protocol is "icmp" or "icmpv6"). */ fromPort: number | core.NumberOut; /** * ID of the security group rule. */ id: string | core.StringOut; /** * (Optional) List of IPv6 CIDR blocks. Cannot be specified with `source_security_group_id` or `self`. */ ipv6CidrBlocks?: core.Array | core.ArrayOut; /** * (Optional) List of Prefix List IDs. */ prefixListIds?: core.Array | core.ArrayOut; /** * (Required) Protocol. If not icmp, icmpv6, tcp, udp, or all use the [protocol number](https://www.ian * a.org/assignments/protocol-numbers/protocol-numbers.xhtml) */ protocol: string | core.StringOut; /** * (Required) Security group to apply this rule to. */ securityGroupId: string | core.StringOut; /** * (Optional) Whether the security group itself will be added as a source to this ingress rule. Cannot * be specified with `cidr_blocks`, `ipv6_cidr_blocks`, or `source_security_group_id`. */ self?: boolean | core.BooleanOut; /** * (Optional) Security group id to allow access to/from, depending on the `type`. Cannot be specified w * ith `cidr_blocks`, `ipv6_cidr_blocks`, or `self`. */ sourceSecurityGroupId?: string | core.StringOut; /** * (Required) End port (or ICMP code if protocol is "icmp"). */ toPort: number | core.NumberOut; /** * (Required) Type of rule being created. Valid options are `ingress` (inbound) */ type: string | core.StringOut; constructor(name: string, args?: SecurityGroupRuleArgs); getNamespace(): string; } //# sourceMappingURL=security_group_rule.d.ts.map