@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/types/input.d.ts CHANGED
@@ -2476,6 +2476,194 @@ export interface GetVolumesVolumeArgs {
2476
2476
  */
2477
2477
  updated?: pulumi.Input<string>;
2478
2478
  }
2479
+ export interface GetVpcSubnetsFilter {
2480
+ /**
2481
+ * The method to match the field by. (`exact`, `regex`, `substring`; default `exact`)
2482
+ */
2483
+ matchBy?: string;
2484
+ /**
2485
+ * The name of the field to filter by. See the Filterable Fields section for a complete list of filterable fields.
2486
+ */
2487
+ name: string;
2488
+ /**
2489
+ * A list of values for the filter to allow. These values should all be in string form.
2490
+ */
2491
+ values: string[];
2492
+ }
2493
+ export interface GetVpcSubnetsFilterArgs {
2494
+ /**
2495
+ * The method to match the field by. (`exact`, `regex`, `substring`; default `exact`)
2496
+ */
2497
+ matchBy?: pulumi.Input<string>;
2498
+ /**
2499
+ * The name of the field to filter by. See the Filterable Fields section for a complete list of filterable fields.
2500
+ */
2501
+ name: pulumi.Input<string>;
2502
+ /**
2503
+ * A list of values for the filter to allow. These values should all be in string form.
2504
+ */
2505
+ values: pulumi.Input<pulumi.Input<string>[]>;
2506
+ }
2507
+ export interface GetVpcSubnetsVpcSubnet {
2508
+ /**
2509
+ * The date and time when the VPC Subnet was created.
2510
+ */
2511
+ created?: string;
2512
+ /**
2513
+ * The unique id of the VPC subnet.
2514
+ */
2515
+ id?: number;
2516
+ /**
2517
+ * The IPv4 range of this subnet in CIDR format.
2518
+ */
2519
+ ipv4?: string;
2520
+ /**
2521
+ * The label of the VPC subnet.
2522
+ */
2523
+ label?: string;
2524
+ /**
2525
+ * A list of Linode IDs that added to this subnet.
2526
+ */
2527
+ linodes?: inputs.GetVpcSubnetsVpcSubnetLinode[];
2528
+ /**
2529
+ * The date and time when the VPC Subnet was last updated.
2530
+ */
2531
+ updated?: string;
2532
+ }
2533
+ export interface GetVpcSubnetsVpcSubnetArgs {
2534
+ /**
2535
+ * The date and time when the VPC Subnet was created.
2536
+ */
2537
+ created?: pulumi.Input<string>;
2538
+ /**
2539
+ * The unique id of the VPC subnet.
2540
+ */
2541
+ id?: pulumi.Input<number>;
2542
+ /**
2543
+ * The IPv4 range of this subnet in CIDR format.
2544
+ */
2545
+ ipv4?: pulumi.Input<string>;
2546
+ /**
2547
+ * The label of the VPC subnet.
2548
+ */
2549
+ label?: pulumi.Input<string>;
2550
+ /**
2551
+ * A list of Linode IDs that added to this subnet.
2552
+ */
2553
+ linodes?: pulumi.Input<pulumi.Input<inputs.GetVpcSubnetsVpcSubnetLinodeArgs>[]>;
2554
+ /**
2555
+ * The date and time when the VPC Subnet was last updated.
2556
+ */
2557
+ updated?: pulumi.Input<string>;
2558
+ }
2559
+ export interface GetVpcSubnetsVpcSubnetLinode {
2560
+ /**
2561
+ * The unique id of the VPC subnet.
2562
+ */
2563
+ id: number;
2564
+ interfaces: inputs.GetVpcSubnetsVpcSubnetLinodeInterface[];
2565
+ }
2566
+ export interface GetVpcSubnetsVpcSubnetLinodeArgs {
2567
+ /**
2568
+ * The unique id of the VPC subnet.
2569
+ */
2570
+ id: pulumi.Input<number>;
2571
+ interfaces: pulumi.Input<pulumi.Input<inputs.GetVpcSubnetsVpcSubnetLinodeInterfaceArgs>[]>;
2572
+ }
2573
+ export interface GetVpcSubnetsVpcSubnetLinodeInterface {
2574
+ active: boolean;
2575
+ /**
2576
+ * The unique id of the VPC subnet.
2577
+ */
2578
+ id: number;
2579
+ }
2580
+ export interface GetVpcSubnetsVpcSubnetLinodeInterfaceArgs {
2581
+ active: pulumi.Input<boolean>;
2582
+ /**
2583
+ * The unique id of the VPC subnet.
2584
+ */
2585
+ id: pulumi.Input<number>;
2586
+ }
2587
+ export interface GetVpcsFilter {
2588
+ /**
2589
+ * The method to match the field by. (`exact`, `regex`, `substring`; default `exact`)
2590
+ */
2591
+ matchBy?: string;
2592
+ /**
2593
+ * The name of the field to filter by. See the Filterable Fields section for a complete list of filterable fields.
2594
+ */
2595
+ name: string;
2596
+ /**
2597
+ * A list of values for the filter to allow. These values should all be in string form.
2598
+ */
2599
+ values: string[];
2600
+ }
2601
+ export interface GetVpcsFilterArgs {
2602
+ /**
2603
+ * The method to match the field by. (`exact`, `regex`, `substring`; default `exact`)
2604
+ */
2605
+ matchBy?: pulumi.Input<string>;
2606
+ /**
2607
+ * The name of the field to filter by. See the Filterable Fields section for a complete list of filterable fields.
2608
+ */
2609
+ name: pulumi.Input<string>;
2610
+ /**
2611
+ * A list of values for the filter to allow. These values should all be in string form.
2612
+ */
2613
+ values: pulumi.Input<pulumi.Input<string>[]>;
2614
+ }
2615
+ export interface GetVpcsVpc {
2616
+ /**
2617
+ * The date and time when the VPC was created.
2618
+ */
2619
+ created?: string;
2620
+ /**
2621
+ * The user-defined description of this VPC.
2622
+ */
2623
+ description?: string;
2624
+ /**
2625
+ * The unique id of this VPC.
2626
+ */
2627
+ id: number;
2628
+ /**
2629
+ * The label of the VPC.
2630
+ */
2631
+ label?: string;
2632
+ /**
2633
+ * The region where the VPC is deployed.
2634
+ */
2635
+ region?: string;
2636
+ /**
2637
+ * The date and time when the VPC was last updated.
2638
+ */
2639
+ updated?: string;
2640
+ }
2641
+ export interface GetVpcsVpcArgs {
2642
+ /**
2643
+ * The date and time when the VPC was created.
2644
+ */
2645
+ created?: pulumi.Input<string>;
2646
+ /**
2647
+ * The user-defined description of this VPC.
2648
+ */
2649
+ description?: pulumi.Input<string>;
2650
+ /**
2651
+ * The unique id of this VPC.
2652
+ */
2653
+ id: pulumi.Input<number>;
2654
+ /**
2655
+ * The label of the VPC.
2656
+ */
2657
+ label?: pulumi.Input<string>;
2658
+ /**
2659
+ * The region where the VPC is deployed.
2660
+ */
2661
+ region?: pulumi.Input<string>;
2662
+ /**
2663
+ * The date and time when the VPC was last updated.
2664
+ */
2665
+ updated?: pulumi.Input<string>;
2666
+ }
2479
2667
  export interface InstanceAlerts {
2480
2668
  cpu?: pulumi.Input<number>;
2481
2669
  io?: pulumi.Input<number>;
@@ -2691,18 +2879,57 @@ export interface InstanceConfigHelpers {
2691
2879
  updatedbDisabled?: pulumi.Input<boolean>;
2692
2880
  }
2693
2881
  export interface InstanceConfigInterface {
2882
+ active?: pulumi.Input<boolean>;
2883
+ /**
2884
+ * The ID of the disk in the Linode API.
2885
+ */
2886
+ id?: pulumi.Input<number>;
2694
2887
  /**
2695
- * This Network Interface’s private IP address in Classless Inter-Domain Routing (CIDR) notation.
2888
+ * IPv4 CIDR VPC Subnet ranges that are routed to this Interface. IPv6 ranges are also available to select participants in the Beta program.
2889
+ */
2890
+ ipRanges?: pulumi.Input<pulumi.Input<string>[]>;
2891
+ /**
2892
+ * 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.
2696
2893
  */
2697
2894
  ipamAddress?: pulumi.Input<string>;
2698
2895
  /**
2699
- * The name of this interface. If the interface is a VLAN, a label is required.
2896
+ * 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.
2897
+ */
2898
+ ipv4?: pulumi.Input<inputs.InstanceConfigInterfaceIpv4>;
2899
+ /**
2900
+ * The name of the VLAN to join. This field is only allowed and required for interfaces with the `vlan` purpose.
2700
2901
  */
2701
2902
  label?: pulumi.Input<string>;
2702
2903
  /**
2703
- * The type of interface. (`public`, `vlan`)
2904
+ * 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.
2905
+ *
2906
+ * * `ipv4` - (Optional) The IPv4 configuration of the VPC interface. This field is currently only allowed for interfaces with the `vpc` purpose.
2907
+ *
2908
+ * The following computed attribute is available in a VPC interface:
2909
+ */
2910
+ primary?: pulumi.Input<boolean>;
2911
+ /**
2912
+ * The type of interface. (`public`, `vlan`, `vpc`)
2913
+ */
2914
+ purpose: pulumi.Input<string>;
2915
+ /**
2916
+ * The name of the VPC Subnet to join. This field is only allowed and required for interfaces with the `vpc` purpose.
2917
+ */
2918
+ subnetId?: pulumi.Input<number>;
2919
+ /**
2920
+ * The ID of VPC which this interface is attached to.
2921
+ */
2922
+ vpcId?: pulumi.Input<number>;
2923
+ }
2924
+ export interface InstanceConfigInterfaceIpv4 {
2925
+ /**
2926
+ * 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.
2927
+ */
2928
+ nat11?: pulumi.Input<string>;
2929
+ /**
2930
+ * 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.
2704
2931
  */
2705
- purpose?: pulumi.Input<string>;
2932
+ vpc?: pulumi.Input<string>;
2706
2933
  }
2707
2934
  export interface InstanceDisk {
2708
2935
  /**
@@ -2753,18 +2980,65 @@ export interface InstanceDisk {
2753
2980
  stackscriptId?: pulumi.Input<number>;
2754
2981
  }
2755
2982
  export interface InstanceInterface {
2983
+ active?: pulumi.Input<boolean>;
2984
+ /**
2985
+ * The ID of the disk in the Linode API.
2986
+ */
2987
+ id?: pulumi.Input<number>;
2988
+ /**
2989
+ * IPv4 CIDR VPC Subnet ranges that are routed to this Interface. IPv6 ranges are also available to select participants in the Beta program.
2990
+ */
2991
+ ipRanges?: pulumi.Input<pulumi.Input<string>[]>;
2756
2992
  /**
2757
- * This Network Interface’s private IP address in Classless Inter-Domain Routing (CIDR) notation.
2993
+ * 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.
2758
2994
  */
2759
2995
  ipamAddress?: pulumi.Input<string>;
2760
2996
  /**
2761
- * The name of this interface. If the interface is a VLAN, a label is required.
2997
+ * 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.
2998
+ */
2999
+ ipv4?: pulumi.Input<inputs.InstanceInterfaceIpv4>;
3000
+ /**
3001
+ * The name of the VLAN to join. This field is only allowed and required for interfaces with the `vlan` purpose.
2762
3002
  */
2763
3003
  label?: pulumi.Input<string>;
2764
3004
  /**
2765
- * The type of interface. (`public`, `vlan`)
3005
+ * 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.
3006
+ *
3007
+ * * `ipv4` - (Optional) The IPv4 configuration of the VPC interface. This field is currently only allowed for interfaces with the `vpc` purpose.
3008
+ *
3009
+ * The following computed attribute is available in a VPC interface:
3010
+ */
3011
+ primary?: pulumi.Input<boolean>;
3012
+ /**
3013
+ * The type of interface. (`public`, `vlan`, `vpc`)
3014
+ */
3015
+ purpose: pulumi.Input<string>;
3016
+ /**
3017
+ * The name of the VPC Subnet to join. This field is only allowed and required for interfaces with the `vpc` purpose.
3018
+ */
3019
+ subnetId?: pulumi.Input<number>;
3020
+ /**
3021
+ * The ID of VPC which this interface is attached to.
3022
+ */
3023
+ vpcId?: pulumi.Input<number>;
3024
+ }
3025
+ export interface InstanceInterfaceIpv4 {
3026
+ /**
3027
+ * 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.
3028
+ */
3029
+ nat11?: pulumi.Input<string>;
3030
+ /**
3031
+ * 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.
3032
+ */
3033
+ vpc?: pulumi.Input<string>;
3034
+ }
3035
+ export interface InstanceIpVpcNat11 {
3036
+ /**
3037
+ * The resulting IPv4 address.
2766
3038
  */
2767
- purpose?: pulumi.Input<string>;
3039
+ address?: pulumi.Input<string>;
3040
+ subnetId?: pulumi.Input<number>;
3041
+ vpcId?: pulumi.Input<number>;
2768
3042
  }
2769
3043
  export interface InstanceMetadata {
2770
3044
  userData?: pulumi.Input<string>;
@@ -2987,3 +3261,17 @@ export interface UserVolumeGrant {
2987
3261
  id: pulumi.Input<number>;
2988
3262
  permissions: pulumi.Input<string>;
2989
3263
  }
3264
+ export interface VpcSubnetLinode {
3265
+ /**
3266
+ * The ID of the VPC Subnet.
3267
+ */
3268
+ id: pulumi.Input<number>;
3269
+ interfaces: pulumi.Input<pulumi.Input<inputs.VpcSubnetLinodeInterface>[]>;
3270
+ }
3271
+ export interface VpcSubnetLinodeInterface {
3272
+ active: pulumi.Input<boolean>;
3273
+ /**
3274
+ * The ID of the VPC Subnet.
3275
+ */
3276
+ id: pulumi.Input<number>;
3277
+ }