NatAddressArgs

data class NatAddressArgs(val instanceId: Output<String>? = null, val name: Output<String>? = null) : ConvertibleToJava<NatAddressArgs>

Apigee NAT (network address translation) address. A NAT address is a static external IP address used for Internet egress traffic. This is not avaible for Apigee hybrid. Apigee NAT addresses are not automatically activated because they might require explicit allow entries on the target systems first. See https://cloud.google.com/apigee/docs/reference/apis/apigee/rest/v1/organizations.instances.natAddresses/activate To get more information about NatAddress, see:

Example Usage

Apigee Nat Address Basic

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.organizations.OrganizationsFunctions;
import com.pulumi.gcp.compute.Network;
import com.pulumi.gcp.compute.GlobalAddress;
import com.pulumi.gcp.compute.GlobalAddressArgs;
import com.pulumi.gcp.servicenetworking.Connection;
import com.pulumi.gcp.servicenetworking.ConnectionArgs;
import com.pulumi.gcp.kms.KeyRing;
import com.pulumi.gcp.kms.KeyRingArgs;
import com.pulumi.gcp.kms.CryptoKey;
import com.pulumi.gcp.kms.CryptoKeyArgs;
import com.pulumi.gcp.projects.ServiceIdentity;
import com.pulumi.gcp.projects.ServiceIdentityArgs;
import com.pulumi.gcp.kms.CryptoKeyIAMBinding;
import com.pulumi.gcp.kms.CryptoKeyIAMBindingArgs;
import com.pulumi.gcp.apigee.Organization;
import com.pulumi.gcp.apigee.OrganizationArgs;
import com.pulumi.gcp.apigee.Instance;
import com.pulumi.gcp.apigee.InstanceArgs;
import com.pulumi.gcp.apigee.NatAddress;
import com.pulumi.gcp.apigee.NatAddressArgs;
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) {
final var current = OrganizationsFunctions.getClientConfig();
var apigeeNetwork = new Network("apigeeNetwork");
var apigeeRange = new GlobalAddress("apigeeRange", GlobalAddressArgs.builder()
.purpose("VPC_PEERING")
.addressType("INTERNAL")
.prefixLength(21)
.network(apigeeNetwork.id())
.build());
var apigeeVpcConnection = new Connection("apigeeVpcConnection", ConnectionArgs.builder()
.network(apigeeNetwork.id())
.service("servicenetworking.googleapis.com")
.reservedPeeringRanges(apigeeRange.name())
.build());
var apigeeKeyring = new KeyRing("apigeeKeyring", KeyRingArgs.builder()
.location("us-central1")
.build());
var apigeeKey = new CryptoKey("apigeeKey", CryptoKeyArgs.builder()
.keyRing(apigeeKeyring.id())
.build());
var apigeeSa = new ServiceIdentity("apigeeSa", ServiceIdentityArgs.builder()
.project(google_project.project().project_id())
.service(google_project_service.apigee().service())
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
var apigeeSaKeyuser = new CryptoKeyIAMBinding("apigeeSaKeyuser", CryptoKeyIAMBindingArgs.builder()
.cryptoKeyId(apigeeKey.id())
.role("roles/cloudkms.cryptoKeyEncrypterDecrypter")
.members(apigeeSa.email().applyValue(email -> String.format("serviceAccount:%s", email)))
.build());
var apigeeOrg = new Organization("apigeeOrg", OrganizationArgs.builder()
.analyticsRegion("us-central1")
.displayName("apigee-org")
.description("Terraform-provisioned Apigee Org.")
.projectId(current.applyValue(getClientConfigResult -> getClientConfigResult.project()))
.authorizedNetwork(apigeeNetwork.id())
.runtimeDatabaseEncryptionKeyName(apigeeKey.id())
.build(), CustomResourceOptions.builder()
.dependsOn(
apigeeVpcConnection,
apigeeSaKeyuser)
.build());
var apigeeInstance = new Instance("apigeeInstance", InstanceArgs.builder()
.location("us-central1")
.description("Terraform-managed Apigee Runtime Instance")
.displayName("apigee-instance")
.orgId(apigeeOrg.id())
.diskEncryptionKeyName(apigeeKey.id())
.build());
var apigee_nat = new NatAddress("apigee-nat", NatAddressArgs.builder()
.instanceId(apigeeInstance.id())
.build());
}
}

Import

NatAddress can be imported using any of these accepted formats

$ pulumi import gcp:apigee/natAddress:NatAddress default {{instance_id}}/natAddresses/{{name}}
$ pulumi import gcp:apigee/natAddress:NatAddress default {{instance_id}}/{{name}}

Constructors

Link copied to clipboard
constructor(instanceId: Output<String>? = null, name: Output<String>? = null)

Properties

Link copied to clipboard
val instanceId: Output<String>? = null

The Apigee instance associated with the Apigee environment, in the format organizations/{{org_name}}/instances/{{instance_name}}.

Link copied to clipboard
val name: Output<String>? = null

Resource ID of the NAT address.

Functions

Link copied to clipboard
open override fun toJava(): NatAddressArgs