@pulumi/linode 4.9.0-alpha.1700200497 → 4.9.0
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.
- package/getVpc.d.ts +81 -0
- package/getVpc.js +53 -0
- package/getVpc.js.map +1 -0
- package/getVpcSubnet.d.ts +93 -0
- package/getVpcSubnet.js +56 -0
- package/getVpcSubnet.js.map +1 -0
- package/getVpcSubnets.d.ts +99 -0
- package/getVpcSubnets.js +77 -0
- package/getVpcSubnets.js.map +1 -0
- package/getVpcs.d.ts +88 -0
- package/getVpcs.js +79 -0
- package/getVpcs.js.map +1 -0
- package/index.d.ts +18 -0
- package/index.js +23 -1
- package/index.js.map +1 -1
- package/instance.d.ts +20 -2
- package/instance.js +2 -0
- package/instance.js.map +1 -1
- package/instanceIp.d.ts +10 -0
- package/instanceIp.js +2 -0
- package/instanceIp.js.map +1 -1
- package/package.json +1 -1
- package/types/input.d.ts +296 -8
- package/types/output.d.ts +315 -15
- package/vpc.d.ts +108 -0
- package/vpc.js +83 -0
- package/vpc.js.map +1 -0
- package/vpcSubnet.d.ts +116 -0
- package/vpcSubnet.js +86 -0
- package/vpcSubnet.js.map +1 -0
package/types/output.d.ts
CHANGED
|
@@ -738,6 +738,15 @@ export interface GetInstanceNetworkingIpv4Private {
|
|
|
738
738
|
* The type of address this is.
|
|
739
739
|
*/
|
|
740
740
|
type: string;
|
|
741
|
+
vpcNat11: outputs.GetInstanceNetworkingIpv4PrivateVpcNat11;
|
|
742
|
+
}
|
|
743
|
+
export interface GetInstanceNetworkingIpv4PrivateVpcNat11 {
|
|
744
|
+
/**
|
|
745
|
+
* The address.
|
|
746
|
+
*/
|
|
747
|
+
address: string;
|
|
748
|
+
subnetId: number;
|
|
749
|
+
vpcId: number;
|
|
741
750
|
}
|
|
742
751
|
export interface GetInstanceNetworkingIpv4Public {
|
|
743
752
|
/**
|
|
@@ -776,6 +785,15 @@ export interface GetInstanceNetworkingIpv4Public {
|
|
|
776
785
|
* The type of address this is.
|
|
777
786
|
*/
|
|
778
787
|
type: string;
|
|
788
|
+
vpcNat11: outputs.GetInstanceNetworkingIpv4PublicVpcNat11;
|
|
789
|
+
}
|
|
790
|
+
export interface GetInstanceNetworkingIpv4PublicVpcNat11 {
|
|
791
|
+
/**
|
|
792
|
+
* The address.
|
|
793
|
+
*/
|
|
794
|
+
address: string;
|
|
795
|
+
subnetId: number;
|
|
796
|
+
vpcId: number;
|
|
779
797
|
}
|
|
780
798
|
export interface GetInstanceNetworkingIpv4Reserved {
|
|
781
799
|
/**
|
|
@@ -814,6 +832,15 @@ export interface GetInstanceNetworkingIpv4Reserved {
|
|
|
814
832
|
* The type of address this is.
|
|
815
833
|
*/
|
|
816
834
|
type: string;
|
|
835
|
+
vpcNat11: outputs.GetInstanceNetworkingIpv4ReservedVpcNat11;
|
|
836
|
+
}
|
|
837
|
+
export interface GetInstanceNetworkingIpv4ReservedVpcNat11 {
|
|
838
|
+
/**
|
|
839
|
+
* The address.
|
|
840
|
+
*/
|
|
841
|
+
address: string;
|
|
842
|
+
subnetId: number;
|
|
843
|
+
vpcId: number;
|
|
817
844
|
}
|
|
818
845
|
export interface GetInstanceNetworkingIpv4Shared {
|
|
819
846
|
/**
|
|
@@ -852,6 +879,15 @@ export interface GetInstanceNetworkingIpv4Shared {
|
|
|
852
879
|
* The type of address this is.
|
|
853
880
|
*/
|
|
854
881
|
type: string;
|
|
882
|
+
vpcNat11: outputs.GetInstanceNetworkingIpv4SharedVpcNat11;
|
|
883
|
+
}
|
|
884
|
+
export interface GetInstanceNetworkingIpv4SharedVpcNat11 {
|
|
885
|
+
/**
|
|
886
|
+
* The address.
|
|
887
|
+
*/
|
|
888
|
+
address: string;
|
|
889
|
+
subnetId: number;
|
|
890
|
+
vpcId: number;
|
|
855
891
|
}
|
|
856
892
|
export interface GetInstanceNetworkingIpv6 {
|
|
857
893
|
globals: outputs.GetInstanceNetworkingIpv6Global[];
|
|
@@ -913,6 +949,15 @@ export interface GetInstanceNetworkingIpv6LinkLocal {
|
|
|
913
949
|
* The type of address this is.
|
|
914
950
|
*/
|
|
915
951
|
type: string;
|
|
952
|
+
vpcNat11: outputs.GetInstanceNetworkingIpv6LinkLocalVpcNat11;
|
|
953
|
+
}
|
|
954
|
+
export interface GetInstanceNetworkingIpv6LinkLocalVpcNat11 {
|
|
955
|
+
/**
|
|
956
|
+
* The address.
|
|
957
|
+
*/
|
|
958
|
+
address: string;
|
|
959
|
+
subnetId: number;
|
|
960
|
+
vpcId: number;
|
|
916
961
|
}
|
|
917
962
|
export interface GetInstanceNetworkingIpv6Slaac {
|
|
918
963
|
/**
|
|
@@ -951,6 +996,15 @@ export interface GetInstanceNetworkingIpv6Slaac {
|
|
|
951
996
|
* The type of address this is.
|
|
952
997
|
*/
|
|
953
998
|
type: string;
|
|
999
|
+
vpcNat11: outputs.GetInstanceNetworkingIpv6SlaacVpcNat11;
|
|
1000
|
+
}
|
|
1001
|
+
export interface GetInstanceNetworkingIpv6SlaacVpcNat11 {
|
|
1002
|
+
/**
|
|
1003
|
+
* The address.
|
|
1004
|
+
*/
|
|
1005
|
+
address: string;
|
|
1006
|
+
subnetId: number;
|
|
1007
|
+
vpcId: number;
|
|
954
1008
|
}
|
|
955
1009
|
export interface GetInstanceTypeAddons {
|
|
956
1010
|
backups: outputs.GetInstanceTypeAddonsBackup[];
|
|
@@ -1089,6 +1143,9 @@ export interface GetInstancesInstance {
|
|
|
1089
1143
|
* The display group of the Linode instance.
|
|
1090
1144
|
*/
|
|
1091
1145
|
group: string;
|
|
1146
|
+
/**
|
|
1147
|
+
* Whether this Instance was created with user-data.
|
|
1148
|
+
*/
|
|
1092
1149
|
hasUserData: boolean;
|
|
1093
1150
|
hostUuid: string;
|
|
1094
1151
|
/**
|
|
@@ -1112,7 +1169,7 @@ export interface GetInstancesInstance {
|
|
|
1112
1169
|
*/
|
|
1113
1170
|
ipv6: string;
|
|
1114
1171
|
/**
|
|
1115
|
-
*
|
|
1172
|
+
* The name of the VLAN to join. This field is only allowed and required for interfaces with the `vlan` purpose.
|
|
1116
1173
|
*/
|
|
1117
1174
|
label: string;
|
|
1118
1175
|
/**
|
|
@@ -1193,7 +1250,7 @@ export interface GetInstancesInstanceConfig {
|
|
|
1193
1250
|
*/
|
|
1194
1251
|
kernel: string;
|
|
1195
1252
|
/**
|
|
1196
|
-
*
|
|
1253
|
+
* The name of the VLAN to join. This field is only allowed and required for interfaces with the `vlan` purpose.
|
|
1197
1254
|
*/
|
|
1198
1255
|
label: string;
|
|
1199
1256
|
/**
|
|
@@ -1358,18 +1415,53 @@ export interface GetInstancesInstanceConfigHelper {
|
|
|
1358
1415
|
updatedbDisabled: boolean;
|
|
1359
1416
|
}
|
|
1360
1417
|
export interface GetInstancesInstanceConfigInterface {
|
|
1418
|
+
active: boolean;
|
|
1419
|
+
/**
|
|
1420
|
+
* The ID of the disk in the Linode API.
|
|
1421
|
+
*/
|
|
1422
|
+
id: number;
|
|
1361
1423
|
/**
|
|
1362
|
-
*
|
|
1424
|
+
* IPv4 CIDR VPC Subnet ranges that are routed to this Interface. IPv6 ranges are also available to select participants in the Beta program.
|
|
1425
|
+
*/
|
|
1426
|
+
ipRanges?: string[];
|
|
1427
|
+
/**
|
|
1428
|
+
* This Network Interface’s private IP address in Classless Inter-Domain Routing (CIDR) notation. (e.g. `10.0.0.1/24`) This field is only allowed for interfaces with the `vlan` purpose.
|
|
1363
1429
|
*/
|
|
1364
1430
|
ipamAddress?: string;
|
|
1365
1431
|
/**
|
|
1366
|
-
*
|
|
1432
|
+
* This Linode's IPv4 Addresses. Each Linode is assigned a single public IPv4 address upon creation, and may get a single private IPv4 address if needed. You may need to open a support ticket to get additional IPv4 addresses.
|
|
1433
|
+
*/
|
|
1434
|
+
ipv4: outputs.GetInstancesInstanceConfigInterfaceIpv4;
|
|
1435
|
+
/**
|
|
1436
|
+
* The name of the VLAN to join. This field is only allowed and required for interfaces with the `vlan` purpose.
|
|
1367
1437
|
*/
|
|
1368
1438
|
label?: string;
|
|
1369
1439
|
/**
|
|
1370
|
-
*
|
|
1440
|
+
* Whether the interface is the primary interface that should have the default route for this Linode. This field is only allowed for interfaces with the `public` or `vpc` purpose.
|
|
1441
|
+
*/
|
|
1442
|
+
primary?: boolean;
|
|
1443
|
+
/**
|
|
1444
|
+
* The type of interface. (`public`, `vlan`, `vpc`)
|
|
1445
|
+
*/
|
|
1446
|
+
purpose: string;
|
|
1447
|
+
/**
|
|
1448
|
+
* The name of the VPC Subnet to join. This field is only allowed and required for interfaces with the `vpc` purpose.
|
|
1449
|
+
*/
|
|
1450
|
+
subnetId?: number;
|
|
1451
|
+
/**
|
|
1452
|
+
* The ID of VPC which this interface is attached to.
|
|
1371
1453
|
*/
|
|
1372
|
-
|
|
1454
|
+
vpcId: number;
|
|
1455
|
+
}
|
|
1456
|
+
export interface GetInstancesInstanceConfigInterfaceIpv4 {
|
|
1457
|
+
/**
|
|
1458
|
+
* The public IP that will be used for the one-to-one NAT purpose. If this is `any`, the public IPv4 address assigned to this Linode is used on this interface and will be 1:1 NATted with the VPC IPv4 address.
|
|
1459
|
+
*/
|
|
1460
|
+
nat11: string;
|
|
1461
|
+
/**
|
|
1462
|
+
* The IP from the VPC subnet to use for this interface. A random address will be assigned if this is not specified in a VPC interface.
|
|
1463
|
+
*/
|
|
1464
|
+
vpc: string;
|
|
1373
1465
|
}
|
|
1374
1466
|
export interface GetInstancesInstanceDisk {
|
|
1375
1467
|
/**
|
|
@@ -1381,7 +1473,7 @@ export interface GetInstancesInstanceDisk {
|
|
|
1381
1473
|
*/
|
|
1382
1474
|
id: number;
|
|
1383
1475
|
/**
|
|
1384
|
-
*
|
|
1476
|
+
* The name of the VLAN to join. This field is only allowed and required for interfaces with the `vlan` purpose.
|
|
1385
1477
|
*/
|
|
1386
1478
|
label: string;
|
|
1387
1479
|
/**
|
|
@@ -2304,6 +2396,114 @@ export interface GetVolumesVolume {
|
|
|
2304
2396
|
*/
|
|
2305
2397
|
updated: string;
|
|
2306
2398
|
}
|
|
2399
|
+
export interface GetVpcSubnetLinode {
|
|
2400
|
+
/**
|
|
2401
|
+
* The unique id of this VPC subnet.
|
|
2402
|
+
*/
|
|
2403
|
+
id: number;
|
|
2404
|
+
interfaces: outputs.GetVpcSubnetLinodeInterface[];
|
|
2405
|
+
}
|
|
2406
|
+
export interface GetVpcSubnetLinodeInterface {
|
|
2407
|
+
active: boolean;
|
|
2408
|
+
/**
|
|
2409
|
+
* The unique id of this VPC subnet.
|
|
2410
|
+
*/
|
|
2411
|
+
id: number;
|
|
2412
|
+
}
|
|
2413
|
+
export interface GetVpcSubnetsFilter {
|
|
2414
|
+
/**
|
|
2415
|
+
* The method to match the field by. (`exact`, `regex`, `substring`; default `exact`)
|
|
2416
|
+
*/
|
|
2417
|
+
matchBy?: string;
|
|
2418
|
+
/**
|
|
2419
|
+
* The name of the field to filter by. See the Filterable Fields section for a complete list of filterable fields.
|
|
2420
|
+
*/
|
|
2421
|
+
name: string;
|
|
2422
|
+
/**
|
|
2423
|
+
* A list of values for the filter to allow. These values should all be in string form.
|
|
2424
|
+
*/
|
|
2425
|
+
values: string[];
|
|
2426
|
+
}
|
|
2427
|
+
export interface GetVpcSubnetsVpcSubnet {
|
|
2428
|
+
/**
|
|
2429
|
+
* The date and time when the VPC Subnet was created.
|
|
2430
|
+
*/
|
|
2431
|
+
created: string;
|
|
2432
|
+
/**
|
|
2433
|
+
* The unique id of the VPC subnet.
|
|
2434
|
+
*/
|
|
2435
|
+
id: number;
|
|
2436
|
+
/**
|
|
2437
|
+
* The IPv4 range of this subnet in CIDR format.
|
|
2438
|
+
*/
|
|
2439
|
+
ipv4: string;
|
|
2440
|
+
/**
|
|
2441
|
+
* The label of the VPC subnet.
|
|
2442
|
+
*/
|
|
2443
|
+
label: string;
|
|
2444
|
+
/**
|
|
2445
|
+
* A list of Linode IDs that added to this subnet.
|
|
2446
|
+
*/
|
|
2447
|
+
linodes: outputs.GetVpcSubnetsVpcSubnetLinode[];
|
|
2448
|
+
/**
|
|
2449
|
+
* The date and time when the VPC Subnet was last updated.
|
|
2450
|
+
*/
|
|
2451
|
+
updated: string;
|
|
2452
|
+
}
|
|
2453
|
+
export interface GetVpcSubnetsVpcSubnetLinode {
|
|
2454
|
+
/**
|
|
2455
|
+
* The unique id of the VPC subnet.
|
|
2456
|
+
*/
|
|
2457
|
+
id: number;
|
|
2458
|
+
interfaces: outputs.GetVpcSubnetsVpcSubnetLinodeInterface[];
|
|
2459
|
+
}
|
|
2460
|
+
export interface GetVpcSubnetsVpcSubnetLinodeInterface {
|
|
2461
|
+
active: boolean;
|
|
2462
|
+
/**
|
|
2463
|
+
* The unique id of the VPC subnet.
|
|
2464
|
+
*/
|
|
2465
|
+
id: number;
|
|
2466
|
+
}
|
|
2467
|
+
export interface GetVpcsFilter {
|
|
2468
|
+
/**
|
|
2469
|
+
* The method to match the field by. (`exact`, `regex`, `substring`; default `exact`)
|
|
2470
|
+
*/
|
|
2471
|
+
matchBy?: string;
|
|
2472
|
+
/**
|
|
2473
|
+
* The name of the field to filter by. See the Filterable Fields section for a complete list of filterable fields.
|
|
2474
|
+
*/
|
|
2475
|
+
name: string;
|
|
2476
|
+
/**
|
|
2477
|
+
* A list of values for the filter to allow. These values should all be in string form.
|
|
2478
|
+
*/
|
|
2479
|
+
values: string[];
|
|
2480
|
+
}
|
|
2481
|
+
export interface GetVpcsVpc {
|
|
2482
|
+
/**
|
|
2483
|
+
* The date and time when the VPC was created.
|
|
2484
|
+
*/
|
|
2485
|
+
created: string;
|
|
2486
|
+
/**
|
|
2487
|
+
* The user-defined description of this VPC.
|
|
2488
|
+
*/
|
|
2489
|
+
description: string;
|
|
2490
|
+
/**
|
|
2491
|
+
* The unique id of this VPC.
|
|
2492
|
+
*/
|
|
2493
|
+
id: number;
|
|
2494
|
+
/**
|
|
2495
|
+
* The label of the VPC.
|
|
2496
|
+
*/
|
|
2497
|
+
label: string;
|
|
2498
|
+
/**
|
|
2499
|
+
* The region where the VPC is deployed.
|
|
2500
|
+
*/
|
|
2501
|
+
region: string;
|
|
2502
|
+
/**
|
|
2503
|
+
* The date and time when the VPC was last updated.
|
|
2504
|
+
*/
|
|
2505
|
+
updated: string;
|
|
2506
|
+
}
|
|
2307
2507
|
export interface InstanceAlerts {
|
|
2308
2508
|
cpu: number;
|
|
2309
2509
|
io: number;
|
|
@@ -2519,18 +2719,57 @@ export interface InstanceConfigHelpers {
|
|
|
2519
2719
|
updatedbDisabled?: boolean;
|
|
2520
2720
|
}
|
|
2521
2721
|
export interface InstanceConfigInterface {
|
|
2722
|
+
active: boolean;
|
|
2723
|
+
/**
|
|
2724
|
+
* The ID of the disk in the Linode API.
|
|
2725
|
+
*/
|
|
2726
|
+
id: number;
|
|
2522
2727
|
/**
|
|
2523
|
-
*
|
|
2728
|
+
* IPv4 CIDR VPC Subnet ranges that are routed to this Interface. IPv6 ranges are also available to select participants in the Beta program.
|
|
2729
|
+
*/
|
|
2730
|
+
ipRanges?: string[];
|
|
2731
|
+
/**
|
|
2732
|
+
* This Network Interface’s private IP address in Classless Inter-Domain Routing (CIDR) notation. (e.g. `10.0.0.1/24`) This field is only allowed for interfaces with the `vlan` purpose.
|
|
2524
2733
|
*/
|
|
2525
2734
|
ipamAddress?: string;
|
|
2526
2735
|
/**
|
|
2527
|
-
*
|
|
2736
|
+
* This Linode's IPv4 Addresses. Each Linode is assigned a single public IPv4 address upon creation, and may get a single private IPv4 address if needed. You may need to open a support ticket to get additional IPv4 addresses.
|
|
2737
|
+
*/
|
|
2738
|
+
ipv4: outputs.InstanceConfigInterfaceIpv4;
|
|
2739
|
+
/**
|
|
2740
|
+
* The name of the VLAN to join. This field is only allowed and required for interfaces with the `vlan` purpose.
|
|
2528
2741
|
*/
|
|
2529
2742
|
label?: string;
|
|
2530
2743
|
/**
|
|
2531
|
-
*
|
|
2744
|
+
* Whether the interface is the primary interface that should have the default route for this Linode. This field is only allowed for interfaces with the `public` or `vpc` purpose.
|
|
2745
|
+
*
|
|
2746
|
+
* * `ipv4` - (Optional) The IPv4 configuration of the VPC interface. This field is currently only allowed for interfaces with the `vpc` purpose.
|
|
2747
|
+
*
|
|
2748
|
+
* The following computed attribute is available in a VPC interface:
|
|
2749
|
+
*/
|
|
2750
|
+
primary?: boolean;
|
|
2751
|
+
/**
|
|
2752
|
+
* The type of interface. (`public`, `vlan`, `vpc`)
|
|
2753
|
+
*/
|
|
2754
|
+
purpose: string;
|
|
2755
|
+
/**
|
|
2756
|
+
* The name of the VPC Subnet to join. This field is only allowed and required for interfaces with the `vpc` purpose.
|
|
2757
|
+
*/
|
|
2758
|
+
subnetId?: number;
|
|
2759
|
+
/**
|
|
2760
|
+
* The ID of VPC which this interface is attached to.
|
|
2761
|
+
*/
|
|
2762
|
+
vpcId: number;
|
|
2763
|
+
}
|
|
2764
|
+
export interface InstanceConfigInterfaceIpv4 {
|
|
2765
|
+
/**
|
|
2766
|
+
* The public IP that will be used for the one-to-one NAT purpose. If this is `any`, the public IPv4 address assigned to this Linode is used on this interface and will be 1:1 NATted with the VPC IPv4 address.
|
|
2767
|
+
*/
|
|
2768
|
+
nat11: string;
|
|
2769
|
+
/**
|
|
2770
|
+
* The IP from the VPC subnet to use for this interface. A random address will be assigned if this is not specified in a VPC interface.
|
|
2532
2771
|
*/
|
|
2533
|
-
|
|
2772
|
+
vpc: string;
|
|
2534
2773
|
}
|
|
2535
2774
|
export interface InstanceDisk {
|
|
2536
2775
|
/**
|
|
@@ -2581,18 +2820,65 @@ export interface InstanceDisk {
|
|
|
2581
2820
|
stackscriptId: number;
|
|
2582
2821
|
}
|
|
2583
2822
|
export interface InstanceInterface {
|
|
2823
|
+
active: boolean;
|
|
2584
2824
|
/**
|
|
2585
|
-
*
|
|
2825
|
+
* The ID of the disk in the Linode API.
|
|
2826
|
+
*/
|
|
2827
|
+
id: number;
|
|
2828
|
+
/**
|
|
2829
|
+
* IPv4 CIDR VPC Subnet ranges that are routed to this Interface. IPv6 ranges are also available to select participants in the Beta program.
|
|
2830
|
+
*/
|
|
2831
|
+
ipRanges?: string[];
|
|
2832
|
+
/**
|
|
2833
|
+
* This Network Interface’s private IP address in Classless Inter-Domain Routing (CIDR) notation. (e.g. `10.0.0.1/24`) This field is only allowed for interfaces with the `vlan` purpose.
|
|
2586
2834
|
*/
|
|
2587
2835
|
ipamAddress?: string;
|
|
2588
2836
|
/**
|
|
2589
|
-
*
|
|
2837
|
+
* This Linode's IPv4 Addresses. Each Linode is assigned a single public IPv4 address upon creation, and may get a single private IPv4 address if needed. You may need to open a support ticket to get additional IPv4 addresses.
|
|
2838
|
+
*/
|
|
2839
|
+
ipv4: outputs.InstanceInterfaceIpv4;
|
|
2840
|
+
/**
|
|
2841
|
+
* The name of the VLAN to join. This field is only allowed and required for interfaces with the `vlan` purpose.
|
|
2590
2842
|
*/
|
|
2591
2843
|
label?: string;
|
|
2592
2844
|
/**
|
|
2593
|
-
*
|
|
2845
|
+
* Whether the interface is the primary interface that should have the default route for this Linode. This field is only allowed for interfaces with the `public` or `vpc` purpose.
|
|
2846
|
+
*
|
|
2847
|
+
* * `ipv4` - (Optional) The IPv4 configuration of the VPC interface. This field is currently only allowed for interfaces with the `vpc` purpose.
|
|
2848
|
+
*
|
|
2849
|
+
* The following computed attribute is available in a VPC interface:
|
|
2850
|
+
*/
|
|
2851
|
+
primary?: boolean;
|
|
2852
|
+
/**
|
|
2853
|
+
* The type of interface. (`public`, `vlan`, `vpc`)
|
|
2854
|
+
*/
|
|
2855
|
+
purpose: string;
|
|
2856
|
+
/**
|
|
2857
|
+
* The name of the VPC Subnet to join. This field is only allowed and required for interfaces with the `vpc` purpose.
|
|
2858
|
+
*/
|
|
2859
|
+
subnetId?: number;
|
|
2860
|
+
/**
|
|
2861
|
+
* The ID of VPC which this interface is attached to.
|
|
2594
2862
|
*/
|
|
2595
|
-
|
|
2863
|
+
vpcId: number;
|
|
2864
|
+
}
|
|
2865
|
+
export interface InstanceInterfaceIpv4 {
|
|
2866
|
+
/**
|
|
2867
|
+
* The public IP that will be used for the one-to-one NAT purpose. If this is `any`, the public IPv4 address assigned to this Linode is used on this interface and will be 1:1 NATted with the VPC IPv4 address.
|
|
2868
|
+
*/
|
|
2869
|
+
nat11: string;
|
|
2870
|
+
/**
|
|
2871
|
+
* The IP from the VPC subnet to use for this interface. A random address will be assigned if this is not specified in a VPC interface.
|
|
2872
|
+
*/
|
|
2873
|
+
vpc: string;
|
|
2874
|
+
}
|
|
2875
|
+
export interface InstanceIpVpcNat11 {
|
|
2876
|
+
/**
|
|
2877
|
+
* The resulting IPv4 address.
|
|
2878
|
+
*/
|
|
2879
|
+
address: string;
|
|
2880
|
+
subnetId: number;
|
|
2881
|
+
vpcId: number;
|
|
2596
2882
|
}
|
|
2597
2883
|
export interface InstanceMetadata {
|
|
2598
2884
|
userData?: string;
|
|
@@ -2815,3 +3101,17 @@ export interface UserVolumeGrant {
|
|
|
2815
3101
|
id: number;
|
|
2816
3102
|
permissions: string;
|
|
2817
3103
|
}
|
|
3104
|
+
export interface VpcSubnetLinode {
|
|
3105
|
+
/**
|
|
3106
|
+
* The ID of the VPC Subnet.
|
|
3107
|
+
*/
|
|
3108
|
+
id: number;
|
|
3109
|
+
interfaces: outputs.VpcSubnetLinodeInterface[];
|
|
3110
|
+
}
|
|
3111
|
+
export interface VpcSubnetLinodeInterface {
|
|
3112
|
+
active: boolean;
|
|
3113
|
+
/**
|
|
3114
|
+
* The ID of the VPC Subnet.
|
|
3115
|
+
*/
|
|
3116
|
+
id: number;
|
|
3117
|
+
}
|
package/vpc.d.ts
ADDED
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import * as pulumi from "@pulumi/pulumi";
|
|
2
|
+
/**
|
|
3
|
+
* Manages a Linode VPC.
|
|
4
|
+
*
|
|
5
|
+
* Please refer to linode.VpcSubnet to manage the subnets under a Linode VPC.
|
|
6
|
+
*
|
|
7
|
+
* ## Example Usage
|
|
8
|
+
*
|
|
9
|
+
* Create a VPC:
|
|
10
|
+
*
|
|
11
|
+
* ```typescript
|
|
12
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
13
|
+
* import * as linode from "@pulumi/linode";
|
|
14
|
+
*
|
|
15
|
+
* const test = new linode.Vpc("test", {
|
|
16
|
+
* description: "My first VPC.",
|
|
17
|
+
* label: "test-vpc",
|
|
18
|
+
* region: "us-east",
|
|
19
|
+
* });
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export declare class Vpc extends pulumi.CustomResource {
|
|
23
|
+
/**
|
|
24
|
+
* Get an existing Vpc resource's state with the given name, ID, and optional extra
|
|
25
|
+
* properties used to qualify the lookup.
|
|
26
|
+
*
|
|
27
|
+
* @param name The _unique_ name of the resulting resource.
|
|
28
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
29
|
+
* @param state Any extra arguments used during the lookup.
|
|
30
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
31
|
+
*/
|
|
32
|
+
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VpcState, opts?: pulumi.CustomResourceOptions): Vpc;
|
|
33
|
+
/**
|
|
34
|
+
* Returns true if the given object is an instance of Vpc. This is designed to work even
|
|
35
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
36
|
+
*/
|
|
37
|
+
static isInstance(obj: any): obj is Vpc;
|
|
38
|
+
/**
|
|
39
|
+
* The date and time when the VPC was created.
|
|
40
|
+
*/
|
|
41
|
+
readonly created: pulumi.Output<string>;
|
|
42
|
+
/**
|
|
43
|
+
* The user-defined description of this VPC.
|
|
44
|
+
*/
|
|
45
|
+
readonly description: pulumi.Output<string>;
|
|
46
|
+
/**
|
|
47
|
+
* The label of the VPC. This field can only contain ASCII letters, digits and dashes.
|
|
48
|
+
*/
|
|
49
|
+
readonly label: pulumi.Output<string>;
|
|
50
|
+
/**
|
|
51
|
+
* The region of the VPC.
|
|
52
|
+
*/
|
|
53
|
+
readonly region: pulumi.Output<string>;
|
|
54
|
+
/**
|
|
55
|
+
* The date and time when the VPC was last updated.
|
|
56
|
+
*/
|
|
57
|
+
readonly updated: pulumi.Output<string>;
|
|
58
|
+
/**
|
|
59
|
+
* Create a Vpc resource with the given unique name, arguments, and options.
|
|
60
|
+
*
|
|
61
|
+
* @param name The _unique_ name of the resource.
|
|
62
|
+
* @param args The arguments to use to populate this resource's properties.
|
|
63
|
+
* @param opts A bag of options that control this resource's behavior.
|
|
64
|
+
*/
|
|
65
|
+
constructor(name: string, args: VpcArgs, opts?: pulumi.CustomResourceOptions);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Input properties used for looking up and filtering Vpc resources.
|
|
69
|
+
*/
|
|
70
|
+
export interface VpcState {
|
|
71
|
+
/**
|
|
72
|
+
* The date and time when the VPC was created.
|
|
73
|
+
*/
|
|
74
|
+
created?: pulumi.Input<string>;
|
|
75
|
+
/**
|
|
76
|
+
* The user-defined description of this VPC.
|
|
77
|
+
*/
|
|
78
|
+
description?: pulumi.Input<string>;
|
|
79
|
+
/**
|
|
80
|
+
* The label of the VPC. This field can only contain ASCII letters, digits and dashes.
|
|
81
|
+
*/
|
|
82
|
+
label?: pulumi.Input<string>;
|
|
83
|
+
/**
|
|
84
|
+
* The region of the VPC.
|
|
85
|
+
*/
|
|
86
|
+
region?: pulumi.Input<string>;
|
|
87
|
+
/**
|
|
88
|
+
* The date and time when the VPC was last updated.
|
|
89
|
+
*/
|
|
90
|
+
updated?: pulumi.Input<string>;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* The set of arguments for constructing a Vpc resource.
|
|
94
|
+
*/
|
|
95
|
+
export interface VpcArgs {
|
|
96
|
+
/**
|
|
97
|
+
* The user-defined description of this VPC.
|
|
98
|
+
*/
|
|
99
|
+
description?: pulumi.Input<string>;
|
|
100
|
+
/**
|
|
101
|
+
* The label of the VPC. This field can only contain ASCII letters, digits and dashes.
|
|
102
|
+
*/
|
|
103
|
+
label: pulumi.Input<string>;
|
|
104
|
+
/**
|
|
105
|
+
* The region of the VPC.
|
|
106
|
+
*/
|
|
107
|
+
region: pulumi.Input<string>;
|
|
108
|
+
}
|
package/vpc.js
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
|
|
3
|
+
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.Vpc = void 0;
|
|
6
|
+
const pulumi = require("@pulumi/pulumi");
|
|
7
|
+
const utilities = require("./utilities");
|
|
8
|
+
/**
|
|
9
|
+
* Manages a Linode VPC.
|
|
10
|
+
*
|
|
11
|
+
* Please refer to linode.VpcSubnet to manage the subnets under a Linode VPC.
|
|
12
|
+
*
|
|
13
|
+
* ## Example Usage
|
|
14
|
+
*
|
|
15
|
+
* Create a VPC:
|
|
16
|
+
*
|
|
17
|
+
* ```typescript
|
|
18
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
19
|
+
* import * as linode from "@pulumi/linode";
|
|
20
|
+
*
|
|
21
|
+
* const test = new linode.Vpc("test", {
|
|
22
|
+
* description: "My first VPC.",
|
|
23
|
+
* label: "test-vpc",
|
|
24
|
+
* region: "us-east",
|
|
25
|
+
* });
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
class Vpc extends pulumi.CustomResource {
|
|
29
|
+
/**
|
|
30
|
+
* Get an existing Vpc resource's state with the given name, ID, and optional extra
|
|
31
|
+
* properties used to qualify the lookup.
|
|
32
|
+
*
|
|
33
|
+
* @param name The _unique_ name of the resulting resource.
|
|
34
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
35
|
+
* @param state Any extra arguments used during the lookup.
|
|
36
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
37
|
+
*/
|
|
38
|
+
static get(name, id, state, opts) {
|
|
39
|
+
return new Vpc(name, state, Object.assign(Object.assign({}, opts), { id: id }));
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Returns true if the given object is an instance of Vpc. This is designed to work even
|
|
43
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
44
|
+
*/
|
|
45
|
+
static isInstance(obj) {
|
|
46
|
+
if (obj === undefined || obj === null) {
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
return obj['__pulumiType'] === Vpc.__pulumiType;
|
|
50
|
+
}
|
|
51
|
+
constructor(name, argsOrState, opts) {
|
|
52
|
+
let resourceInputs = {};
|
|
53
|
+
opts = opts || {};
|
|
54
|
+
if (opts.id) {
|
|
55
|
+
const state = argsOrState;
|
|
56
|
+
resourceInputs["created"] = state ? state.created : undefined;
|
|
57
|
+
resourceInputs["description"] = state ? state.description : undefined;
|
|
58
|
+
resourceInputs["label"] = state ? state.label : undefined;
|
|
59
|
+
resourceInputs["region"] = state ? state.region : undefined;
|
|
60
|
+
resourceInputs["updated"] = state ? state.updated : undefined;
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
const args = argsOrState;
|
|
64
|
+
if ((!args || args.label === undefined) && !opts.urn) {
|
|
65
|
+
throw new Error("Missing required property 'label'");
|
|
66
|
+
}
|
|
67
|
+
if ((!args || args.region === undefined) && !opts.urn) {
|
|
68
|
+
throw new Error("Missing required property 'region'");
|
|
69
|
+
}
|
|
70
|
+
resourceInputs["description"] = args ? args.description : undefined;
|
|
71
|
+
resourceInputs["label"] = args ? args.label : undefined;
|
|
72
|
+
resourceInputs["region"] = args ? args.region : undefined;
|
|
73
|
+
resourceInputs["created"] = undefined /*out*/;
|
|
74
|
+
resourceInputs["updated"] = undefined /*out*/;
|
|
75
|
+
}
|
|
76
|
+
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
|
|
77
|
+
super(Vpc.__pulumiType, name, resourceInputs, opts);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
exports.Vpc = Vpc;
|
|
81
|
+
/** @internal */
|
|
82
|
+
Vpc.__pulumiType = 'linode:index/vpc:Vpc';
|
|
83
|
+
//# sourceMappingURL=vpc.js.map
|
package/vpc.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vpc.js","sourceRoot":"","sources":["../vpc.ts"],"names":[],"mappings":"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"}
|