All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.equinix.pulumi.fabric.RoutingProtocol Maven / Gradle / Ivy

There is a newer version: 0.19.0
Show newest version
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.equinix.pulumi.fabric;

import com.equinix.pulumi.Utilities;
import com.equinix.pulumi.fabric.RoutingProtocolArgs;
import com.equinix.pulumi.fabric.inputs.RoutingProtocolState;
import com.equinix.pulumi.fabric.outputs.RoutingProtocolBfd;
import com.equinix.pulumi.fabric.outputs.RoutingProtocolBgpIpv4;
import com.equinix.pulumi.fabric.outputs.RoutingProtocolBgpIpv6;
import com.equinix.pulumi.fabric.outputs.RoutingProtocolChange;
import com.equinix.pulumi.fabric.outputs.RoutingProtocolChangeLog;
import com.equinix.pulumi.fabric.outputs.RoutingProtocolDirectIpv4;
import com.equinix.pulumi.fabric.outputs.RoutingProtocolDirectIpv6;
import com.equinix.pulumi.fabric.outputs.RoutingProtocolOperation;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Export;
import com.pulumi.core.annotations.ResourceType;
import com.pulumi.core.internal.Codegen;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import javax.annotation.Nullable;

/**
 * Fabric V4 API compatible resource allows creation and management of Equinix Fabric connection
 * 
 * Additional documentation:
 * * Getting Started: https://docs.equinix.com/en-us/Content/Interconnection/FCR/connections/FCR-connect-azureQC.htm#ConfigureRoutingDetailsintheFabricPortal
 * * API: https://developer.equinix.com/dev-docs/fabric/api-reference/fabric-v4-apis#routing-protocols
 * 
 * ## Example Usage
 * ### example 1
 * 
 * {@code
 * package generated_program;
 * 
 * import com.pulumi.Context;
 * import com.pulumi.Pulumi;
 * import com.pulumi.core.Output;
 * import com.pulumi.equinix.fabric.RoutingProtocol;
 * import com.pulumi.equinix.fabric.RoutingProtocolArgs;
 * import com.pulumi.equinix.fabric.inputs.RoutingProtocolDirectIpv4Args;
 * import com.pulumi.equinix.fabric.inputs.RoutingProtocolDirectIpv6Args;
 * 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 direct = new RoutingProtocol("direct", RoutingProtocolArgs.builder()
 *             .connectionUuid("")
 *             .type("DIRECT")
 *             .name("direct_rp")
 *             .directIpv4(RoutingProtocolDirectIpv4Args.builder()
 *                 .equinixIfaceIp("190.1.1.1/30")
 *                 .build())
 *             .directIpv6(RoutingProtocolDirectIpv6Args.builder()
 *                 .equinixIfaceIp("190::1:1/126")
 *                 .build())
 *             .build());
 * 
 *     }
 * }
 * }
 * 
* ### example 2 *
 * {@code
 * package generated_program;
 * 
 * import com.pulumi.Context;
 * import com.pulumi.Pulumi;
 * import com.pulumi.core.Output;
 * import com.pulumi.equinix.fabric.RoutingProtocol;
 * import com.pulumi.equinix.fabric.RoutingProtocolArgs;
 * import com.pulumi.equinix.fabric.inputs.RoutingProtocolBgpIpv4Args;
 * import com.pulumi.equinix.fabric.inputs.RoutingProtocolBgpIpv6Args;
 * 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 bgp = new RoutingProtocol("bgp", RoutingProtocolArgs.builder()
 *             .connectionUuid("")
 *             .type("BGP")
 *             .name("bgp_rp")
 *             .bgpIpv4(RoutingProtocolBgpIpv4Args.builder()
 *                 .customerPeerIp("190.1.1.2")
 *                 .enabled(true)
 *                 .build())
 *             .bgpIpv6(RoutingProtocolBgpIpv6Args.builder()
 *                 .customerPeerIp("190::1:2")
 *                 .enabled(true)
 *                 .build())
 *             .customerAsn(4532)
 *             .build());
 * 
 *     }
 * }
 * }
 * 
* ### example 3 *
 * {@code
 * package generated_program;
 * 
 * import com.pulumi.Context;
 * import com.pulumi.Pulumi;
 * import com.pulumi.core.Output;
 * import com.pulumi.equinix.fabric.RoutingProtocol;
 * import com.pulumi.equinix.fabric.RoutingProtocolArgs;
 * import com.pulumi.equinix.fabric.inputs.RoutingProtocolDirectIpv4Args;
 * import com.pulumi.equinix.fabric.inputs.RoutingProtocolDirectIpv6Args;
 * import com.pulumi.equinix.fabric.inputs.RoutingProtocolBgpIpv4Args;
 * import com.pulumi.equinix.fabric.inputs.RoutingProtocolBgpIpv6Args;
 * import com.pulumi.resources.CustomResourceOptions;
 * 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 direct = new RoutingProtocol("direct", RoutingProtocolArgs.builder()
 *             .connectionUuid("")
 *             .type("DIRECT")
 *             .name("direct_rp")
 *             .directIpv4(RoutingProtocolDirectIpv4Args.builder()
 *                 .equinixIfaceIp("190.1.1.1/30")
 *                 .build())
 *             .directIpv6(RoutingProtocolDirectIpv6Args.builder()
 *                 .equinixIfaceIp("190::1:1/126")
 *                 .build())
 *             .build());
 * 
 *         var bgp = new RoutingProtocol("bgp", RoutingProtocolArgs.builder()
 *             .connectionUuid("")
 *             .type("BGP")
 *             .name("bgp_rp")
 *             .bgpIpv4(RoutingProtocolBgpIpv4Args.builder()
 *                 .customerPeerIp("190.1.1.2")
 *                 .enabled(true)
 *                 .build())
 *             .bgpIpv6(RoutingProtocolBgpIpv6Args.builder()
 *                 .customerPeerIp("190::1:2")
 *                 .enabled(true)
 *                 .build())
 *             .customerAsn(4532)
 *             .build(), CustomResourceOptions.builder()
 *                 .dependsOn(direct)
 *                 .build());
 * 
 *     }
 * }
 * }
 * 
* */ @ResourceType(type="equinix:fabric/routingProtocol:RoutingProtocol") public class RoutingProtocol extends com.pulumi.resources.CustomResource { /** * Bidirectional Forwarding Detection * */ @Export(name="bfd", refs={RoutingProtocolBfd.class}, tree="[0]") private Output bfd; /** * @return Bidirectional Forwarding Detection * */ public Output bfd() { return this.bfd; } /** * BGP authorization key * */ @Export(name="bgpAuthKey", refs={String.class}, tree="[0]") private Output bgpAuthKey; /** * @return BGP authorization key * */ public Output bgpAuthKey() { return this.bgpAuthKey; } /** * Routing Protocol BGP IPv4 * */ @Export(name="bgpIpv4", refs={RoutingProtocolBgpIpv4.class}, tree="[0]") private Output bgpIpv4; /** * @return Routing Protocol BGP IPv4 * */ public Output bgpIpv4() { return this.bgpIpv4; } /** * Routing Protocol BGP IPv6 * */ @Export(name="bgpIpv6", refs={RoutingProtocolBgpIpv6.class}, tree="[0]") private Output bgpIpv6; /** * @return Routing Protocol BGP IPv6 * */ public Output bgpIpv6() { return this.bgpIpv6; } /** * Captures Routing Protocol lifecycle change information * */ @Export(name="changeLogs", refs={List.class,RoutingProtocolChangeLog.class}, tree="[0,1]") private Output> changeLogs; /** * @return Captures Routing Protocol lifecycle change information * */ public Output> changeLogs() { return this.changeLogs; } /** * Routing Protocol configuration Changes * */ @Export(name="changes", refs={List.class,RoutingProtocolChange.class}, tree="[0,1]") private Output> changes; /** * @return Routing Protocol configuration Changes * */ public Output> changes() { return this.changes; } /** * Connection URI associated with Routing Protocol * */ @Export(name="connectionUuid", refs={String.class}, tree="[0]") private Output connectionUuid; /** * @return Connection URI associated with Routing Protocol * */ public Output connectionUuid() { return this.connectionUuid; } /** * Customer-provided ASN * */ @Export(name="customerAsn", refs={Integer.class}, tree="[0]") private Output customerAsn; /** * @return Customer-provided ASN * */ public Output customerAsn() { return this.customerAsn; } /** * Customer-provided Fabric Routing Protocol description * */ @Export(name="description", refs={String.class}, tree="[0]") private Output description; /** * @return Customer-provided Fabric Routing Protocol description * */ public Output description() { return this.description; } /** * Routing Protocol Direct IPv4 * */ @Export(name="directIpv4", refs={RoutingProtocolDirectIpv4.class}, tree="[0]") private Output directIpv4; /** * @return Routing Protocol Direct IPv4 * */ public Output directIpv4() { return this.directIpv4; } /** * Routing Protocol Direct IPv6 * */ @Export(name="directIpv6", refs={RoutingProtocolDirectIpv6.class}, tree="[0]") private Output directIpv6; /** * @return Routing Protocol Direct IPv6 * */ public Output directIpv6() { return this.directIpv6; } /** * Equinix ASN * */ @Export(name="equinixAsn", refs={Integer.class}, tree="[0]") private Output equinixAsn; /** * @return Equinix ASN * */ public Output equinixAsn() { return this.equinixAsn; } /** * Routing Protocol URI information * */ @Export(name="href", refs={String.class}, tree="[0]") private Output href; /** * @return Routing Protocol URI information * */ public Output href() { return this.href; } /** * Routing Protocol name. An alpha-numeric 24 characters string which can include only hyphens and underscores * */ @Export(name="name", refs={String.class}, tree="[0]") private Output name; /** * @return Routing Protocol name. An alpha-numeric 24 characters string which can include only hyphens and underscores * */ public Output name() { return this.name; } /** * Routing Protocol type-specific operational data * */ @Export(name="operations", refs={List.class,RoutingProtocolOperation.class}, tree="[0,1]") private Output> operations; /** * @return Routing Protocol type-specific operational data * */ public Output> operations() { return this.operations; } /** * Routing Protocol overall state * */ @Export(name="state", refs={String.class}, tree="[0]") private Output state; /** * @return Routing Protocol overall state * */ public Output state() { return this.state; } /** * Defines the routing protocol type like BGP or DIRECT * */ @Export(name="type", refs={String.class}, tree="[0]") private Output type; /** * @return Defines the routing protocol type like BGP or DIRECT * */ public Output type() { return this.type; } /** * Equinix-assigned routing protocol identifier * */ @Export(name="uuid", refs={String.class}, tree="[0]") private Output uuid; /** * @return Equinix-assigned routing protocol identifier * */ public Output uuid() { return this.uuid; } /** * * @param name The _unique_ name of the resulting resource. */ public RoutingProtocol(java.lang.String name) { this(name, RoutingProtocolArgs.Empty); } /** * * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ public RoutingProtocol(java.lang.String name, RoutingProtocolArgs args) { this(name, args, null); } /** * * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ public RoutingProtocol(java.lang.String name, RoutingProtocolArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { super("equinix:fabric/routingProtocol:RoutingProtocol", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } private RoutingProtocol(java.lang.String name, Output id, @Nullable RoutingProtocolState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { super("equinix:fabric/routingProtocol:RoutingProtocol", name, state, makeResourceOptions(options, id), false); } private static RoutingProtocolArgs makeArgs(RoutingProtocolArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { if (options != null && options.getUrn().isPresent()) { return null; } return args == null ? RoutingProtocolArgs.Empty : args; } private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .build(); return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); } /** * Get an existing Host resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state * @param options Optional settings to control the behavior of the CustomResource. */ public static RoutingProtocol get(java.lang.String name, Output id, @Nullable RoutingProtocolState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new RoutingProtocol(name, id, state, options); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy