UNPKG

@pulumi/sumologic

Version:

A Pulumi package for creating and managing sumologic cloud resources.

130 lines 6.38 kB
"use strict"; // *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** Object.defineProperty(exports, "__esModule", { value: true }); exports.Policies = void 0; const pulumi = require("@pulumi/pulumi"); const utilities = require("./utilities"); /** * Sets the Sumologic Policies. Since each policy is global for the entire organization, please ensure that only a single * instance of this resource is defined. The behavior for defining more than one policies resource is undefined. * * The following policies are supported: * - [Audit Policy](https://help.sumologic.com/Manage/Security/Audit-Index) * - [Data Access Level Policy](https://help.sumologic.com/Manage/Security/Data_Access_Level_for_Shared_Dashboards) * - [Maximum Web Session Timeout Policy](https://help.sumologic.com/Manage/Security/Set_a_Maximum_Web_Session_Timeout) * - [Search Audit Policy](https://help.sumologic.com/Manage/Security/Search_Audit_Index) * - [Share a Dashboard Outside Organization Policy](https://help.sumologic.com/Visualizations-and-Alerts/Dashboards/Share_Dashboards/Share_a_Dashboard_Outside_Your_Org) * - [User Concurrent Sessions Limit Policy](https://help.sumologic.com/Manage/Security/Set_a_Limit_for_User_Concurrent_Sessions) * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as sumologic from "@pulumi/sumologic"; * * const examplePolicies = new sumologic.Policies("example_policies", { * audit: false, * dataAccessLevel: false, * maxUserSessionTimeout: "7d", * searchAudit: false, * shareDashboardsOutsideOrganization: false, * userConcurrentSessionsLimit: { * enabled: false, * maxConcurrentSessions: 100, * }, * }); * ``` * * ## Import * * Policies can be imported using the id `org-policies`. * * hcl * * ```sh * $ pulumi import sumologic:index/policies:Policies example_policies org-policies * ``` * * [1]: https://help.sumologic.com/Manage/Security/Audit-Index * * [2]: https://help.sumologic.com/Manage/Security/Data_Access_Level_for_Shared_Dashboards * * [3]: https://help.sumologic.com/Manage/Security/Set_a_Maximum_Web_Session_Timeout * * [4]: https://help.sumologic.com/Manage/Security/Search_Audit_Index * * [5]: https://help.sumologic.com/Visualizations-and-Alerts/Dashboards/Share_Dashboards/Share_a_Dashboard_Outside_Your_Org * * [6]: https://help.sumologic.com/Manage/Security/Set_a_Limit_for_User_Concurrent_Sessions */ class Policies extends pulumi.CustomResource { /** * Get an existing Policies 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, id, state, opts) { return new Policies(name, state, Object.assign(Object.assign({}, opts), { id: id })); } /** * Returns true if the given object is an instance of Policies. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj) { if (obj === undefined || obj === null) { return false; } return obj['__pulumiType'] === Policies.__pulumiType; } constructor(name, argsOrState, opts) { let resourceInputs = {}; opts = opts || {}; if (opts.id) { const state = argsOrState; resourceInputs["audit"] = state ? state.audit : undefined; resourceInputs["dataAccessLevel"] = state ? state.dataAccessLevel : undefined; resourceInputs["maxUserSessionTimeout"] = state ? state.maxUserSessionTimeout : undefined; resourceInputs["searchAudit"] = state ? state.searchAudit : undefined; resourceInputs["shareDashboardsOutsideOrganization"] = state ? state.shareDashboardsOutsideOrganization : undefined; resourceInputs["userConcurrentSessionsLimit"] = state ? state.userConcurrentSessionsLimit : undefined; } else { const args = argsOrState; if ((!args || args.audit === undefined) && !opts.urn) { throw new Error("Missing required property 'audit'"); } if ((!args || args.dataAccessLevel === undefined) && !opts.urn) { throw new Error("Missing required property 'dataAccessLevel'"); } if ((!args || args.maxUserSessionTimeout === undefined) && !opts.urn) { throw new Error("Missing required property 'maxUserSessionTimeout'"); } if ((!args || args.searchAudit === undefined) && !opts.urn) { throw new Error("Missing required property 'searchAudit'"); } if ((!args || args.shareDashboardsOutsideOrganization === undefined) && !opts.urn) { throw new Error("Missing required property 'shareDashboardsOutsideOrganization'"); } if ((!args || args.userConcurrentSessionsLimit === undefined) && !opts.urn) { throw new Error("Missing required property 'userConcurrentSessionsLimit'"); } resourceInputs["audit"] = args ? args.audit : undefined; resourceInputs["dataAccessLevel"] = args ? args.dataAccessLevel : undefined; resourceInputs["maxUserSessionTimeout"] = args ? args.maxUserSessionTimeout : undefined; resourceInputs["searchAudit"] = args ? args.searchAudit : undefined; resourceInputs["shareDashboardsOutsideOrganization"] = args ? args.shareDashboardsOutsideOrganization : undefined; resourceInputs["userConcurrentSessionsLimit"] = args ? args.userConcurrentSessionsLimit : undefined; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(Policies.__pulumiType, name, resourceInputs, opts); } } exports.Policies = Policies; /** @internal */ Policies.__pulumiType = 'sumologic:index/policies:Policies'; //# sourceMappingURL=policies.js.map