import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * Gets information about a Security Group.
 */
export declare function getSecurityGroup(args?: GetSecurityGroupArgs, opts?: pulumi.InvokeOptions): Promise<GetSecurityGroupResult>;
/**
 * A collection of arguments for invoking getSecurityGroup.
 */
export interface GetSecurityGroupArgs {
    /**
     * The security group name. Only one of `name` and `securityGroupId` should be specified.
     */
    name?: string;
    /**
     * The ID of the project the security group is associated with.
     */
    projectId?: string;
    /**
     * The security group id. Only one of `name` and `securityGroupId` should be specified.
     */
    securityGroupId?: string;
    /**
     * `zone`) The zone in which the security group exists.
     */
    zone?: string;
}
/**
 * A collection of values returned by getSecurityGroup.
 */
export interface GetSecurityGroupResult {
    readonly description: string;
    readonly enableDefaultSecurity: boolean;
    readonly externalRules: boolean;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * The default policy on incoming traffic. Possible values are: `accept` or `drop`.
     */
    readonly inboundDefaultPolicy: string;
    /**
     * A list of inbound rule to add to the security group. (Structure is documented below.)
     */
    readonly inboundRules: outputs.instance.GetSecurityGroupInboundRule[];
    readonly name?: string;
    /**
     * The ID of the organization the security group is associated with.
     */
    readonly organizationId: string;
    /**
     * The default policy on outgoing traffic. Possible values are: `accept` or `drop`.
     */
    readonly outboundDefaultPolicy: string;
    /**
     * A list of outbound rule to add to the security group. (Structure is documented below.)
     */
    readonly outboundRules: outputs.instance.GetSecurityGroupOutboundRule[];
    readonly projectId?: string;
    readonly securityGroupId?: string;
    readonly stateful: boolean;
    readonly tags: string[];
    readonly zone?: string;
}
/**
 * Gets information about a Security Group.
 */
export declare function getSecurityGroupOutput(args?: GetSecurityGroupOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetSecurityGroupResult>;
/**
 * A collection of arguments for invoking getSecurityGroup.
 */
export interface GetSecurityGroupOutputArgs {
    /**
     * The security group name. Only one of `name` and `securityGroupId` should be specified.
     */
    name?: pulumi.Input<string>;
    /**
     * The ID of the project the security group is associated with.
     */
    projectId?: pulumi.Input<string>;
    /**
     * The security group id. Only one of `name` and `securityGroupId` should be specified.
     */
    securityGroupId?: pulumi.Input<string>;
    /**
     * `zone`) The zone in which the security group exists.
     */
    zone?: pulumi.Input<string>;
}
