import * as pulumi from "@pulumi/pulumi"; /** * This resource allows you to manage code security and analysis settings for a GitHub Enterprise account. This controls Advanced Security, Secret Scanning, and related security features that are automatically enabled for new repositories in the enterprise. * * You must have enterprise admin access to use this resource. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as github from "@pulumi/github"; * * // Basic security settings - enable secret scanning only * const basic = new github.EnterpriseSecurityAnalysisSettings("basic", { * enterpriseSlug: "my-enterprise", * secretScanningEnabledForNewRepositories: true, * }); * // Full security configuration with all features enabled * const comprehensive = new github.EnterpriseSecurityAnalysisSettings("comprehensive", { * enterpriseSlug: "my-enterprise", * advancedSecurityEnabledForNewRepositories: true, * secretScanningEnabledForNewRepositories: true, * secretScanningPushProtectionEnabledForNewRepositories: true, * secretScanningValidityChecksEnabled: true, * secretScanningPushProtectionCustomLink: "https://octokit.com/security-guidelines", * }); * ``` * * ## Notes * * > **Note:** This resource requires a GitHub Enterprise account and enterprise admin permissions. * * > **Note:** Advanced Security features require a GitHub Advanced Security license. * * When this resource is destroyed, all security analysis settings will be reset to disabled defaults for security reasons. * * ## Dependencies * * This resource manages the following security features: * * - **Advanced Security**: Code scanning, secret scanning, and dependency review * - **Secret Scanning**: Automatic detection of secrets in code * - **Push Protection**: Prevents secrets from being committed to repositories * - **Validity Checks**: Verifies that detected secrets are actually valid * * These settings only apply to **new repositories** created after the settings are enabled. Existing repositories are not affected and must be configured individually. * * ## Import * * Enterprise security analysis settings can be imported using the enterprise slug: * * ```sh * $ pulumi import github:index/enterpriseSecurityAnalysisSettings:EnterpriseSecurityAnalysisSettings example my-enterprise * ``` */ export declare class EnterpriseSecurityAnalysisSettings extends pulumi.CustomResource { /** * Get an existing EnterpriseSecurityAnalysisSettings resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: EnterpriseSecurityAnalysisSettingsState, opts?: pulumi.CustomResourceOptions): EnterpriseSecurityAnalysisSettings; /** * Returns true if the given object is an instance of EnterpriseSecurityAnalysisSettings. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is EnterpriseSecurityAnalysisSettings; /** * Whether GitHub Advanced Security is automatically enabled for new repositories. Defaults to `false`. Requires Advanced Security license. */ readonly advancedSecurityEnabledForNewRepositories: pulumi.Output; /** * The slug of the enterprise. */ readonly enterpriseSlug: pulumi.Output; /** * Whether secret scanning is automatically enabled for new repositories. Defaults to `false`. */ readonly secretScanningEnabledForNewRepositories: pulumi.Output; /** * Custom URL for secret scanning push protection bypass instructions. */ readonly secretScanningPushProtectionCustomLink: pulumi.Output; /** * Whether secret scanning push protection is automatically enabled for new repositories. Defaults to `false`. */ readonly secretScanningPushProtectionEnabledForNewRepositories: pulumi.Output; /** * Whether secret scanning validity checks are enabled. Defaults to `false`. */ readonly secretScanningValidityChecksEnabled: pulumi.Output; /** * Create a EnterpriseSecurityAnalysisSettings resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: EnterpriseSecurityAnalysisSettingsArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering EnterpriseSecurityAnalysisSettings resources. */ export interface EnterpriseSecurityAnalysisSettingsState { /** * Whether GitHub Advanced Security is automatically enabled for new repositories. Defaults to `false`. Requires Advanced Security license. */ advancedSecurityEnabledForNewRepositories?: pulumi.Input; /** * The slug of the enterprise. */ enterpriseSlug?: pulumi.Input; /** * Whether secret scanning is automatically enabled for new repositories. Defaults to `false`. */ secretScanningEnabledForNewRepositories?: pulumi.Input; /** * Custom URL for secret scanning push protection bypass instructions. */ secretScanningPushProtectionCustomLink?: pulumi.Input; /** * Whether secret scanning push protection is automatically enabled for new repositories. Defaults to `false`. */ secretScanningPushProtectionEnabledForNewRepositories?: pulumi.Input; /** * Whether secret scanning validity checks are enabled. Defaults to `false`. */ secretScanningValidityChecksEnabled?: pulumi.Input; } /** * The set of arguments for constructing a EnterpriseSecurityAnalysisSettings resource. */ export interface EnterpriseSecurityAnalysisSettingsArgs { /** * Whether GitHub Advanced Security is automatically enabled for new repositories. Defaults to `false`. Requires Advanced Security license. */ advancedSecurityEnabledForNewRepositories?: pulumi.Input; /** * The slug of the enterprise. */ enterpriseSlug: pulumi.Input; /** * Whether secret scanning is automatically enabled for new repositories. Defaults to `false`. */ secretScanningEnabledForNewRepositories?: pulumi.Input; /** * Custom URL for secret scanning push protection bypass instructions. */ secretScanningPushProtectionCustomLink?: pulumi.Input; /** * Whether secret scanning push protection is automatically enabled for new repositories. Defaults to `false`. */ secretScanningPushProtectionEnabledForNewRepositories?: pulumi.Input; /** * Whether secret scanning validity checks are enabled. Defaults to `false`. */ secretScanningValidityChecksEnabled?: pulumi.Input; } //# sourceMappingURL=enterpriseSecurityAnalysisSettings.d.ts.map