1. Packages
  2. Aviatrix
  3. API Docs
  4. AviatrixEdgeSpokeTransitAttachment
Aviatrix v0.0.11 published on Saturday, Jun 17, 2023 by Aviatrix

aviatrix.AviatrixEdgeSpokeTransitAttachment

Explore with Pulumi AI

aviatrix logo
Aviatrix v0.0.11 published on Saturday, Jun 17, 2023 by Aviatrix

    The aviatrix_edge_spoke_transit_attachment resource allows the creation and management of Aviatrix Edge as a Spoke to Transit gateway attachments. This resource is available as of provider version R2.23+.

    Example Usage

    using System.Collections.Generic;
    using Pulumi;
    using Aviatrix = Pulumi.Aviatrix;
    
    return await Deployment.RunAsync(() => 
    {
        // Create an Aviatrix Edge as a Spoke Transit Attachment
        var testAttachment = new Aviatrix.AviatrixEdgeSpokeTransitAttachment("testAttachment", new()
        {
            SpokeGwName = "edge-as-a-spoke",
            TransitGwName = "transit-gw",
        });
    
    });
    
    package main
    
    import (
    	"github.com/astipkovits/pulumi-aviatrix/sdk/go/aviatrix"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := aviatrix.NewAviatrixEdgeSpokeTransitAttachment(ctx, "testAttachment", &aviatrix.AviatrixEdgeSpokeTransitAttachmentArgs{
    			SpokeGwName:   pulumi.String("edge-as-a-spoke"),
    			TransitGwName: pulumi.String("transit-gw"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aviatrix.AviatrixEdgeSpokeTransitAttachment;
    import com.pulumi.aviatrix.AviatrixEdgeSpokeTransitAttachmentArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var testAttachment = new AviatrixEdgeSpokeTransitAttachment("testAttachment", AviatrixEdgeSpokeTransitAttachmentArgs.builder()        
                .spokeGwName("edge-as-a-spoke")
                .transitGwName("transit-gw")
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_aviatrix as aviatrix
    
    # Create an Aviatrix Edge as a Spoke Transit Attachment
    test_attachment = aviatrix.AviatrixEdgeSpokeTransitAttachment("testAttachment",
        spoke_gw_name="edge-as-a-spoke",
        transit_gw_name="transit-gw")
    
    import * as pulumi from "@pulumi/pulumi";
    import * as aviatrix from "@pulumi/aviatrix";
    
    // Create an Aviatrix Edge as a Spoke Transit Attachment
    const testAttachment = new aviatrix.AviatrixEdgeSpokeTransitAttachment("test_attachment", {
        spokeGwName: "edge-as-a-spoke",
        transitGwName: "transit-gw",
    });
    
    resources:
      # Create an Aviatrix Edge as a Spoke Transit Attachment
      testAttachment:
        type: aviatrix:AviatrixEdgeSpokeTransitAttachment
        properties:
          spokeGwName: edge-as-a-spoke
          transitGwName: transit-gw
    

    Create AviatrixEdgeSpokeTransitAttachment Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new AviatrixEdgeSpokeTransitAttachment(name: string, args: AviatrixEdgeSpokeTransitAttachmentArgs, opts?: CustomResourceOptions);
    @overload
    def AviatrixEdgeSpokeTransitAttachment(resource_name: str,
                                           args: AviatrixEdgeSpokeTransitAttachmentArgs,
                                           opts: Optional[ResourceOptions] = None)
    
    @overload
    def AviatrixEdgeSpokeTransitAttachment(resource_name: str,
                                           opts: Optional[ResourceOptions] = None,
                                           spoke_gw_name: Optional[str] = None,
                                           transit_gw_name: Optional[str] = None,
                                           enable_insane_mode: Optional[bool] = None,
                                           enable_jumbo_frame: Optional[bool] = None,
                                           enable_over_private_network: Optional[bool] = None,
                                           insane_mode_tunnel_number: Optional[int] = None,
                                           spoke_prepend_as_paths: Optional[Sequence[str]] = None,
                                           transit_prepend_as_paths: Optional[Sequence[str]] = None)
    func NewAviatrixEdgeSpokeTransitAttachment(ctx *Context, name string, args AviatrixEdgeSpokeTransitAttachmentArgs, opts ...ResourceOption) (*AviatrixEdgeSpokeTransitAttachment, error)
    public AviatrixEdgeSpokeTransitAttachment(string name, AviatrixEdgeSpokeTransitAttachmentArgs args, CustomResourceOptions? opts = null)
    public AviatrixEdgeSpokeTransitAttachment(String name, AviatrixEdgeSpokeTransitAttachmentArgs args)
    public AviatrixEdgeSpokeTransitAttachment(String name, AviatrixEdgeSpokeTransitAttachmentArgs args, CustomResourceOptions options)
    
    type: aviatrix:AviatrixEdgeSpokeTransitAttachment
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args AviatrixEdgeSpokeTransitAttachmentArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args AviatrixEdgeSpokeTransitAttachmentArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args AviatrixEdgeSpokeTransitAttachmentArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args AviatrixEdgeSpokeTransitAttachmentArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args AviatrixEdgeSpokeTransitAttachmentArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var aviatrixEdgeSpokeTransitAttachmentResource = new Aviatrix.AviatrixEdgeSpokeTransitAttachment("aviatrixEdgeSpokeTransitAttachmentResource", new()
    {
        SpokeGwName = "string",
        TransitGwName = "string",
        EnableInsaneMode = false,
        EnableJumboFrame = false,
        EnableOverPrivateNetwork = false,
        InsaneModeTunnelNumber = 0,
        SpokePrependAsPaths = new[]
        {
            "string",
        },
        TransitPrependAsPaths = new[]
        {
            "string",
        },
    });
    
    example, err := aviatrix.NewAviatrixEdgeSpokeTransitAttachment(ctx, "aviatrixEdgeSpokeTransitAttachmentResource", &aviatrix.AviatrixEdgeSpokeTransitAttachmentArgs{
    	SpokeGwName:              pulumi.String("string"),
    	TransitGwName:            pulumi.String("string"),
    	EnableInsaneMode:         pulumi.Bool(false),
    	EnableJumboFrame:         pulumi.Bool(false),
    	EnableOverPrivateNetwork: pulumi.Bool(false),
    	InsaneModeTunnelNumber:   pulumi.Int(0),
    	SpokePrependAsPaths: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	TransitPrependAsPaths: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    })
    
    var aviatrixEdgeSpokeTransitAttachmentResource = new AviatrixEdgeSpokeTransitAttachment("aviatrixEdgeSpokeTransitAttachmentResource", AviatrixEdgeSpokeTransitAttachmentArgs.builder()
        .spokeGwName("string")
        .transitGwName("string")
        .enableInsaneMode(false)
        .enableJumboFrame(false)
        .enableOverPrivateNetwork(false)
        .insaneModeTunnelNumber(0)
        .spokePrependAsPaths("string")
        .transitPrependAsPaths("string")
        .build());
    
    aviatrix_edge_spoke_transit_attachment_resource = aviatrix.AviatrixEdgeSpokeTransitAttachment("aviatrixEdgeSpokeTransitAttachmentResource",
        spoke_gw_name="string",
        transit_gw_name="string",
        enable_insane_mode=False,
        enable_jumbo_frame=False,
        enable_over_private_network=False,
        insane_mode_tunnel_number=0,
        spoke_prepend_as_paths=["string"],
        transit_prepend_as_paths=["string"])
    
    const aviatrixEdgeSpokeTransitAttachmentResource = new aviatrix.AviatrixEdgeSpokeTransitAttachment("aviatrixEdgeSpokeTransitAttachmentResource", {
        spokeGwName: "string",
        transitGwName: "string",
        enableInsaneMode: false,
        enableJumboFrame: false,
        enableOverPrivateNetwork: false,
        insaneModeTunnelNumber: 0,
        spokePrependAsPaths: ["string"],
        transitPrependAsPaths: ["string"],
    });
    
    type: aviatrix:AviatrixEdgeSpokeTransitAttachment
    properties:
        enableInsaneMode: false
        enableJumboFrame: false
        enableOverPrivateNetwork: false
        insaneModeTunnelNumber: 0
        spokeGwName: string
        spokePrependAsPaths:
            - string
        transitGwName: string
        transitPrependAsPaths:
            - string
    

    AviatrixEdgeSpokeTransitAttachment Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The AviatrixEdgeSpokeTransitAttachment resource accepts the following input properties:

    SpokeGwName string
    Name of the Edge as a Spoke to attach to transit network.
    TransitGwName string
    Name of the transit gateway to attach the Edge as a Spoke to.
    EnableInsaneMode bool
    Switch to enable insane mode. Valid values: true, false. Default: false.
    EnableJumboFrame bool
    Switch to enable jumbo frame. Valid values: true, false. Default: false.
    EnableOverPrivateNetwork bool
    Switch to enable over the private network. Valid values: true, false. Default: true.
    InsaneModeTunnelNumber int
    Insane mode tunnel number. Default: 0.
    SpokePrependAsPaths List<string>
    Connection based AS Path Prepend. Can only use the gateway's own local AS number, repeated up to 25 times. Applies on the Edge as a Spoke.
    TransitPrependAsPaths List<string>
    Connection based AS Path Prepend. Can only use the gateway's own local AS number, repeated up to 25 times. Applies on the Transit Gateway.
    SpokeGwName string
    Name of the Edge as a Spoke to attach to transit network.
    TransitGwName string
    Name of the transit gateway to attach the Edge as a Spoke to.
    EnableInsaneMode bool
    Switch to enable insane mode. Valid values: true, false. Default: false.
    EnableJumboFrame bool
    Switch to enable jumbo frame. Valid values: true, false. Default: false.
    EnableOverPrivateNetwork bool
    Switch to enable over the private network. Valid values: true, false. Default: true.
    InsaneModeTunnelNumber int
    Insane mode tunnel number. Default: 0.
    SpokePrependAsPaths []string
    Connection based AS Path Prepend. Can only use the gateway's own local AS number, repeated up to 25 times. Applies on the Edge as a Spoke.
    TransitPrependAsPaths []string
    Connection based AS Path Prepend. Can only use the gateway's own local AS number, repeated up to 25 times. Applies on the Transit Gateway.
    spokeGwName String
    Name of the Edge as a Spoke to attach to transit network.
    transitGwName String
    Name of the transit gateway to attach the Edge as a Spoke to.
    enableInsaneMode Boolean
    Switch to enable insane mode. Valid values: true, false. Default: false.
    enableJumboFrame Boolean
    Switch to enable jumbo frame. Valid values: true, false. Default: false.
    enableOverPrivateNetwork Boolean
    Switch to enable over the private network. Valid values: true, false. Default: true.
    insaneModeTunnelNumber Integer
    Insane mode tunnel number. Default: 0.
    spokePrependAsPaths List<String>
    Connection based AS Path Prepend. Can only use the gateway's own local AS number, repeated up to 25 times. Applies on the Edge as a Spoke.
    transitPrependAsPaths List<String>
    Connection based AS Path Prepend. Can only use the gateway's own local AS number, repeated up to 25 times. Applies on the Transit Gateway.
    spokeGwName string
    Name of the Edge as a Spoke to attach to transit network.
    transitGwName string
    Name of the transit gateway to attach the Edge as a Spoke to.
    enableInsaneMode boolean
    Switch to enable insane mode. Valid values: true, false. Default: false.
    enableJumboFrame boolean
    Switch to enable jumbo frame. Valid values: true, false. Default: false.
    enableOverPrivateNetwork boolean
    Switch to enable over the private network. Valid values: true, false. Default: true.
    insaneModeTunnelNumber number
    Insane mode tunnel number. Default: 0.
    spokePrependAsPaths string[]
    Connection based AS Path Prepend. Can only use the gateway's own local AS number, repeated up to 25 times. Applies on the Edge as a Spoke.
    transitPrependAsPaths string[]
    Connection based AS Path Prepend. Can only use the gateway's own local AS number, repeated up to 25 times. Applies on the Transit Gateway.
    spoke_gw_name str
    Name of the Edge as a Spoke to attach to transit network.
    transit_gw_name str
    Name of the transit gateway to attach the Edge as a Spoke to.
    enable_insane_mode bool
    Switch to enable insane mode. Valid values: true, false. Default: false.
    enable_jumbo_frame bool
    Switch to enable jumbo frame. Valid values: true, false. Default: false.
    enable_over_private_network bool
    Switch to enable over the private network. Valid values: true, false. Default: true.
    insane_mode_tunnel_number int
    Insane mode tunnel number. Default: 0.
    spoke_prepend_as_paths Sequence[str]
    Connection based AS Path Prepend. Can only use the gateway's own local AS number, repeated up to 25 times. Applies on the Edge as a Spoke.
    transit_prepend_as_paths Sequence[str]
    Connection based AS Path Prepend. Can only use the gateway's own local AS number, repeated up to 25 times. Applies on the Transit Gateway.
    spokeGwName String
    Name of the Edge as a Spoke to attach to transit network.
    transitGwName String
    Name of the transit gateway to attach the Edge as a Spoke to.
    enableInsaneMode Boolean
    Switch to enable insane mode. Valid values: true, false. Default: false.
    enableJumboFrame Boolean
    Switch to enable jumbo frame. Valid values: true, false. Default: false.
    enableOverPrivateNetwork Boolean
    Switch to enable over the private network. Valid values: true, false. Default: true.
    insaneModeTunnelNumber Number
    Insane mode tunnel number. Default: 0.
    spokePrependAsPaths List<String>
    Connection based AS Path Prepend. Can only use the gateway's own local AS number, repeated up to 25 times. Applies on the Edge as a Spoke.
    transitPrependAsPaths List<String>
    Connection based AS Path Prepend. Can only use the gateway's own local AS number, repeated up to 25 times. Applies on the Transit Gateway.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the AviatrixEdgeSpokeTransitAttachment resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing AviatrixEdgeSpokeTransitAttachment Resource

    Get an existing AviatrixEdgeSpokeTransitAttachment resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: AviatrixEdgeSpokeTransitAttachmentState, opts?: CustomResourceOptions): AviatrixEdgeSpokeTransitAttachment
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            enable_insane_mode: Optional[bool] = None,
            enable_jumbo_frame: Optional[bool] = None,
            enable_over_private_network: Optional[bool] = None,
            insane_mode_tunnel_number: Optional[int] = None,
            spoke_gw_name: Optional[str] = None,
            spoke_prepend_as_paths: Optional[Sequence[str]] = None,
            transit_gw_name: Optional[str] = None,
            transit_prepend_as_paths: Optional[Sequence[str]] = None) -> AviatrixEdgeSpokeTransitAttachment
    func GetAviatrixEdgeSpokeTransitAttachment(ctx *Context, name string, id IDInput, state *AviatrixEdgeSpokeTransitAttachmentState, opts ...ResourceOption) (*AviatrixEdgeSpokeTransitAttachment, error)
    public static AviatrixEdgeSpokeTransitAttachment Get(string name, Input<string> id, AviatrixEdgeSpokeTransitAttachmentState? state, CustomResourceOptions? opts = null)
    public static AviatrixEdgeSpokeTransitAttachment get(String name, Output<String> id, AviatrixEdgeSpokeTransitAttachmentState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    EnableInsaneMode bool
    Switch to enable insane mode. Valid values: true, false. Default: false.
    EnableJumboFrame bool
    Switch to enable jumbo frame. Valid values: true, false. Default: false.
    EnableOverPrivateNetwork bool
    Switch to enable over the private network. Valid values: true, false. Default: true.
    InsaneModeTunnelNumber int
    Insane mode tunnel number. Default: 0.
    SpokeGwName string
    Name of the Edge as a Spoke to attach to transit network.
    SpokePrependAsPaths List<string>
    Connection based AS Path Prepend. Can only use the gateway's own local AS number, repeated up to 25 times. Applies on the Edge as a Spoke.
    TransitGwName string
    Name of the transit gateway to attach the Edge as a Spoke to.
    TransitPrependAsPaths List<string>
    Connection based AS Path Prepend. Can only use the gateway's own local AS number, repeated up to 25 times. Applies on the Transit Gateway.
    EnableInsaneMode bool
    Switch to enable insane mode. Valid values: true, false. Default: false.
    EnableJumboFrame bool
    Switch to enable jumbo frame. Valid values: true, false. Default: false.
    EnableOverPrivateNetwork bool
    Switch to enable over the private network. Valid values: true, false. Default: true.
    InsaneModeTunnelNumber int
    Insane mode tunnel number. Default: 0.
    SpokeGwName string
    Name of the Edge as a Spoke to attach to transit network.
    SpokePrependAsPaths []string
    Connection based AS Path Prepend. Can only use the gateway's own local AS number, repeated up to 25 times. Applies on the Edge as a Spoke.
    TransitGwName string
    Name of the transit gateway to attach the Edge as a Spoke to.
    TransitPrependAsPaths []string
    Connection based AS Path Prepend. Can only use the gateway's own local AS number, repeated up to 25 times. Applies on the Transit Gateway.
    enableInsaneMode Boolean
    Switch to enable insane mode. Valid values: true, false. Default: false.
    enableJumboFrame Boolean
    Switch to enable jumbo frame. Valid values: true, false. Default: false.
    enableOverPrivateNetwork Boolean
    Switch to enable over the private network. Valid values: true, false. Default: true.
    insaneModeTunnelNumber Integer
    Insane mode tunnel number. Default: 0.
    spokeGwName String
    Name of the Edge as a Spoke to attach to transit network.
    spokePrependAsPaths List<String>
    Connection based AS Path Prepend. Can only use the gateway's own local AS number, repeated up to 25 times. Applies on the Edge as a Spoke.
    transitGwName String
    Name of the transit gateway to attach the Edge as a Spoke to.
    transitPrependAsPaths List<String>
    Connection based AS Path Prepend. Can only use the gateway's own local AS number, repeated up to 25 times. Applies on the Transit Gateway.
    enableInsaneMode boolean
    Switch to enable insane mode. Valid values: true, false. Default: false.
    enableJumboFrame boolean
    Switch to enable jumbo frame. Valid values: true, false. Default: false.
    enableOverPrivateNetwork boolean
    Switch to enable over the private network. Valid values: true, false. Default: true.
    insaneModeTunnelNumber number
    Insane mode tunnel number. Default: 0.
    spokeGwName string
    Name of the Edge as a Spoke to attach to transit network.
    spokePrependAsPaths string[]
    Connection based AS Path Prepend. Can only use the gateway's own local AS number, repeated up to 25 times. Applies on the Edge as a Spoke.
    transitGwName string
    Name of the transit gateway to attach the Edge as a Spoke to.
    transitPrependAsPaths string[]
    Connection based AS Path Prepend. Can only use the gateway's own local AS number, repeated up to 25 times. Applies on the Transit Gateway.
    enable_insane_mode bool
    Switch to enable insane mode. Valid values: true, false. Default: false.
    enable_jumbo_frame bool
    Switch to enable jumbo frame. Valid values: true, false. Default: false.
    enable_over_private_network bool
    Switch to enable over the private network. Valid values: true, false. Default: true.
    insane_mode_tunnel_number int
    Insane mode tunnel number. Default: 0.
    spoke_gw_name str
    Name of the Edge as a Spoke to attach to transit network.
    spoke_prepend_as_paths Sequence[str]
    Connection based AS Path Prepend. Can only use the gateway's own local AS number, repeated up to 25 times. Applies on the Edge as a Spoke.
    transit_gw_name str
    Name of the transit gateway to attach the Edge as a Spoke to.
    transit_prepend_as_paths Sequence[str]
    Connection based AS Path Prepend. Can only use the gateway's own local AS number, repeated up to 25 times. Applies on the Transit Gateway.
    enableInsaneMode Boolean
    Switch to enable insane mode. Valid values: true, false. Default: false.
    enableJumboFrame Boolean
    Switch to enable jumbo frame. Valid values: true, false. Default: false.
    enableOverPrivateNetwork Boolean
    Switch to enable over the private network. Valid values: true, false. Default: true.
    insaneModeTunnelNumber Number
    Insane mode tunnel number. Default: 0.
    spokeGwName String
    Name of the Edge as a Spoke to attach to transit network.
    spokePrependAsPaths List<String>
    Connection based AS Path Prepend. Can only use the gateway's own local AS number, repeated up to 25 times. Applies on the Edge as a Spoke.
    transitGwName String
    Name of the transit gateway to attach the Edge as a Spoke to.
    transitPrependAsPaths List<String>
    Connection based AS Path Prepend. Can only use the gateway's own local AS number, repeated up to 25 times. Applies on the Transit Gateway.

    Import

    spoke_transit_attachment can be imported using the spoke_gw_name and transit_gw_name, e.g.

     $ pulumi import aviatrix:index/aviatrixEdgeSpokeTransitAttachment:AviatrixEdgeSpokeTransitAttachment test spoke_gw_name~transit_gw_name
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    aviatrix astipkovits/pulumi-aviatrix
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the aviatrix Terraform Provider.
    aviatrix logo
    Aviatrix v0.0.11 published on Saturday, Jun 17, 2023 by Aviatrix