@pulumi/scm
Version:
A Pulumi package for managing resources on Strata Cloud Manager.. Based on terraform-provider-scm: version v0.2.1
233 lines (232 loc) • 6.44 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as outputs from "./types/output";
/**
* SecurityRule data source
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as scm from "@pulumi/scm";
*
* // 1. Fetch by ID (Best for direct lookup)
* const standardWebAccessById = scm.getSecurityRule({
* id: "2a550f26-3e98-47d0-984f-b51e4ff367de",
* });
* export const fetchedStandardWebId = standardWebAccessById.then(standardWebAccessById => standardWebAccessById.id);
* export const fetchedStandardWebName = standardWebAccessById.then(standardWebAccessById => standardWebAccessById.name);
* export const fetchedStandardWebDescription = standardWebAccessById.then(standardWebAccessById => standardWebAccessById.description);
* ```
*/
export declare function getSecurityRule(args: GetSecurityRuleArgs, opts?: pulumi.InvokeOptions): Promise<GetSecurityRuleResult>;
/**
* A collection of arguments for invoking getSecurityRule.
*/
export interface GetSecurityRuleArgs {
/**
* The UUID of the security rule
*/
id: string;
/**
* The name of the security rule
*/
name?: string;
}
/**
* A collection of values returned by getSecurityRule.
*/
export interface GetSecurityRuleResult {
/**
* The action to be taken when the rule is matched
*/
readonly action: string;
/**
* Allow url category
*/
readonly allowUrlCategories: outputs.GetSecurityRuleAllowUrlCategory[];
/**
* Allow web application
*/
readonly allowWebApplications: outputs.GetSecurityRuleAllowWebApplication[];
/**
* The application(s) being accessed
*/
readonly applications: string[];
/**
* Block url category
*/
readonly blockUrlCategories: string[];
/**
* Block web application
*/
readonly blockWebApplications: string[];
/**
* The URL categories being accessed
*/
readonly categories: string[];
/**
* Default profile settings
*/
readonly defaultProfileSettings: outputs.GetSecurityRuleDefaultProfileSettings;
/**
* The description of the security rule
*/
readonly description: string;
/**
* The destination Host Integrity Profile(s)
*/
readonly destinationHips: string[];
/**
* The destination address(es)
*/
readonly destinations: string[];
/**
* The device in which the resource is defined
*/
readonly device: string;
/**
* Devices
*/
readonly devices: string[];
/**
* Is the security rule disabled?
*/
readonly disabled: boolean;
/**
* The folder in which the resource is defined
*/
readonly folder: string;
/**
* The source security zone(s)
*/
readonly froms: string[];
/**
* The UUID of the security rule
*/
readonly id: string;
/**
* Log at session end?
*/
readonly logEnd: boolean;
/**
* The external log forwarding profile
*/
readonly logSetting: string;
/**
* Log settings
*/
readonly logSettings: outputs.GetSecurityRuleLogSettings;
/**
* Log at session start?
*/
readonly logStart: boolean;
/**
* The name of the security rule
*/
readonly name: string;
/**
* Negate the destination addresses(es)?
*/
readonly negateDestination: boolean;
/**
* Negate the source address(es)?
*/
readonly negateSource: boolean;
/**
* Negate user
*/
readonly negateUser: boolean;
/**
* Policy type
*/
readonly policyType: string;
/**
* The position of a security rule
*/
readonly position: string;
/**
* The security profile object
*/
readonly profileSetting: outputs.GetSecurityRuleProfileSetting;
/**
* Relative positioning rule. String must be one of these: `"before"`, `"after"`, `"top"`, `"bottom"`. If not specified, rule is created at the bottom of the ruleset.
*/
readonly relativePosition: string;
/**
* Schedule in which this rule will be applied
*/
readonly schedule: string;
/**
* Security settings
*/
readonly securitySettings: outputs.GetSecurityRuleSecuritySettings;
/**
* The service(s) being accessed
*/
readonly services: string[];
/**
* The snippet in which the resource is defined
*/
readonly snippet: string;
/**
* The source Host Integrity Profile(s)
*/
readonly sourceHips: string[];
/**
* List of source users and/or groups. Reserved words include `any`, `pre-login`, `known-user`, and `unknown`.
*/
readonly sourceUsers: string[];
/**
* The source addresses(es)
*/
readonly sources: string[];
/**
* The tags associated with the security rule
*/
readonly tags: string[];
/**
* The name or UUID of the rule to position this rule relative to. Required when `relativePosition` is `"before"` or `"after"`.
*/
readonly targetRule: string;
/**
* Tenant restrictions
*/
readonly tenantRestrictions: string[];
readonly tfid: string;
/**
* The destination security zone(s)
*/
readonly tos: string[];
}
/**
* SecurityRule data source
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as scm from "@pulumi/scm";
*
* // 1. Fetch by ID (Best for direct lookup)
* const standardWebAccessById = scm.getSecurityRule({
* id: "2a550f26-3e98-47d0-984f-b51e4ff367de",
* });
* export const fetchedStandardWebId = standardWebAccessById.then(standardWebAccessById => standardWebAccessById.id);
* export const fetchedStandardWebName = standardWebAccessById.then(standardWebAccessById => standardWebAccessById.name);
* export const fetchedStandardWebDescription = standardWebAccessById.then(standardWebAccessById => standardWebAccessById.description);
* ```
*/
export declare function getSecurityRuleOutput(args: GetSecurityRuleOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetSecurityRuleResult>;
/**
* A collection of arguments for invoking getSecurityRule.
*/
export interface GetSecurityRuleOutputArgs {
/**
* The UUID of the security rule
*/
id: pulumi.Input<string>;
/**
* The name of the security rule
*/
name?: pulumi.Input<string>;
}