com.pulumi.azurenative.network.VirtualNetworkPeering Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of azure-native Show documentation
Show all versions of azure-native Show documentation
A native Pulumi package for creating and managing Azure resources.
// *** 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.pulumi.azurenative.network;
import com.pulumi.azurenative.Utilities;
import com.pulumi.azurenative.network.VirtualNetworkPeeringArgs;
import com.pulumi.azurenative.network.outputs.AddressSpaceResponse;
import com.pulumi.azurenative.network.outputs.SubResourceResponse;
import com.pulumi.azurenative.network.outputs.VirtualNetworkBgpCommunitiesResponse;
import com.pulumi.azurenative.network.outputs.VirtualNetworkEncryptionResponse;
import com.pulumi.core.Alias;
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.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Optional;
import javax.annotation.Nullable;
/**
* Peerings in a virtual network resource.
* Azure REST API version: 2023-02-01. Prior API version in Azure Native 1.x: 2020-11-01.
*
* Other available API versions: 2019-06-01, 2023-04-01, 2023-05-01, 2023-06-01, 2023-09-01, 2023-11-01, 2024-01-01, 2024-03-01.
*
* ## Example Usage
* ### Create peering
*
*
* {@code
* package generated_program;
*
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.azurenative.network.VirtualNetworkPeering;
* import com.pulumi.azurenative.network.VirtualNetworkPeeringArgs;
* import com.pulumi.azurenative.network.inputs.SubResourceArgs;
* 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 virtualNetworkPeering = new VirtualNetworkPeering("virtualNetworkPeering", VirtualNetworkPeeringArgs.builder()
* .allowForwardedTraffic(true)
* .allowGatewayTransit(false)
* .allowVirtualNetworkAccess(true)
* .remoteVirtualNetwork(SubResourceArgs.builder()
* .id("/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2")
* .build())
* .resourceGroupName("peerTest")
* .useRemoteGateways(false)
* .virtualNetworkName("vnet1")
* .virtualNetworkPeeringName("peer")
* .build());
*
* }
* }
*
* }
*
* ### Create peering with remote virtual network encryption
*
*
* {@code
* package generated_program;
*
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.azurenative.network.VirtualNetworkPeering;
* import com.pulumi.azurenative.network.VirtualNetworkPeeringArgs;
* import com.pulumi.azurenative.network.inputs.SubResourceArgs;
* 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 virtualNetworkPeering = new VirtualNetworkPeering("virtualNetworkPeering", VirtualNetworkPeeringArgs.builder()
* .allowForwardedTraffic(true)
* .allowGatewayTransit(false)
* .allowVirtualNetworkAccess(true)
* .remoteVirtualNetwork(SubResourceArgs.builder()
* .id("/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2")
* .build())
* .resourceGroupName("peerTest")
* .useRemoteGateways(false)
* .virtualNetworkName("vnet1")
* .virtualNetworkPeeringName("peer")
* .build());
*
* }
* }
*
* }
*
* ### Sync Peering
*
*
* {@code
* package generated_program;
*
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.azurenative.network.VirtualNetworkPeering;
* import com.pulumi.azurenative.network.VirtualNetworkPeeringArgs;
* import com.pulumi.azurenative.network.inputs.SubResourceArgs;
* 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 virtualNetworkPeering = new VirtualNetworkPeering("virtualNetworkPeering", VirtualNetworkPeeringArgs.builder()
* .allowForwardedTraffic(true)
* .allowGatewayTransit(false)
* .allowVirtualNetworkAccess(true)
* .remoteVirtualNetwork(SubResourceArgs.builder()
* .id("/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2")
* .build())
* .resourceGroupName("peerTest")
* .syncRemoteAddressSpace("true")
* .useRemoteGateways(false)
* .virtualNetworkName("vnet1")
* .virtualNetworkPeeringName("peer")
* .build());
*
* }
* }
*
* }
*
*
* ## Import
*
* An existing resource can be imported using its type token, name, and identifier, e.g.
*
* ```sh
* $ pulumi import azure-native:network:VirtualNetworkPeering peer /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings/{virtualNetworkPeeringName}
* ```
*
*/
@ResourceType(type="azure-native:network:VirtualNetworkPeering")
public class VirtualNetworkPeering extends com.pulumi.resources.CustomResource {
/**
* Whether the forwarded traffic from the VMs in the local virtual network will be allowed/disallowed in remote virtual network.
*
*/
@Export(name="allowForwardedTraffic", refs={Boolean.class}, tree="[0]")
private Output* @Nullable */ Boolean> allowForwardedTraffic;
/**
* @return Whether the forwarded traffic from the VMs in the local virtual network will be allowed/disallowed in remote virtual network.
*
*/
public Output> allowForwardedTraffic() {
return Codegen.optional(this.allowForwardedTraffic);
}
/**
* If gateway links can be used in remote virtual networking to link to this virtual network.
*
*/
@Export(name="allowGatewayTransit", refs={Boolean.class}, tree="[0]")
private Output* @Nullable */ Boolean> allowGatewayTransit;
/**
* @return If gateway links can be used in remote virtual networking to link to this virtual network.
*
*/
public Output> allowGatewayTransit() {
return Codegen.optional(this.allowGatewayTransit);
}
/**
* Whether the VMs in the local virtual network space would be able to access the VMs in remote virtual network space.
*
*/
@Export(name="allowVirtualNetworkAccess", refs={Boolean.class}, tree="[0]")
private Output* @Nullable */ Boolean> allowVirtualNetworkAccess;
/**
* @return Whether the VMs in the local virtual network space would be able to access the VMs in remote virtual network space.
*
*/
public Output> allowVirtualNetworkAccess() {
return Codegen.optional(this.allowVirtualNetworkAccess);
}
/**
* If we need to verify the provisioning state of the remote gateway.
*
*/
@Export(name="doNotVerifyRemoteGateways", refs={Boolean.class}, tree="[0]")
private Output* @Nullable */ Boolean> doNotVerifyRemoteGateways;
/**
* @return If we need to verify the provisioning state of the remote gateway.
*
*/
public Output> doNotVerifyRemoteGateways() {
return Codegen.optional(this.doNotVerifyRemoteGateways);
}
/**
* A unique read-only string that changes whenever the resource is updated.
*
*/
@Export(name="etag", refs={String.class}, tree="[0]")
private Output etag;
/**
* @return A unique read-only string that changes whenever the resource is updated.
*
*/
public Output etag() {
return this.etag;
}
/**
* The name of the resource that is unique within a resource group. This name can be used to access the resource.
*
*/
@Export(name="name", refs={String.class}, tree="[0]")
private Output* @Nullable */ String> name;
/**
* @return The name of the resource that is unique within a resource group. This name can be used to access the resource.
*
*/
public Output> name() {
return Codegen.optional(this.name);
}
/**
* The status of the virtual network peering.
*
*/
@Export(name="peeringState", refs={String.class}, tree="[0]")
private Output* @Nullable */ String> peeringState;
/**
* @return The status of the virtual network peering.
*
*/
public Output> peeringState() {
return Codegen.optional(this.peeringState);
}
/**
* The peering sync status of the virtual network peering.
*
*/
@Export(name="peeringSyncLevel", refs={String.class}, tree="[0]")
private Output* @Nullable */ String> peeringSyncLevel;
/**
* @return The peering sync status of the virtual network peering.
*
*/
public Output> peeringSyncLevel() {
return Codegen.optional(this.peeringSyncLevel);
}
/**
* The provisioning state of the virtual network peering resource.
*
*/
@Export(name="provisioningState", refs={String.class}, tree="[0]")
private Output provisioningState;
/**
* @return The provisioning state of the virtual network peering resource.
*
*/
public Output provisioningState() {
return this.provisioningState;
}
/**
* The reference to the address space peered with the remote virtual network.
*
*/
@Export(name="remoteAddressSpace", refs={AddressSpaceResponse.class}, tree="[0]")
private Output* @Nullable */ AddressSpaceResponse> remoteAddressSpace;
/**
* @return The reference to the address space peered with the remote virtual network.
*
*/
public Output> remoteAddressSpace() {
return Codegen.optional(this.remoteAddressSpace);
}
/**
* The reference to the remote virtual network's Bgp Communities.
*
*/
@Export(name="remoteBgpCommunities", refs={VirtualNetworkBgpCommunitiesResponse.class}, tree="[0]")
private Output* @Nullable */ VirtualNetworkBgpCommunitiesResponse> remoteBgpCommunities;
/**
* @return The reference to the remote virtual network's Bgp Communities.
*
*/
public Output> remoteBgpCommunities() {
return Codegen.optional(this.remoteBgpCommunities);
}
/**
* The reference to the remote virtual network. The remote virtual network can be in the same or different region (preview). See here to register for the preview and learn more (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering).
*
*/
@Export(name="remoteVirtualNetwork", refs={SubResourceResponse.class}, tree="[0]")
private Output* @Nullable */ SubResourceResponse> remoteVirtualNetwork;
/**
* @return The reference to the remote virtual network. The remote virtual network can be in the same or different region (preview). See here to register for the preview and learn more (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering).
*
*/
public Output> remoteVirtualNetwork() {
return Codegen.optional(this.remoteVirtualNetwork);
}
/**
* The reference to the current address space of the remote virtual network.
*
*/
@Export(name="remoteVirtualNetworkAddressSpace", refs={AddressSpaceResponse.class}, tree="[0]")
private Output* @Nullable */ AddressSpaceResponse> remoteVirtualNetworkAddressSpace;
/**
* @return The reference to the current address space of the remote virtual network.
*
*/
public Output> remoteVirtualNetworkAddressSpace() {
return Codegen.optional(this.remoteVirtualNetworkAddressSpace);
}
/**
* The reference to the remote virtual network's encryption
*
*/
@Export(name="remoteVirtualNetworkEncryption", refs={VirtualNetworkEncryptionResponse.class}, tree="[0]")
private Output remoteVirtualNetworkEncryption;
/**
* @return The reference to the remote virtual network's encryption
*
*/
public Output remoteVirtualNetworkEncryption() {
return this.remoteVirtualNetworkEncryption;
}
/**
* The resourceGuid property of the Virtual Network peering resource.
*
*/
@Export(name="resourceGuid", refs={String.class}, tree="[0]")
private Output resourceGuid;
/**
* @return The resourceGuid property of the Virtual Network peering resource.
*
*/
public Output resourceGuid() {
return this.resourceGuid;
}
/**
* Resource type.
*
*/
@Export(name="type", refs={String.class}, tree="[0]")
private Output* @Nullable */ String> type;
/**
* @return Resource type.
*
*/
public Output> type() {
return Codegen.optional(this.type);
}
/**
* If remote gateways can be used on this virtual network. If the flag is set to true, and allowGatewayTransit on remote peering is also true, virtual network will use gateways of remote virtual network for transit. Only one peering can have this flag set to true. This flag cannot be set if virtual network already has a gateway.
*
*/
@Export(name="useRemoteGateways", refs={Boolean.class}, tree="[0]")
private Output* @Nullable */ Boolean> useRemoteGateways;
/**
* @return If remote gateways can be used on this virtual network. If the flag is set to true, and allowGatewayTransit on remote peering is also true, virtual network will use gateways of remote virtual network for transit. Only one peering can have this flag set to true. This flag cannot be set if virtual network already has a gateway.
*
*/
public Output> useRemoteGateways() {
return Codegen.optional(this.useRemoteGateways);
}
/**
*
* @param name The _unique_ name of the resulting resource.
*/
public VirtualNetworkPeering(java.lang.String name) {
this(name, VirtualNetworkPeeringArgs.Empty);
}
/**
*
* @param name The _unique_ name of the resulting resource.
* @param args The arguments to use to populate this resource's properties.
*/
public VirtualNetworkPeering(java.lang.String name, VirtualNetworkPeeringArgs 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 VirtualNetworkPeering(java.lang.String name, VirtualNetworkPeeringArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) {
super("azure-native:network:VirtualNetworkPeering", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false);
}
private VirtualNetworkPeering(java.lang.String name, Output id, @Nullable com.pulumi.resources.CustomResourceOptions options) {
super("azure-native:network:VirtualNetworkPeering", name, null, makeResourceOptions(options, id), false);
}
private static VirtualNetworkPeeringArgs makeArgs(VirtualNetworkPeeringArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) {
if (options != null && options.getUrn().isPresent()) {
return null;
}
return args == null ? VirtualNetworkPeeringArgs.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())
.aliases(List.of(
Output.of(Alias.builder().type("azure-native:network/v20160601:VirtualNetworkPeering").build()),
Output.of(Alias.builder().type("azure-native:network/v20160901:VirtualNetworkPeering").build()),
Output.of(Alias.builder().type("azure-native:network/v20161201:VirtualNetworkPeering").build()),
Output.of(Alias.builder().type("azure-native:network/v20170301:VirtualNetworkPeering").build()),
Output.of(Alias.builder().type("azure-native:network/v20170601:VirtualNetworkPeering").build()),
Output.of(Alias.builder().type("azure-native:network/v20170801:VirtualNetworkPeering").build()),
Output.of(Alias.builder().type("azure-native:network/v20170901:VirtualNetworkPeering").build()),
Output.of(Alias.builder().type("azure-native:network/v20171001:VirtualNetworkPeering").build()),
Output.of(Alias.builder().type("azure-native:network/v20171101:VirtualNetworkPeering").build()),
Output.of(Alias.builder().type("azure-native:network/v20180101:VirtualNetworkPeering").build()),
Output.of(Alias.builder().type("azure-native:network/v20180201:VirtualNetworkPeering").build()),
Output.of(Alias.builder().type("azure-native:network/v20180401:VirtualNetworkPeering").build()),
Output.of(Alias.builder().type("azure-native:network/v20180601:VirtualNetworkPeering").build()),
Output.of(Alias.builder().type("azure-native:network/v20180701:VirtualNetworkPeering").build()),
Output.of(Alias.builder().type("azure-native:network/v20180801:VirtualNetworkPeering").build()),
Output.of(Alias.builder().type("azure-native:network/v20181001:VirtualNetworkPeering").build()),
Output.of(Alias.builder().type("azure-native:network/v20181101:VirtualNetworkPeering").build()),
Output.of(Alias.builder().type("azure-native:network/v20181201:VirtualNetworkPeering").build()),
Output.of(Alias.builder().type("azure-native:network/v20190201:VirtualNetworkPeering").build()),
Output.of(Alias.builder().type("azure-native:network/v20190401:VirtualNetworkPeering").build()),
Output.of(Alias.builder().type("azure-native:network/v20190601:VirtualNetworkPeering").build()),
Output.of(Alias.builder().type("azure-native:network/v20190701:VirtualNetworkPeering").build()),
Output.of(Alias.builder().type("azure-native:network/v20190801:VirtualNetworkPeering").build()),
Output.of(Alias.builder().type("azure-native:network/v20190901:VirtualNetworkPeering").build()),
Output.of(Alias.builder().type("azure-native:network/v20191101:VirtualNetworkPeering").build()),
Output.of(Alias.builder().type("azure-native:network/v20191201:VirtualNetworkPeering").build()),
Output.of(Alias.builder().type("azure-native:network/v20200301:VirtualNetworkPeering").build()),
Output.of(Alias.builder().type("azure-native:network/v20200401:VirtualNetworkPeering").build()),
Output.of(Alias.builder().type("azure-native:network/v20200501:VirtualNetworkPeering").build()),
Output.of(Alias.builder().type("azure-native:network/v20200601:VirtualNetworkPeering").build()),
Output.of(Alias.builder().type("azure-native:network/v20200701:VirtualNetworkPeering").build()),
Output.of(Alias.builder().type("azure-native:network/v20200801:VirtualNetworkPeering").build()),
Output.of(Alias.builder().type("azure-native:network/v20201101:VirtualNetworkPeering").build()),
Output.of(Alias.builder().type("azure-native:network/v20210201:VirtualNetworkPeering").build()),
Output.of(Alias.builder().type("azure-native:network/v20210301:VirtualNetworkPeering").build()),
Output.of(Alias.builder().type("azure-native:network/v20210501:VirtualNetworkPeering").build()),
Output.of(Alias.builder().type("azure-native:network/v20210801:VirtualNetworkPeering").build()),
Output.of(Alias.builder().type("azure-native:network/v20220101:VirtualNetworkPeering").build()),
Output.of(Alias.builder().type("azure-native:network/v20220501:VirtualNetworkPeering").build()),
Output.of(Alias.builder().type("azure-native:network/v20220701:VirtualNetworkPeering").build()),
Output.of(Alias.builder().type("azure-native:network/v20220901:VirtualNetworkPeering").build()),
Output.of(Alias.builder().type("azure-native:network/v20221101:VirtualNetworkPeering").build()),
Output.of(Alias.builder().type("azure-native:network/v20230201:VirtualNetworkPeering").build()),
Output.of(Alias.builder().type("azure-native:network/v20230401:VirtualNetworkPeering").build()),
Output.of(Alias.builder().type("azure-native:network/v20230501:VirtualNetworkPeering").build()),
Output.of(Alias.builder().type("azure-native:network/v20230601:VirtualNetworkPeering").build()),
Output.of(Alias.builder().type("azure-native:network/v20230901:VirtualNetworkPeering").build()),
Output.of(Alias.builder().type("azure-native:network/v20231101:VirtualNetworkPeering").build()),
Output.of(Alias.builder().type("azure-native:network/v20240101:VirtualNetworkPeering").build()),
Output.of(Alias.builder().type("azure-native:network/v20240301:VirtualNetworkPeering").build())
))
.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 options Optional settings to control the behavior of the CustomResource.
*/
public static VirtualNetworkPeering get(java.lang.String name, Output id, @Nullable com.pulumi.resources.CustomResourceOptions options) {
return new VirtualNetworkPeering(name, id, options);
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy