import * as pulumi from "@pulumi/pulumi"; /** * The tailnetSettings resource allows you to configure settings for your tailnet. See https://tailscale.com/api#tag/tailnetsettings for more information. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as tailscale from "@pulumi/tailscale"; * * const sampleTailnetSettings = new tailscale.TailnetSettings("sample_tailnet_settings", { * aclsExternallyManagedOn: true, * aclsExternalLink: "https://github.com/octocat/Hello-World", * devicesApprovalOn: true, * devicesAutoUpdatesOn: true, * devicesKeyDurationDays: 5, * usersApprovalOn: true, * usersRoleAllowedToJoinExternalTailnet: "member", * postureIdentityCollectionOn: true, * }); * ``` * * ## Import * * ID doesn't matter. * * ```sh * $ pulumi import tailscale:index/tailnetSettings:TailnetSettings sample_preferences tailnet_settings * ``` */ export declare class TailnetSettings extends pulumi.CustomResource { /** * Get an existing TailnetSettings 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?: TailnetSettingsState, opts?: pulumi.CustomResourceOptions): TailnetSettings; /** * Returns true if the given object is an instance of TailnetSettings. 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 TailnetSettings; /** * Link to your external ACL definition or management system. Must be a valid URL. */ readonly aclsExternalLink: pulumi.Output; readonly aclsExternallyManagedOn: pulumi.Output; /** * Whether device approval is enabled for the tailnet */ readonly devicesApprovalOn: pulumi.Output; /** * Whether auto updates are enabled for devices that belong to this tailnet */ readonly devicesAutoUpdatesOn: pulumi.Output; /** * The key expiry duration for devices on this tailnet */ readonly devicesKeyDurationDays: pulumi.Output; /** * Whether network flog logs are enabled for the tailnet */ readonly networkFlowLoggingOn: pulumi.Output; /** * Whether identity collection is enabled for device posture integrations for the tailnet */ readonly postureIdentityCollectionOn: pulumi.Output; /** * Whether regional routing is enabled for the tailnet */ readonly regionalRoutingOn: pulumi.Output; /** * Whether user approval is enabled for this tailnet */ readonly usersApprovalOn: pulumi.Output; /** * Which user roles are allowed to join external tailnets */ readonly usersRoleAllowedToJoinExternalTailnet: pulumi.Output; /** * Create a TailnetSettings 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?: TailnetSettingsArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering TailnetSettings resources. */ export interface TailnetSettingsState { /** * Link to your external ACL definition or management system. Must be a valid URL. */ aclsExternalLink?: pulumi.Input; aclsExternallyManagedOn?: pulumi.Input; /** * Whether device approval is enabled for the tailnet */ devicesApprovalOn?: pulumi.Input; /** * Whether auto updates are enabled for devices that belong to this tailnet */ devicesAutoUpdatesOn?: pulumi.Input; /** * The key expiry duration for devices on this tailnet */ devicesKeyDurationDays?: pulumi.Input; /** * Whether network flog logs are enabled for the tailnet */ networkFlowLoggingOn?: pulumi.Input; /** * Whether identity collection is enabled for device posture integrations for the tailnet */ postureIdentityCollectionOn?: pulumi.Input; /** * Whether regional routing is enabled for the tailnet */ regionalRoutingOn?: pulumi.Input; /** * Whether user approval is enabled for this tailnet */ usersApprovalOn?: pulumi.Input; /** * Which user roles are allowed to join external tailnets */ usersRoleAllowedToJoinExternalTailnet?: pulumi.Input; } /** * The set of arguments for constructing a TailnetSettings resource. */ export interface TailnetSettingsArgs { /** * Link to your external ACL definition or management system. Must be a valid URL. */ aclsExternalLink?: pulumi.Input; aclsExternallyManagedOn?: pulumi.Input; /** * Whether device approval is enabled for the tailnet */ devicesApprovalOn?: pulumi.Input; /** * Whether auto updates are enabled for devices that belong to this tailnet */ devicesAutoUpdatesOn?: pulumi.Input; /** * The key expiry duration for devices on this tailnet */ devicesKeyDurationDays?: pulumi.Input; /** * Whether network flog logs are enabled for the tailnet */ networkFlowLoggingOn?: pulumi.Input; /** * Whether identity collection is enabled for device posture integrations for the tailnet */ postureIdentityCollectionOn?: pulumi.Input; /** * Whether regional routing is enabled for the tailnet */ regionalRoutingOn?: pulumi.Input; /** * Whether user approval is enabled for this tailnet */ usersApprovalOn?: pulumi.Input; /** * Which user roles are allowed to join external tailnets */ usersRoleAllowedToJoinExternalTailnet?: pulumi.Input; }