pulumi-ns1 3.3.0a1713333847__py3-none-any.whl → 3.3.0a1713561640__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -110,10 +110,12 @@ class AccountWhitelist(pulumi.CustomResource):
110
110
  import pulumi
111
111
  import pulumi_ns1 as ns1
112
112
 
113
- example = ns1.AccountWhitelist("example", values=[
114
- "1.1.1.1",
115
- "2.2.2.2",
116
- ])
113
+ example = ns1.AccountWhitelist("example",
114
+ name="Example Whitelist",
115
+ values=[
116
+ "1.1.1.1",
117
+ "2.2.2.2",
118
+ ])
117
119
  ```
118
120
  <!--End PulumiCodeChooser -->
119
121
 
@@ -152,10 +154,12 @@ class AccountWhitelist(pulumi.CustomResource):
152
154
  import pulumi
153
155
  import pulumi_ns1 as ns1
154
156
 
155
- example = ns1.AccountWhitelist("example", values=[
156
- "1.1.1.1",
157
- "2.2.2.2",
158
- ])
157
+ example = ns1.AccountWhitelist("example",
158
+ name="Example Whitelist",
159
+ values=[
160
+ "1.1.1.1",
161
+ "2.2.2.2",
162
+ ])
159
163
  ```
160
164
  <!--End PulumiCodeChooser -->
161
165
 
pulumi_ns1/api_key.py CHANGED
@@ -1149,9 +1149,10 @@ class APIKey(pulumi.CustomResource):
1149
1149
  import pulumi
1150
1150
  import pulumi_ns1 as ns1
1151
1151
 
