@pulumi/ns1
Version:
A Pulumi package for creating and managing ns1 cloud resources.
467 lines (466 loc) • 15.6 kB
TypeScript
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>;
}