UNPKG

@pulumi/ns1

Version:

A Pulumi package for creating and managing ns1 cloud resources.

467 lines (466 loc) 15.6 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * Provides a NS1 Team resource. This can be used to create, modify, and delete * teams. The credentials used must have the `manageTeams` permission set. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as ns1 from "@pulumi/ns1"; * * // Create a new NS1 Team * const example = new ns1.Team("example", { * name: "Example team", * ipWhitelists: [ * { * name: "whitelist-1", * values: [ * "1.1.1.1", * "2.2.2.2", * ], * }, * { * name: "whitelist-2", * values: [ * "3.3.3.3", * "4.4.4.4", * ], * }, * ], * dnsViewZones: false, * accountManageUsers: false, * }); * // Another team * const example2 = new ns1.Team("example2", { * name: "another team", * dnsViewZones: true, * dnsZonesAllowByDefault: true, * dnsZonesAllows: ["mytest.zone"], * dnsZonesDenies: ["myother.zone"], * dnsRecordsAllows: [{ * domain: "terraform.example.io", * includeSubdomains: false, * zone: "example.io", * type: "A", * }], * dataManageDatasources: true, * }); * ``` * * ## NS1 Documentation * * [Team Api Docs](https://ns1.com/api#team) * * ## Import * * ```sh * $ pulumi import ns1:index/team:Team <name> <team_id>` * ``` */ export declare class Team extends pulumi.CustomResource { /** * Get an existing Team 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<pulumi.ID>, state?: TeamState, opts?: pulumi.CustomResourceOptions): Team; /** * Returns true if the given object is an instance of Team. 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 Team; /** * Whether the team can modify account settings. */ readonly accountManageAccountSettings: pulumi.Output<boolean | undefined>; /** * Whether the team can modify account apikeys. */ readonly accountManageApikeys: pulumi.Output<boolean | undefined>; /** * Whether the team can manage ip whitelist. */ readonly accountManageIpWhitelist: pulumi.Output<boolean | undefined>; /** * Whether the team can modify account payment methods. */ readonly accountManagePaymentMethods: pulumi.Output<boolean | undefined>; /** * No longer in use. * * @deprecated obsolete, should no longer be used */ readonly accountManagePlan: pulumi.Output<boolean | undefined>; /** * Whether the team can modify other teams in the account. */ readonly accountManageTeams: pulumi.Output<boolean | undefined>; /** * Whether the team can modify account users. */ readonly accountManageUsers: pulumi.Output<boolean | undefined>; /** * Whether the team can view activity logs. */ readonly accountViewActivityLog: pulumi.Output<boolean | undefined>; /** * Whether the team can view invoices. */ readonly accountViewInvoices: pulumi.Output<boolean | undefined>; /** * Whether the team can modify data feeds. */ readonly dataManageDatafeeds: pulumi.Output<boolean | undefined>; /** * Whether the team can modify data sources. */ readonly dataManageDatasources: pulumi.Output<boolean | undefined>; /** * Whether the team can publish to data feeds. */ readonly dataPushToDatafeeds: pulumi.Output<boolean | undefined>; /** * Whether the team can modify the accounts zones. */ readonly dnsManageZones: pulumi.Output<boolean | undefined>; /** * List of records that the team may access. */ readonly dnsRecordsAllows: pulumi.Output<outputs.TeamDnsRecordsAllow[] | undefined>; /** * List of records that the team may not access. */ readonly dnsRecordsDenies: pulumi.Output<outputs.TeamDnsRecordsDeny[] | undefined>; /** * Whether the team can view the accounts zones. */ readonly dnsViewZones: pulumi.Output<boolean | undefined>; /** * If true, enable the `dnsZonesAllow` list, otherwise enable the `dnsZonesDeny` list. */ readonly dnsZonesAllowByDefault: pulumi.Output<boolean | undefined>; /** * List of zones that the team may access. */ readonly dnsZonesAllows: pulumi.Output<string[] | undefined>; /** * List of zones that the team may not access. */ readonly dnsZonesDenies: pulumi.Output<string[] | undefined>; /** * Array of IP addresses objects to chich to grant the team access. Each object includes a **name** (string), and **values** (array of strings) associated to each "allow" list. */ readonly ipWhitelists: pulumi.Output<outputs.TeamIpWhitelist[] | undefined>; /** * Whether the user can create monitoring jobs when manageJobs is not set to true. */ readonly monitoringCreateJobs: pulumi.Output<boolean | undefined>; /** * Whether the user can delete monitoring jobs when manageJobs is not set to true. */ readonly monitoringDeleteJobs: pulumi.Output<boolean | undefined>; /** * Whether the user can create, update, and delete monitoring jobs. */ readonly monitoringManageJobs: pulumi.Output<boolean | undefined>; /** * Whether the team can modify notification lists. */ readonly monitoringManageLists: pulumi.Output<boolean | undefined>; /** * Whether the user can update monitoring jobs when manageJobs is not set to true. */ readonly monitoringUpdateJobs: pulumi.Output<boolean | undefined>; /** * Whether the team can view monitoring jobs. */ readonly monitoringViewJobs: pulumi.Output<boolean | undefined>; /** * The free form name of the team. */ readonly name: pulumi.Output<string>; /** * Whether the user can manage redirects. * Only relevant for the DDI product. */ readonly redirectsManageRedirects: pulumi.Output<boolean | undefined>; /** * Whether the team can manage global active directory. */ readonly securityManageActiveDirectory: pulumi.Output<boolean | undefined>; /** * Whether the team can manage global two factor authentication. */ readonly securityManageGlobal2fa: pulumi.Output<boolean | undefined>; /** * Create a Team 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?: TeamArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Team resources. */ export interface TeamState { /** * Whether the team can modify account settings. */ accountManageAccountSettings?: pulumi.Input<boolean>; /** * Whether the team can modify account apikeys. */ accountManageApikeys?: pulumi.Input<boolean>; /** * Whether the team can manage ip whitelist. */ accountManageIpWhitelist?: pulumi.Input<boolean>; /** * Whether the team can modify account payment methods. */ accountManagePaymentMethods?: pulumi.Input<boolean>; /** * No longer in use. * * @deprecated obsolete, should no longer be used */ accountManagePlan?: pulumi.Input<boolean>; /** * Whether the team can modify other teams in the account. */ accountManageTeams?: pulumi.Input<boolean>; /** * Whether the team can modify account users. */ accountManageUsers?: pulumi.Input<boolean>; /** * Whether the team can view activity logs. */ accountViewActivityLog?: pulumi.Input<boolean>; /** * Whether the team can view invoices. */ accountViewInvoices?: pulumi.Input<boolean>; /** * Whether the team can modify data feeds. */ dataManageDatafeeds?: pulumi.Input<boolean>; /** * Whether the team can modify data sources. */ dataManageDatasources?: pulumi.Input<boolean>; /** * Whether the team can publish to data feeds. */ dataPushToDatafeeds?: pulumi.Input<boolean>; /** * Whether the team can modify the accounts zones. */ dnsManageZones?: pulumi.Input<boolean>; /** * List of records that the team may access. */ dnsRecordsAllows?: pulumi.Input<pulumi.Input<inputs.TeamDnsRecordsAllow>[]>; /** * List of records that the team may not access. */ dnsRecordsDenies?: pulumi.Input<pulumi.Input<inputs.TeamDnsRecordsDeny>[]>; /** * Whether the team can view the accounts zones. */ dnsViewZones?: pulumi.Input<boolean>; /** * If true, enable the `dnsZonesAllow` list, otherwise enable the `dnsZonesDeny` list. */ dnsZonesAllowByDefault?: pulumi.Input<boolean>; /** * List of zones that the team may access. */ dnsZonesAllows?: pulumi.Input<pulumi.Input<string>[]>; /** * List of zones that the team may not access. */ dnsZonesDenies?: pulumi.Input<pulumi.Input<string>[]>; /** * Array of IP addresses objects to chich to grant the team access. Each object includes a **name** (string), and **values** (array of strings) associated to each "allow" list. */ ipWhitelists?: pulumi.Input<pulumi.Input<inputs.TeamIpWhitelist>[]>; /** * Whether the user can create monitoring jobs when manageJobs is not set to true. */ monitoringCreateJobs?: pulumi.Input<boolean>; /** * Whether the user can delete monitoring jobs when manageJobs is not set to true. */ monitoringDeleteJobs?: pulumi.Input<boolean>; /** * Whether the user can create, update, and delete monitoring jobs. */ monitoringManageJobs?: pulumi.Input<boolean>; /** * Whether the team can modify notification lists. */ monitoringManageLists?: pulumi.Input<boolean>; /** * Whether the user can update monitoring jobs when manageJobs is not set to true. */ monitoringUpdateJobs?: pulumi.Input<boolean>; /** * Whether the team can view monitoring jobs. */ monitoringViewJobs?: pulumi.Input<boolean>; /** * The free form name of the team. */ name?: pulumi.Input<string>; /** * Whether the user can manage redirects. * Only relevant for the DDI product. */ redirectsManageRedirects?: pulumi.Input<boolean>; /** * Whether the team can manage global active directory. */ securityManageActiveDirectory?: pulumi.Input<boolean>; /** * Whether the team can manage global two factor authentication. */ securityManageGlobal2fa?: pulumi.Input<boolean>; } /** * The set of arguments for constructing a Team resource. */ export interface TeamArgs { /** * Whether the team can modify account settings. */ accountManageAccountSettings?: pulumi.Input<boolean>; /** * Whether the team can modify account apikeys. */ accountManageApikeys?: pulumi.Input<boolean>; /** * Whether the team can manage ip whitelist. */ accountManageIpWhitelist?: pulumi.Input<boolean>; /** * Whether the team can modify account payment methods. */ accountManagePaymentMethods?: pulumi.Input<boolean>; /** * No longer in use. * * @deprecated obsolete, should no longer be used */ accountManagePlan?: pulumi.Input<boolean>; /** * Whether the team can modify other teams in the account. */ accountManageTeams?: pulumi.Input<boolean>; /** * Whether the team can modify account users. */ accountManageUsers?: pulumi.Input<boolean>; /** * Whether the team can view activity logs. */ accountViewActivityLog?: pulumi.Input<boolean>; /** * Whether the team can view invoices. */ accountViewInvoices?: pulumi.Input<boolean>; /** * Whether the team can modify data feeds. */ dataManageDatafeeds?: pulumi.Input<boolean>; /** * Whether the team can modify data sources. */ dataManageDatasources?: pulumi.Input<boolean>; /** * Whether the team can publish to data feeds. */ dataPushToDatafeeds?: pulumi.Input<boolean>; /** * Whether the team can modify the accounts zones. */ dnsManageZones?: pulumi.Input<boolean>; /** * List of records that the team may access. */ dnsRecordsAllows?: pulumi.Input<pulumi.Input<inputs.TeamDnsRecordsAllow>[]>; /** * List of records that the team may not access. */ dnsRecordsDenies?: pulumi.Input<pulumi.Input<inputs.TeamDnsRecordsDeny>[]>; /** * Whether the team can view the accounts zones. */ dnsViewZones?: pulumi.Input<boolean>; /** * If true, enable the `dnsZonesAllow` list, otherwise enable the `dnsZonesDeny` list. */ dnsZonesAllowByDefault?: pulumi.Input<boolean>; /** * List of zones that the team may access. */ dnsZonesAllows?: pulumi.Input<pulumi.Input<string>[]>; /** * List of zones that the team may not access. */ dnsZonesDenies?: pulumi.Input<pulumi.Input<string>[]>; /** * Array of IP addresses objects to chich to grant the team access. Each object includes a **name** (string), and **values** (array of strings) associated to each "allow" list. */ ipWhitelists?: pulumi.Input<pulumi.Input<inputs.TeamIpWhitelist>[]>; /** * Whether the user can create monitoring jobs when manageJobs is not set to true. */ monitoringCreateJobs?: pulumi.Input<boolean>; /** * Whether the user can delete monitoring jobs when manageJobs is not set to true. */ monitoringDeleteJobs?: pulumi.Input<boolean>; /** * Whether the user can create, update, and delete monitoring jobs. */ monitoringManageJobs?: pulumi.Input<boolean>; /** * Whether the team can modify notification lists. */ monitoringManageLists?: pulumi.Input<boolean>; /** * Whether the user can update monitoring jobs when manageJobs is not set to true. */ monitoringUpdateJobs?: pulumi.Input<boolean>; /** * Whether the team can view monitoring jobs. */ monitoringViewJobs?: pulumi.Input<boolean>; /** * The free form name of the team. */ name?: pulumi.Input<string>; /** * Whether the user can manage redirects. * Only relevant for the DDI product. */ redirectsManageRedirects?: pulumi.Input<boolean>; /** * Whether the team can manage global active directory. */ securityManageActiveDirectory?: pulumi.Input<boolean>; /** * Whether the team can manage global two factor authentication. */ securityManageGlobal2fa?: pulumi.Input<boolean>; }