1152
- example_team = ns1.Team("exampleTeam")
1153
- example_api_key = ns1.APIKey("exampleAPIKey",
1154
- teams=[example_team.id],
1152
+ example = ns1.Team("example", name="Example team")
1153
+ example_api_key = ns1.APIKey("example",
1154
+ name="Example key",
1155
+ teams=[example.id],
1155
1156
  ip_whitelists=[
1156
1157
  "1.1.1.1",
1157
1158
  "2.2.2.2",
@@ -1246,9 +1247,10 @@ class APIKey(pulumi.CustomResource):
1246
1247
  import pulumi
1247
1248
  import pulumi_ns1 as ns1
1248
1249
 
1249
- example_team = ns1.Team("exampleTeam")
1250
- example_api_key = ns1.APIKey("exampleAPIKey",
1251
- teams=[example_team.id],
1250
+ example = ns1.Team("example", name="Example team")
1251
+ example_api_key = ns1.APIKey("example",
1252
+ name="Example key",
1253
+ teams=[example.id],
1252
1254
  ip_whitelists=[
1253
1255
  "1.1.1.1",
1254
1256
  "2.2.2.2",
pulumi_ns1/application.py CHANGED
@@ -215,28 +215,6 @@ class Application(pulumi.CustomResource):
215
215
  """
216
216
  Provides a NS1 Pulsar application resource. This can be used to create, modify, and delete applications.
217
217
 
218
- ## Example Usage
219
-
220
- <!--Start PulumiCodeChooser -->
221
- ```python
222
- import pulumi
223
- import pulumi_ns1 as ns1
224
-
225
- # Create a new pulsar application with default config
226
- ns1_app = ns1.Application("ns1App", default_config=ns1.ApplicationDefaultConfigArgs(
227
- http=True,
228
- https=False,
229
- job_timeout_millis=100,
230
- request_timeout_millis=100,
231
- static_values=True,
232
- ))
233
- ```
234
- <!--End PulumiCodeChooser -->
235
-
236
- ## NS1 Documentation
237
-
238
- [Application Api Docs](https://ns1.com/api#get-list-pulsar-applications)
239
-
240
218
  ## Import
241
219
 
242
220
  ```sh
@@ -269,28 +247,6 @@ class Application(pulumi.CustomResource):
269
247
  """
270
248
  Provides a NS1 Pulsar application resource. This can be used to create, modify, and delete applications.
271
249
 
272
- ## Example Usage
273
-
274
- <!--Start PulumiCodeChooser -->
275
- ```python
276
- import pulumi
277
- import pulumi_ns1 as ns1
278
-
279
- # Create a new pulsar application with default config
280
- ns1_app = ns1.Application("ns1App", default_config=ns1.ApplicationDefaultConfigArgs(
281
- http=True,
282
- https=False,
283
- job_timeout_millis=100,
284
- request_timeout_millis=100,
285
- static_values=True,
286
- ))
287
- ```
288
- <!--End PulumiCodeChooser -->
289
-
290
- ## NS1 Documentation
291
-
292
- [Application Api Docs](https://ns1.com/api#get-list-pulsar-applications)
293
-
294
250
  ## Import
295
251
 
296
252
  ```sh
pulumi_ns1/data_feed.py CHANGED
@@ -145,22 +145,29 @@ class DataFeed(pulumi.CustomResource):
145
145
  import pulumi
146
146
  import pulumi_ns1 as ns1
147
147
 
148
- example = ns1.DataSource("example", sourcetype="nsone_v1")
149
- example_monitoring = ns1.DataSource("exampleMonitoring", sourcetype="nsone_monitoring")
150
- uswest_feed = ns1.DataFeed("uswestFeed",
148
+ example = ns1.DataSource("example",
149
+ name="example",
150
+ sourcetype="nsone_v1")
151
+ example_monitoring = ns1.DataSource("example_monitoring",
152
+ name="example_monitoring",
153
+ sourcetype="nsone_monitoring")
154
+ uswest_feed = ns1.DataFeed("uswest_feed",
155
+ name="uswest_feed",
151
156
  source_id=example.id,
152
157
  config={
153
158
  "label": "uswest",
154
159
  })
155
- useast_feed = ns1.DataFeed("useastFeed",
160
+ useast_feed = ns1.DataFeed("useast_feed",
161
+ name="useast_feed",
156
162
  source_id=example.id,
157
163
  config={
158
164
  "label": "useast",
159
165
  })
160
- useast_monitor_feed = ns1.DataFeed("useastMonitorFeed",
166
+ useast_monitor_feed = ns1.DataFeed("useast_monitor_feed",
167
+ name="useast_monitor_feed",
161
168
  source_id=example_monitoring.id,
162
169
  config={
163
- "jobid": ns1_monitoringjob["example_job"]["id"],
170
+ "jobid": example_job["id"],
164
171
  })
165
172
  ```
166
173
  <!--End PulumiCodeChooser -->
@@ -198,22 +205,29 @@ class DataFeed(pulumi.CustomResource):
198
205
  import pulumi
199
206
  import pulumi_ns1 as ns1
200
207
 
201
- example = ns1.DataSource("example", sourcetype="nsone_v1")
202
- example_monitoring = ns1.DataSource("exampleMonitoring", sourcetype="nsone_monitoring")
203
- uswest_feed = ns1.DataFeed("uswestFeed",
208
+ example = ns1.DataSource("example",
209
+ name="example",
210
+ sourcetype="nsone_v1")
211
+ example_monitoring = ns1.DataSource("example_monitoring",
212
+ name="example_monitoring",
213
+ sourcetype="nsone_monitoring")
214
+ uswest_feed = ns1.DataFeed("uswest_feed",
215
+ name="uswest_feed",
204
216
  source_id=example.id,
205
217
  config={
206
218
  "label": "uswest",
207
219
  })
208
- useast_feed = ns1.DataFeed("useastFeed",
220
+ useast_feed = ns1.DataFeed("useast_feed",
221
+ name="useast_feed",
209
222
  source_id=example.id,
210
223
  config={
211
224
  "label": "useast",
212
225
  })
213
- useast_monitor_feed = ns1.DataFeed("useastMonitorFeed",
226
+ useast_monitor_feed = ns1.DataFeed("useast_monitor_feed",
227
+ name="useast_monitor_feed",
214
228
  source_id=example_monitoring.id,
215
229
  config={
216
- "jobid": ns1_monitoringjob["example_job"]["id"],
230
+ "jobid": example_job["id"],
217
231
  })
218
232
  ```
219
233
  <!--End PulumiCodeChooser -->
pulumi_ns1/data_source.py CHANGED
@@ -145,7 +145,9 @@ class DataSource(pulumi.CustomResource):
145
145
  import pulumi
146
146
  import pulumi_ns1 as ns1
147
147
 
148
- example = ns1.DataSource("example", sourcetype="nsone_v1")
148
+ example = ns1.DataSource("example",
149
+ name="example",
150
+ sourcetype="nsone_v1")
149
151
  ```
150
152
  <!--End PulumiCodeChooser -->
151
153
 
@@ -182,7 +184,9 @@ class DataSource(pulumi.CustomResource):
182
184
  import pulumi
183
185
  import pulumi_ns1 as ns1
184
186
 
185
- example = ns1.DataSource("example", sourcetype="nsone_v1")
187
+ example = ns1.DataSource("example",
188
+ name="example",
189
+ sourcetype="nsone_v1")
186
190
  ```
187
191
  <!--End PulumiCodeChooser -->
188
192
 
pulumi_ns1/get_dns_sec.py CHANGED
@@ -92,10 +92,10 @@ def get_dns_sec(zone: Optional[str] = None,
92
92
  import pulumi_ns1 as ns1
93
93
 
94
94
  # Get DNSSEC details about a NS1 Zone.
95
- example_zone = ns1.Zone("exampleZone",
96
- dnssec=True,
97
- zone="terraform.example.io")
98
- example_dns_sec = ns1.get_dns_sec_output(zone=example_zone.zone)
95
+ example_zone = ns1.Zone("example",
96
+ zone="terraform.example.io",
97
+ dnssec=True)
98
+ example = ns1.get_dns_sec_output(zone=example_zone.zone)
99
99
  ```
100
100
  <!--End PulumiCodeChooser -->
101
101
 
@@ -128,10 +128,10 @@ def get_dns_sec_output(zone: Optional[pulumi.Input[str]] = None,
128
128
  import pulumi_ns1 as ns1
129
129
 
130
130
  # Get DNSSEC details about a NS1 Zone.
131
- example_zone = ns1.Zone("exampleZone",
132
- dnssec=True,
133
- zone="terraform.example.io")
134
- example_dns_sec = ns1.get_dns_sec_output(zone=example_zone.zone)
131
+ example_zone = ns1.Zone("example",
132
+ zone="terraform.example.io",
133
+ dnssec=True)
134
+ example = ns1.get_dns_sec_output(zone=example_zone.zone)
135
135
  ```
136
136
  <!--End PulumiCodeChooser -->
137
137
 
@@ -71,6 +71,7 @@ def get_monitoring_regions(regions: Optional[Sequence[pulumi.InputType['GetMonit
71
71
  import pulumi
72
72
  import pulumi_ns1 as ns1
73
73
 
74
+ # Get details of all available monitoring regions.
74
75
  example = ns1.get_monitoring_regions()
75
76
  ```
76
77
  <!--End PulumiCodeChooser -->
@@ -102,6 +103,7 @@ def get_monitoring_regions_output(regions: Optional[pulumi.Input[Optional[Sequen
102
103
  import pulumi
103
104
  import pulumi_ns1 as ns1
104
105
 
106
+ # Get details of all available monitoring regions.
105
107
  example = ns1.get_monitoring_regions()
106
108
  ```
107
109
  <!--End PulumiCodeChooser -->
@@ -71,6 +71,7 @@ def get_networks(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetNet
71
71
  import pulumi
72
72
  import pulumi_ns1 as ns1
73
73
 
74
+ # Get details about NS1 Networks.
74
75
  example = ns1.get_networks()
75
76
  ```
76
77
  <!--End PulumiCodeChooser -->
@@ -98,6 +99,7 @@ def get_networks_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.O
98
99
  import pulumi
99
100
  import pulumi_ns1 as ns1
100
101
 
102
+ # Get details about NS1 Networks.
101
103
  example = ns1.get_networks()
102
104
  ```
103
105
  <!--End PulumiCodeChooser -->
pulumi_ns1/get_record.py CHANGED
@@ -199,9 +199,10 @@ def get_record(domain: Optional[str] = None,
199
199
  import pulumi
200
200
  import pulumi_ns1 as ns1
201
201
 
202
- example = ns1.get_record(domain="terraform.example.io",
203
- type="A",
204
- zone="example.io")
202
+ # Get details about a NS1 Record.
203
+ example = ns1.get_record(zone="example.io",
204
+ domain="terraform.example.io",
205
+ type="A")
205
206
  ```
206
207
  <!--End PulumiCodeChooser -->
207
208
 
@@ -251,9 +252,10 @@ def get_record_output(domain: Optional[pulumi.Input[str]] = None,
251
252
  import pulumi
252
253
  import pulumi_ns1 as ns1
253
254
 
254
- example = ns1.get_record(domain="terraform.example.io",
255
- type="A",
256
- zone="example.io")
255
+ # Get details about a NS1 Record.
256
+ example = ns1.get_record(zone="example.io",
257
+ domain="terraform.example.io",
258
+ type="A")
257
259
  ```
258
260
  <!--End PulumiCodeChooser -->
259
261
 
pulumi_ns1/get_zone.py CHANGED
@@ -257,6 +257,7 @@ def get_zone(additional_ports: Optional[Sequence[int]] = None,
257
257
  import pulumi
258
258
  import pulumi_ns1 as ns1
259
259
 
260
+ # Get details about a NS1 Zone.
260
261
  example = ns1.get_zone(zone="terraform.example.io")
261
262
  ```
262
263
  <!--End PulumiCodeChooser -->
@@ -313,6 +314,7 @@ def get_zone_output(additional_ports: Optional[pulumi.Input[Optional[Sequence[in
313
314
  import pulumi
314
315
  import pulumi_ns1 as ns1
315
316
 
317
+ # Get details about a NS1 Zone.
316
318
  example = ns1.get_zone(zone="terraform.example.io")
317
319
  ```
318
320
  <!--End PulumiCodeChooser -->
@@ -569,28 +569,29 @@ class MonitoringJob(pulumi.CustomResource):
569
569
  import pulumi
570
570
  import pulumi_ns1 as ns1
571
571
 
572
- uswest_monitor = ns1.MonitoringJob("uswestMonitor",
572
+ uswest_monitor = ns1.MonitoringJob("uswest_monitor",
573
+ name="uswest",
573
574
  active=True,
574
- config={
575
- "host": "example-elb-uswest.aws.amazon.com",
576
- "port": 443,
577
- "send": "HEAD / HTTP/1.0\\\\r\\\\n\\\\r\\\\n",
578
- "ssl": 1,
579
- },
580
- frequency=60,
581
- job_type="tcp",
582
- mute=True,
583
- policy="quorum",
584
- rapid_recheck=True,
585
575
  regions=[
586
576
  "lga",
587
577
  "sjc",
588
578
  "sin",
589
579
  ],
580
+ job_type="tcp",
581
+ frequency=60,
582
+ rapid_recheck=True,
583
+ policy="quorum",
584
+ mute=True,
585
+ config={
586
+ "ssl": 1,
587
+ "send": "HEAD / HTTP/1.0\\\\r\\\\n\\\\r\\\\n",
588
+ "port": 443,
589
+ "host": "example-elb-uswest.aws.amazon.com",
590
+ },
590
591
  rules=[ns1.MonitoringJobRuleArgs(
592
+ value="200 OK",
591
593
  comparison="contains",
592
594
  key="output",
593
- value="200 OK",
594
595
  )])
595
596
  ```
596
597
  <!--End PulumiCodeChooser -->
@@ -641,28 +642,29 @@ class MonitoringJob(pulumi.CustomResource):
641
642
  import pulumi
642
643
  import pulumi_ns1 as ns1
643
644
 
644
- uswest_monitor = ns1.MonitoringJob("uswestMonitor",
645
+ uswest_monitor = ns1.MonitoringJob("uswest_monitor",
646
+ name="uswest",
645
647
  active=True,
646
- config={
647
- "host": "example-elb-uswest.aws.amazon.com",
648
- "port": 443,
649
- "send": "HEAD / HTTP/1.0\\\\r\\\\n\\\\r\\\\n",
650
- "ssl": 1,
651
- },
652
- frequency=60,
653
- job_type="tcp",
654
- mute=True,
655
- policy="quorum",
656
- rapid_recheck=True,
657
648
  regions=[
658
649
  "lga",
659
650
  "sjc",
660
651
  "sin",
661
652
  ],
653
+ job_type="tcp",
654
+ frequency=60,
655
+ rapid_recheck=True,
656
+ policy="quorum",
657
+ mute=True,
658
+ config={
659
+ "ssl": 1,
660
+ "send": "HEAD / HTTP/1.0\\\\r\\\\n\\\\r\\\\n",
661
+ "port": 443,
662
+ "host": "example-elb-uswest.aws.amazon.com",
663
+ },
662
664
  rules=[ns1.MonitoringJobRuleArgs(
665
+ value="200 OK",
663
666
  comparison="contains",
664
667
  key="output",
665
- value="200 OK",
666
668
  )])
667
669
  ```
668
670
  <!--End PulumiCodeChooser -->
pulumi_ns1/notify_list.py CHANGED
@@ -111,20 +111,22 @@ class NotifyList(pulumi.CustomResource):
111
111
  import pulumi
112
112
  import pulumi_ns1 as ns1
113
113
 
114
- nl = ns1.NotifyList("nl", notifications=[
115
- ns1.NotifyListNotificationArgs(
116
- config={
117
- "url": "http://www.mywebhook.com",
118
- },
119
- type="webhook",
120
- ),
121
- ns1.NotifyListNotificationArgs(
122
- config={
123
- "email": "test@test.com",
124
- },
125
- type="email",
126
- ),
127
- ])
114
+ nl = ns1.NotifyList("nl",
115
+ name="my notify list",
116
+ notifications=[
117
+ ns1.NotifyListNotificationArgs(
118
+ type="webhook",
119
+ config={
120
+ "url": "http://www.mywebhook.com",
121
+ },
122
+ ),
123
+ ns1.NotifyListNotificationArgs(
124
+ type="email",
125
+ config={
126
+ "email": "test@test.com",
127
+ },
128
+ ),
129
+ ])
128
130
  ```
129
131
  <!--End PulumiCodeChooser -->
130
132
 
@@ -159,20 +161,22 @@ class NotifyList(pulumi.CustomResource):
159
161
  import pulumi
160
162
  import pulumi_ns1 as ns1
161
163
 
162
- nl = ns1.NotifyList("nl", notifications=[
163
- ns1.NotifyListNotificationArgs(
164
- config={
165
- "url": "http://www.mywebhook.com",
166
- },
167
- type="webhook",
168
- ),
169
- ns1.NotifyListNotificationArgs(
170
- config={
171
- "email": "test@test.com",
172
- },
173
- type="email",
174
- ),
175
- ])
164
+ nl = ns1.NotifyList("nl",
165
+ name="my notify list",
166
+ notifications=[
167
+ ns1.NotifyListNotificationArgs(
168
+ type="webhook",
169
+ config={
170
+ "url": "http://www.mywebhook.com",
171
+ },
172
+ ),
173
+ ns1.NotifyListNotificationArgs(
174
+ type="email",
175
+ config={
176
+ "email": "test@test.com",
177
+ },
178
+ ),
179
+ ])
176
180
  ```
177
181
  <!--End PulumiCodeChooser -->
178
182
 
pulumi_ns1/record.py CHANGED
@@ -513,6 +513,122 @@ class Record(pulumi.CustomResource):
513
513
  """
514
514
  Provides a NS1 Record resource. This can be used to create, modify, and delete records.
515
515
 
516
+ ## Example Usage
517
+
518
+ <!--Start PulumiCodeChooser -->
519
+ ```python
520
+ import pulumi
521
+ import json
522
+ import pulumi_external as external
523
+ import pulumi_ns1 as ns1
524
+ import pulumi_std as std
525
+
526
+ example = ns1.Zone("example", zone="terraform.example.io")
527
+ ns1 = ns1.DataSource("ns1",
528
+ name="ns1_source",
529
+ sourcetype="nsone_v1")
530
+ foo = ns1.DataFeed("foo",
531
+ name="foo_feed",
532
+ source_id=ns1.id,
533
+ config={
534
+ "label": "foo",
535
+ })
536
+ bar = ns1.DataFeed("bar",
537
+ name="bar_feed",
538
+ source_id=ns1.id,
539
+ config={
540
+ "label": "bar",
541
+ })
542
+ www = ns1.Record("www",
543
+ zone=tld["zone"],
544
+ domain=f"www.{tld['zone']}",
545
+ type="CNAME",
546
+ ttl=60,
547
+ meta={
548
+ "up": True,
549
+ },
550
+ regions=[
551
+ ns1.RecordRegionArgs(
552
+ name="east",
553
+ meta={
554
+ "georegion": "US-EAST",
555
+ },
556
+ ),
557
+ ns1.RecordRegionArgs(
558
+ name="usa",
559
+ meta={
560
+ "country": "US",
561
+ },
562
+ ),
563
+ ],
564
+ answers=[
565
+ ns1.RecordAnswerArgs(
566
+ answer=f"sub1.{tld['zone']}",
567
+ region="east",
568
+ meta={
569
+ "up": foo.id.apply(lambda id: f"{{\\"feed\\":\\"{id}\\"}}"),
570
+ },
571
+ ),
572
+ ns1.RecordAnswerArgs(
573
+ answer=f"sub2.{tld['zone']}",
574
+ meta={
575
+ "up": bar.id.apply(lambda id: f"{{\\"feed\\":\\"{id}\\"}}"),
576
+ "connections": 3,
577
+ },
578
+ ),
579
+ ns1.RecordAnswerArgs(
580
+ answer=f"sub3.{tld['zone']}",
581
+ meta={
582
+ "pulsar": json.dumps([{
583
+ "job_id": "abcdef",
584
+ "bias": "*0.55",
585
+ "a5m_cutoff": 0.9,
586
+ }]),
587
+ "subdivisions": json.dumps({
588
+ "BR": [
589
+ "SP",
590
+ "SC",
591
+ ],
592
+ "DZ": [
593
+ "01",
594
+ "02",
595
+ "03",
596
+ ],
597
+ }),
598
+ },
599
+ ),
600
+ ],
601
+ filters=[ns1.RecordFilterArgs(
602
+ filter="select_first_n",
603
+ config={
604
+ "N": 1,
605
+ },
606
+ )])
607
+ # Some other non-NS1 provider that returns a zone with a trailing dot and a domain with a leading dot.
608
+ baz = external.index.Source("baz",
609
+ zone=terraform.example.io.,
610
+ domain=.www.terraform.example.io)
611
+ # Basic record showing how to clean a zone or domain field that comes from
612
+ # another non-NS1 resource. DNS names often end in '.' characters to signify
613
+ # the root of the DNS tree, but the NS1 provider does not support this.
614
+ #
615
+ # In other cases, a domain or zone may be passed in with a preceding dot ('.')
616
+ # character which would likewise lead the system to fail.
617
+ external = ns1.Record("external",
618
+ zone=std.replace(text=zone,
619
+ search="/(^\\\\.)|(\\\\.$)/",
620
+ replace="").result,
621
+ domain=std.replace(text=domain,
622
+ search="/(^\\\\.)|(\\\\.$)/",
623
+ replace="").result,
624
+ type="CNAME")
625
+ ```
626
+ <!--End PulumiCodeChooser -->
627
+
628
+ ## NS1 Documentation
629
+
630
+ [Record Api Doc](https://ns1.com/api#records)
631
+
516
632
  ## Import
517
633
 
518
634
  ```sh
@@ -557,6 +673,122 @@ class Record(pulumi.CustomResource):
557
673
  """
558
674
  Provides a NS1 Record resource. This can be used to create, modify, and delete records.
559
675
 
676
+ ## Example Usage
677
+
678
+ <!--Start PulumiCodeChooser -->
679
+ ```python
680
+ import pulumi
681
+ import json
682
+ import pulumi_external as external
683
+ import pulumi_ns1 as ns1
684
+ import pulumi_std as std
685
+
686
+ example = ns1.Zone("example", zone="terraform.example.io")
687
+ ns1 = ns1.DataSource("ns1",
688
+ name="ns1_source",
689
+ sourcetype="nsone_v1")
690
+ foo = ns1.DataFeed("foo",
691
+ name="foo_feed",
692
+ source_id=ns1.id,
693
+ config={
694
+ "label": "foo",
695
+ })
696
+ bar = ns1.DataFeed("bar",
697
+ name="bar_feed",
698
+ source_id=ns1.id,
699
+ config={
700
+ "label": "bar",
701
+ })
702
+ www = ns1.Record("www",
703
+ zone=tld["zone"],
704
+ domain=f"www.{tld['zone']}",
705
+ type="CNAME",
706
+ ttl=60,
707
+ meta={
708
+ "up": True,
709
+ },
710
+ regions=[
711
+ ns1.RecordRegionArgs(
712
+ name="east",
713
+ meta={
714
+ "georegion": "US-EAST",
715
+ },
716
+ ),
717
+ ns1.RecordRegionArgs(
718
+ name="usa",
719
+ meta={
720
+ "country": "US",
721
+ },
722
+ ),
723
+ ],
724
+ answers=[
725
+ ns1.RecordAnswerArgs(
726
+ answer=f"sub1.{tld['zone']}",
727
+ region="east",
728
+ meta={
729
+ "up": foo.id.apply(lambda id: f"{{\\"feed\\":\\"{id}\\"}}"),
730
+ },
731
+ ),
732
+ ns1.RecordAnswerArgs(
733
+ answer=f"sub2.{tld['zone']}",
734
+ meta={
735
+ "up": bar.id.apply(lambda id: f"{{\\"feed\\":\\"{id}\\"}}"),
736
+ "connections": 3,
737
+ },
738
+ ),
739
+ ns1.RecordAnswerArgs(
740
+ answer=f"sub3.{tld['zone']}",
741
+ meta={
742
+ "pulsar": json.dumps([{
743
+ "job_id": "abcdef",
744
+ "bias": "*0.55",
745
+ "a5m_cutoff": 0.9,
746
+ }]),
747
+ "subdivisions": json.dumps({
748
+ "BR": [
749
+ "SP",
750
+ "SC",
751
+ ],
752
+ "DZ": [
753
+ "01",
754
+ "02",
755
+ "03",
756
+ ],
757
+ }),
758
+ },
759
+ ),
760
+ ],
761
+ filters=[ns1.RecordFilterArgs(
762
+ filter="select_first_n",
763
+ config={
764
+ "N": 1,
765
+ },
766
+ )])
767
+ # Some other non-NS1 provider that returns a zone with a trailing dot and a domain with a leading dot.
768
+ baz = external.index.Source("baz",
769
+ zone=terraform.example.io.,
770
+ domain=.www.terraform.example.io)
771
+ # Basic record showing how to clean a zone or domain field that comes from
772
+ # another non-NS1 resource. DNS names often end in '.' characters to signify
773
+ # the root of the DNS tree, but the NS1 provider does not support this.
774
+ #
775
+ # In other cases, a domain or zone may be passed in with a preceding dot ('.')
776
+ # character which would likewise lead the system to fail.
777
+ external = ns1.Record("external",
778
+ zone=std.replace(text=zone,
779
+ search="/(^\\\\.)|(\\\\.$)/",
780
+ replace="").result,
781
+ domain=std.replace(text=domain,
782
+ search="/(^\\\\.)|(\\\\.$)/",
783
+ replace="").result,
784
+ type="CNAME")
785
+ ```
786
+ <!--End PulumiCodeChooser -->
787
+
788
+ ## NS1 Documentation
789
+
790
+ [Record Api Doc](https://ns1.com/api#records)
791
+
560
792
  ## Import
561
793
 
562
794
  ```sh
pulumi_ns1/team.py CHANGED
@@ -1070,8 +1070,7 @@ class Team(pulumi.CustomResource):
1070
1070
 
1071
1071
  # Create a new NS1 Team
1072
1072
  example = ns1.Team("example",
1073
- account_manage_users=False,
1074
- dns_view_zones=False,
1073
+ name="Example team",
1075
1074
  ip_whitelists=[
1076
1075
  ns1.TeamIpWhitelistArgs(
1077
1076
  name="whitelist-1",
@@ -1087,20 +1086,23 @@ class Team(pulumi.CustomResource):
1087
1086
  "4.4.4.4",
1088
1087
  ],
1089
1088
  ),
1090
- ])
1089
+ ],
1090
+ dns_view_zones=False,
1091
+ account_manage_users=False)
1091
1092
  # Another team
1092
1093
  example2 = ns1.Team("example2",
1093
- data_manage_datasources=True,
1094
+ name="another team",
1095
+ dns_view_zones=True,
1096
+ dns_zones_allow_by_default=True,
1097
+ dns_zones_allows=["mytest.zone"],
1098
+ dns_zones_denies=["myother.zone"],
1094
1099
  dns_records_allows=[ns1.TeamDnsRecordsAllowArgs(
1095
1100
  domain="terraform.example.io",
1096
1101
  include_subdomains=False,
1097
- type="A",
1098
1102
  zone="example.io",
1103
+ type="A",
1099
1104
  )],
1100
- dns_view_zones=True,
1101
- dns_zones_allows=["mytest.zone"],
1102
- dns_zones_allow_by_default=True,
1103
- dns_zones_denies=["myother.zone"])
1105
+ data_manage_datasources=True)
1104
1106
  ```
1105
1107
  <!--End PulumiCodeChooser -->
1106
1108
 
@@ -1171,8 +1173,7 @@ class Team(pulumi.CustomResource):
1171
1173
 
1172
1174
  # Create a new NS1 Team
1173
1175
  example = ns1.Team("example",
1174
- account_manage_users=False,
1175
- dns_view_zones=False,
1176
+ name="Example team",
1176
1177
  ip_whitelists=[
1177
1178
  ns1.TeamIpWhitelistArgs(
1178
1179
  name="whitelist-1",
@@ -1188,20 +1189,23 @@ class Team(pulumi.CustomResource):
1188
1189
  "4.4.4.4",
1189
1190
  ],
1190
1191
  ),
1191
- ])
1192
+ ],
1193
+ dns_view_zones=False,
1194
+ account_manage_users=False)
1192
1195
  # Another team
1193
1196
  example2 = ns1.Team("example2",
1194
- data_manage_datasources=True,
1197
+ name="another team",
1198
+ dns_view_zones=True,
1199
+ dns_zones_allow_by_default=True,
1200
+ dns_zones_allows=["mytest.zone"],
1201
+ dns_zones_denies=["myother.zone"],
1195
1202
  dns_records_allows=[ns1.TeamDnsRecordsAllowArgs(
1196
1203
  domain="terraform.example.io",
1197
1204
  include_subdomains=False,
1198
- type="A",
1199
1205
  zone="example.io",
1206
+ type="A",
1200
1207
  )],
1201
- dns_view_zones=True,
1202
- dns_zones_allows=["mytest.zone"],
1203
- dns_zones_allow_by_default=True,
1204
- dns_zones_denies=["myother.zone"])
1208
+ data_manage_datasources=True)
1205
1209
  ```
1206
1210
  <!--End PulumiCodeChooser -->
1207
1211
 
pulumi_ns1/tsigkey.py CHANGED
@@ -141,6 +141,7 @@ class Tsigkey(pulumi.CustomResource):
141
141
  import pulumi_ns1 as ns1
142
142
 
143
143
  example = ns1.Tsigkey("example",
144
+ name="ExampleTsigKey",
144
145
  algorithm="hmac-sha256",
145
146
  secret="Ok1qR5IW1ajVka5cHPEJQIXfLyx5V3PSkFBROAzOn21JumDq6nIpoj6H8rfj5Uo+Ok55ZWQ0Wgrf302fDscHLA==")
146
147
  ```
@@ -178,6 +179,7 @@ class Tsigkey(pulumi.CustomResource):
178
179
  import pulumi_ns1 as ns1
179
180
 
180
181
  example = ns1.Tsigkey("example",
182
+ name="ExampleTsigKey",
181
183
  algorithm="hmac-sha256",
182
184
  secret="Ok1qR5IW1ajVka5cHPEJQIXfLyx5V3PSkFBROAzOn21JumDq6nIpoj6H8rfj5Uo+Ok55ZWQ0Wgrf302fDscHLA==")
183
185
  ```
pulumi_ns1/user.py CHANGED
@@ -1204,17 +1204,19 @@ class User(pulumi.CustomResource):
1204
1204
  import pulumi
1205
1205
  import pulumi_ns1 as ns1
1206
1206
 
1207
- example_team = ns1.Team("exampleTeam",
1207
+ example = ns1.Team("example",
1208
+ name="Example team",
1208
1209
  ip_whitelists=[
1209
1210
  "1.1.1.1",
1210
1211
  "2.2.2.2",
1211
1212
  ],
1212
1213
  dns_view_zones=False,
1213
1214
  account_manage_users=False)
1214
- example_user = ns1.User("exampleUser",
1215
+ example_user = ns1.User("example",
1216
+ name="Example User",
1215
1217
  username="example_user",
1216
1218
  email="user@example.com",
1217
- teams=[example_team.id],
1219
+ teams=[example.id],
1218
1220
  notify={
1219
1221
  "billing": False,
1220
1222
  })
@@ -1303,17 +1305,19 @@ class User(pulumi.CustomResource):
1303
1305
  import pulumi
1304
1306
  import pulumi_ns1 as ns1
1305
1307
 
1306
- example_team = ns1.Team("exampleTeam",
1308
+ example = ns1.Team("example",
1309
+ name="Example team",
1307
1310
  ip_whitelists=[
1308
1311
  "1.1.1.1",
1309
1312
  "2.2.2.2",
1310
1313
  ],
1311
1314
  dns_view_zones=False,
1312
1315
  account_manage_users=False)
1313
- example_user = ns1.User("exampleUser",
1316
+ example_user = ns1.User("example",
1317
+ name="Example User",
1314
1318
  username="example_user",
1315
1319
  email="user@example.com",
1316
- teams=[example_team.id],
1320
+ teams=[example.id],
1317
1321
  notify={
1318
1322
  "billing": False,
1319
1323
  })
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pulumi_ns1
3
- Version: 3.3.0a1713333847
3
+ Version: 3.3.0a1713561640
4
4
  Summary: A Pulumi package for creating and managing ns1 cloud resources.
5
5
  License: Apache-2.0
6
6
  Project-URL: Homepage, https://pulumi.io
@@ -0,0 +1,35 @@
1
+ pulumi_ns1/__init__.py,sha256=wNUy5gN6yVX06kifppBkiBFuJrHs5rh3Dzq66Pm8i2o,3438
2
+ pulumi_ns1/_inputs.py,sha256=8FSj_cd_yoTCKSpENO84hL6nUYMk5nV4TMPiVfmKCLE,38901
3
+ pulumi_ns1/_utilities.py,sha256=b6gJn0IIeM1t6Q7EVjqw3yhuGyP-uENQhtL5yp7aHR8,9248
4
+ pulumi_ns1/account_whitelist.py,sha256=SrH4xqir18F2mRCf-fX7FGCuZRdo5x7Iw3RMe2bJZQY,9210
5
+ pulumi_ns1/api_key.py,sha256=5QrCmAvnnqDx8wMufWlvCPzci0MmYiXaOVtZqPXgfMM,87418
6
+ pulumi_ns1/application.py,sha256=YAetD40s0hg6zULKu3u-e5Q8sVHm9J6vAYlhVv8Y0X8,16619
7
+ pulumi_ns1/data_feed.py,sha256=Rj22Txi-OGYLXosHAD0CZZksh0mtxa_oPPtp41hqmKE,12838
8
+ pulumi_ns1/data_source.py,sha256=jBYJgT9ssj67c3LJxdxaVFBUaWQvkckrBPJv0A4zC4M,11258
9
+ pulumi_ns1/dataset.py,sha256=IwYvL6WgRpKF6ZRhFi4pO3Zqj2OymKPbdh3XqWEHdj4,13385
10
+ pulumi_ns1/dnsview.py,sha256=83riInActsTQC_E-yuaeFxHWYG49UHtrJtjuDsH5ASM,13624
11
+ pulumi_ns1/get_dns_sec.py,sha256=d5KvipMIpyL4jm7lv5j9teYpiJjoRhilq9IiwtP_kvI,4207
12
+ pulumi_ns1/get_monitoring_regions.py,sha256=gy0N2im-x2sxmBjeGIJnAiHXDAaEt0yfrtuBkrifCYQ,3790
13
+ pulumi_ns1/get_networks.py,sha256=QJyS5x-UrEeGlA5lIcO0OgZlTK_WKSdi_5MrSWl4-sU,3172
14
+ pulumi_ns1/get_record.py,sha256=Zu2e58Sffosa3GGuQtvtdaJGmiAbP3EB0-3b7TpF9Lc,9023
15
+ pulumi_ns1/get_zone.py,sha256=R0D2nNNkqGxUVT36XWJia1KjQadpIfijO1IIpWlRM1A,11460
16
+ pulumi_ns1/monitoring_job.py,sha256=HsaAwsNwCbMPHWhEZYfFEmxZQRrQ0AVioV8sNPRP4u4,45912
17
+ pulumi_ns1/notify_list.py,sha256=Ak1aAYxMg7Mc6l4lJ-CYI5KGNtDEQ421rdK7piyY_QQ,11225
18
+ pulumi_ns1/outputs.py,sha256=Ld_6Lm9hRElF10c_aIewKwbtmsXIJzlZXXI4OqUHt0o,46058
19
+ pulumi_ns1/provider.py,sha256=5E3JbCjCD3ztCf3HFRYQ_c680oYir0a9h_Fy3nUtHe0,10590
20
+ pulumi_ns1/pulsar_job.py,sha256=Gk12BJdVCy6QWEqt99Wf5RqvZXEIf8Oub5Qn0x3YfjM,17050
21
+ pulumi_ns1/pulumi-plugin.json,sha256=U1IwjH61SXsxMo8_PRJwqdmvSF-6MsDFM_LRS0M9Pow,40
22
+ pulumi_ns1/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
+ pulumi_ns1/record.py,sha256=Nhi2wPkHjICD3VMsQPr151bjuJu16SChRR73oYgtDaM,44687
24
+ pulumi_ns1/subnet.py,sha256=9LN3o8gVwCgL4hC9wwFDzU4WPNXDxCOZE3MudBWPlq0,19239
25
+ pulumi_ns1/team.py,sha256=jhClThU4x1b7uit-c8LZ3uP9XM5QlaorZDmcyTJHDT8,81870
26
+ pulumi_ns1/tsigkey.py,sha256=TaMWm-7SwyNqsFmhsZH70JCQHpW_BXlTmNVEGJ1fIdU,10194
27
+ pulumi_ns1/user.py,sha256=wXfDKmEgkYiRFeKtixuAl5BIiJUtQPy7cx8RSynT4cc,89390
28
+ pulumi_ns1/zone.py,sha256=uNMTuyIfC-ij8y5iUJNVWp31Q5PInWpgiXNvqhPTZWs,42852
29
+ pulumi_ns1/config/__init__.py,sha256=cfY0smRZD3fDVc93ZIAxEl_IM2pynmXB52n3Ahzi030,285
30
+ pulumi_ns1/config/__init__.pyi,sha256=gTM1utkGS4KH3on5zyhR_a6AtTg4_jVpEXyQeU7ZpJQ,865
31
+ pulumi_ns1/config/vars.py,sha256=bQTOWrwMP1x58zYPNlK8g8CTAbOUMF3GyfcevML1frE,1674
32
+ pulumi_ns1-3.3.0a1713561640.dist-info/METADATA,sha256=i3WPPjAwhB4jKwHDYRg6EK1NrFgQ5OEKHJj5HYNBziQ,3047
33
+ pulumi_ns1-3.3.0a1713561640.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
34
+ pulumi_ns1-3.3.0a1713561640.dist-info/top_level.txt,sha256=Sndx9N4MHnSbjpwVT-_JZ8NZ7JzudJUIUQkU2-9GH9U,11
35
+ pulumi_ns1-3.3.0a1713561640.dist-info/RECORD,,
@@ -1,35 +0,0 @@
1
- pulumi_ns1/__init__.py,sha256=wNUy5gN6yVX06kifppBkiBFuJrHs5rh3Dzq66Pm8i2o,3438
2
- pulumi_ns1/_inputs.py,sha256=8FSj_cd_yoTCKSpENO84hL6nUYMk5nV4TMPiVfmKCLE,38901
3
- pulumi_ns1/_utilities.py,sha256=b6gJn0IIeM1t6Q7EVjqw3yhuGyP-uENQhtL5yp7aHR8,9248
4
- pulumi_ns1/account_whitelist.py,sha256=PPYX8ErnQ5OLMEWx9svBbhKSlirrjCXSNib8NQDHWLY,9086
5
- pulumi_ns1/api_key.py,sha256=39Jp6JTylpVbPuNedVB_e6sTwki_rBT4gUVcyXDQTcg,87352
6
- pulumi_ns1/application.py,sha256=BTdXOXuijgCSmq6AZC5L0UNlXEHPabGFACgF9dTtx7w,17869
7
- pulumi_ns1/data_feed.py,sha256=7fwC26DyC69HvNmA1xZA-_4ly4jsd3ck6dSwEUcMWcw,12480
8
- pulumi_ns1/data_source.py,sha256=jTs1OlOSnP09mNZZAfHZbaygAWgQfbekBGryn5ozgE4,11178
9
- pulumi_ns1/dataset.py,sha256=IwYvL6WgRpKF6ZRhFi4pO3Zqj2OymKPbdh3XqWEHdj4,13385
10
- pulumi_ns1/dnsview.py,sha256=83riInActsTQC_E-yuaeFxHWYG49UHtrJtjuDsH5ASM,13624
11
- pulumi_ns1/get_dns_sec.py,sha256=HIDs_IivkxyC9PasG9kjDAM9tp80zhFV8Rq5w4laA6s,4231
12
- pulumi_ns1/get_monitoring_regions.py,sha256=Gfd5bw0HxiEo4CF0QRuqXsk5tBB2XgrbMt0NcekR_VU,3680
13
- pulumi_ns1/get_networks.py,sha256=PlDpRvSk6AohEUcNEp2xladWYBjqg0JPQtB9a8gN95g,3096
14
- pulumi_ns1/get_record.py,sha256=ngeq5_mn02icCIBFGBcVjzFeHboPtj4wAdVVELF7K64,8947
15
- pulumi_ns1/get_zone.py,sha256=HxTroFSB_Svchn3uXQfxrB79Q1E5bvCa3-W0DbNBKaE,11388
16
- pulumi_ns1/monitoring_job.py,sha256=CMGf5-Q0VL3k7kTemlzs1Zd4vtBhu_kJy4u83_57pSQ,45856
17
- pulumi_ns1/notify_list.py,sha256=_1AYkYviA26HkyddMMSyKdSRKQgS1PuQtCgHZa4OYfk,11027
18
- pulumi_ns1/outputs.py,sha256=Ld_6Lm9hRElF10c_aIewKwbtmsXIJzlZXXI4OqUHt0o,46058
19
- pulumi_ns1/provider.py,sha256=5E3JbCjCD3ztCf3HFRYQ_c680oYir0a9h_Fy3nUtHe0,10590
20
- pulumi_ns1/pulsar_job.py,sha256=Gk12BJdVCy6QWEqt99Wf5RqvZXEIf8Oub5Qn0x3YfjM,17050
21
- pulumi_ns1/pulumi-plugin.json,sha256=U1IwjH61SXsxMo8_PRJwqdmvSF-6MsDFM_LRS0M9Pow,40
22
- pulumi_ns1/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
- pulumi_ns1/record.py,sha256=2biweXRmvXhIYyOjbQ6ClGCwCUiMYyx7M5C8lNW7_2o,36697
24
- pulumi_ns1/subnet.py,sha256=9LN3o8gVwCgL4hC9wwFDzU4WPNXDxCOZE3MudBWPlq0,19239
25
- pulumi_ns1/team.py,sha256=AeQWM_BLdlAmfkLvUCgVhu_cUkwhRKZj_nQUsJ3TPU8,81738
26
- pulumi_ns1/tsigkey.py,sha256=BPZuLJsUsFUwf_lqq8Ko_L_MMKzDO2tFtXeGdXEOkDA,10124
27
- pulumi_ns1/user.py,sha256=uFIz4aombM4P0HnL_z8spIlnOOlKwuKxdpXnB6egsp8,89294
28
- pulumi_ns1/zone.py,sha256=uNMTuyIfC-ij8y5iUJNVWp31Q5PInWpgiXNvqhPTZWs,42852
29
- pulumi_ns1/config/__init__.py,sha256=cfY0smRZD3fDVc93ZIAxEl_IM2pynmXB52n3Ahzi030,285
30
- pulumi_ns1/config/__init__.pyi,sha256=gTM1utkGS4KH3on5zyhR_a6AtTg4_jVpEXyQeU7ZpJQ,865
31
- pulumi_ns1/config/vars.py,sha256=bQTOWrwMP1x58zYPNlK8g8CTAbOUMF3GyfcevML1frE,1674
32
- pulumi_ns1-3.3.0a1713333847.dist-info/METADATA,sha256=oxxLaR3JIXC5GN6bqzpzXAQQQc4hxYQELlBSlLNO3RI,3047
33
- pulumi_ns1-3.3.0a1713333847.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
34
- pulumi_ns1-3.3.0a1713333847.dist-info/top_level.txt,sha256=Sndx9N4MHnSbjpwVT-_JZ8NZ7JzudJUIUQkU2-9GH9U,11
35
- pulumi_ns1-3.3.0a1713333847.dist-info/RECORD,,