KxEnvironmentArgs

data class KxEnvironmentArgs(val customDnsConfigurations: Output<List<KxEnvironmentCustomDnsConfigurationArgs>>? = null, val description: Output<String>? = null, val kmsKeyId: Output<String>? = null, val name: Output<String>? = null, val tags: Output<Map<String, String>>? = null, val transitGatewayConfiguration: Output<KxEnvironmentTransitGatewayConfigurationArgs>? = null) : ConvertibleToJava<KxEnvironmentArgs>

Resource for managing an AWS FinSpace Kx Environment.

Example Usage

Basic Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.kms.Key("example", {
description: "Sample KMS Key",
deletionWindowInDays: 7,
});
const exampleKxEnvironment = new aws.finspace.KxEnvironment("example", {
name: "my-tf-kx-environment",
kmsKeyId: example.arn,
});
import pulumi
import pulumi_aws as aws
example = aws.kms.Key("example",
description="Sample KMS Key",
deletion_window_in_days=7)
example_kx_environment = aws.finspace.KxEnvironment("example",
name="my-tf-kx-environment",
kms_key_id=example.arn)
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.Kms.Key("example", new()
{
Description = "Sample KMS Key",
DeletionWindowInDays = 7,
});
var exampleKxEnvironment = new Aws.FinSpace.KxEnvironment("example", new()
{
Name = "my-tf-kx-environment",
KmsKeyId = example.Arn,
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/finspace"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := kms.NewKey(ctx, "example", &kms.KeyArgs{
Description: pulumi.String("Sample KMS Key"),
DeletionWindowInDays: pulumi.Int(7),
})
if err != nil {
return err
}
_, err = finspace.NewKxEnvironment(ctx, "example", &finspace.KxEnvironmentArgs{
Name: pulumi.String("my-tf-kx-environment"),
KmsKeyId: example.Arn,
})
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.aws.kms.Key;
import com.pulumi.aws.kms.KeyArgs;
import com.pulumi.aws.finspace.KxEnvironment;
import com.pulumi.aws.finspace.KxEnvironmentArgs;
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 example = new Key("example", KeyArgs.builder()
.description("Sample KMS Key")
.deletionWindowInDays(7)
.build());
var exampleKxEnvironment = new KxEnvironment("exampleKxEnvironment", KxEnvironmentArgs.builder()
.name("my-tf-kx-environment")
.kmsKeyId(example.arn())
.build());
}
}
resources:
example:
type: aws:kms:Key
properties:
description: Sample KMS Key
deletionWindowInDays: 7
exampleKxEnvironment:
type: aws:finspace:KxEnvironment
name: example
properties:
name: my-tf-kx-environment
kmsKeyId: ${example.arn}

With Transit Gateway Configuration

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.kms.Key("example", {
description: "Sample KMS Key",
deletionWindowInDays: 7,
});
const exampleTransitGateway = new aws.ec2transitgateway.TransitGateway("example", {description: "example"});
const exampleEnv = new aws.finspace.KxEnvironment("example_env", {
name: "my-tf-kx-environment",
description: "Environment description",
kmsKeyId: example.arn,
transitGatewayConfiguration: {
transitGatewayId: exampleTransitGateway.id,
routableCidrSpace: "100.64.0.0/26",
},
customDnsConfigurations: [{
customDnsServerName: "example.finspace.amazonaws.com",
customDnsServerIp: "10.0.0.76",
}],
});
import pulumi
import pulumi_aws as aws
example = aws.kms.Key("example",
description="Sample KMS Key",
deletion_window_in_days=7)
example_transit_gateway = aws.ec2transitgateway.TransitGateway("example", description="example")
example_env = aws.finspace.KxEnvironment("example_env",
name="my-tf-kx-environment",
description="Environment description",
kms_key_id=example.arn,
transit_gateway_configuration={
"transit_gateway_id": example_transit_gateway.id,
"routable_cidr_space": "100.64.0.0/26",
},
custom_dns_configurations=[{
"custom_dns_server_name": "example.finspace.amazonaws.com",
"custom_dns_server_ip": "10.0.0.76",
}])
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.Kms.Key("example", new()
{
Description = "Sample KMS Key",
DeletionWindowInDays = 7,
});
var exampleTransitGateway = new Aws.Ec2TransitGateway.TransitGateway("example", new()
{
Description = "example",
});
var exampleEnv = new Aws.FinSpace.KxEnvironment("example_env", new()
{
Name = "my-tf-kx-environment",
Description = "Environment description",
KmsKeyId = example.Arn,
TransitGatewayConfiguration = new Aws.FinSpace.Inputs.KxEnvironmentTransitGatewayConfigurationArgs
{
TransitGatewayId = exampleTransitGateway.Id,
RoutableCidrSpace = "100.64.0.0/26",
},
CustomDnsConfigurations = new[]
{
new Aws.FinSpace.Inputs.KxEnvironmentCustomDnsConfigurationArgs
{
CustomDnsServerName = "example.finspace.amazonaws.com",
CustomDnsServerIp = "10.0.0.76",
},
},
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/finspace"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := kms.NewKey(ctx, "example", &kms.KeyArgs{
Description: pulumi.String("Sample KMS Key"),
DeletionWindowInDays: pulumi.Int(7),
})
if err != nil {
return err
}
exampleTransitGateway, err := ec2transitgateway.NewTransitGateway(ctx, "example", &ec2transitgateway.TransitGatewayArgs{
Description: pulumi.String("example"),
})
if err != nil {
return err
}
_, err = finspace.NewKxEnvironment(ctx, "example_env", &finspace.KxEnvironmentArgs{
Name: pulumi.String("my-tf-kx-environment"),
Description: pulumi.String("Environment description"),
KmsKeyId: example.Arn,
TransitGatewayConfiguration: &finspace.KxEnvironmentTransitGatewayConfigurationArgs{
TransitGatewayId: exampleTransitGateway.ID(),
RoutableCidrSpace: pulumi.String("100.64.0.0/26"),
},
CustomDnsConfigurations: finspace.KxEnvironmentCustomDnsConfigurationArray{
&finspace.KxEnvironmentCustomDnsConfigurationArgs{
CustomDnsServerName: pulumi.String("example.finspace.amazonaws.com"),
CustomDnsServerIp: pulumi.String("10.0.0.76"),
},
},
})
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.aws.kms.Key;
import com.pulumi.aws.kms.KeyArgs;
import com.pulumi.aws.ec2transitgateway.TransitGateway;
import com.pulumi.aws.ec2transitgateway.TransitGatewayArgs;
import com.pulumi.aws.finspace.KxEnvironment;
import com.pulumi.aws.finspace.KxEnvironmentArgs;
import com.pulumi.aws.finspace.inputs.KxEnvironmentTransitGatewayConfigurationArgs;
import com.pulumi.aws.finspace.inputs.KxEnvironmentCustomDnsConfigurationArgs;
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 example = new Key("example", KeyArgs.builder()
.description("Sample KMS Key")
.deletionWindowInDays(7)
.build());
var exampleTransitGateway = new TransitGateway("exampleTransitGateway", TransitGatewayArgs.builder()
.description("example")
.build());
var exampleEnv = new KxEnvironment("exampleEnv", KxEnvironmentArgs.builder()
.name("my-tf-kx-environment")
.description("Environment description")
.kmsKeyId(example.arn())
.transitGatewayConfiguration(KxEnvironmentTransitGatewayConfigurationArgs.builder()
.transitGatewayId(exampleTransitGateway.id())
.routableCidrSpace("100.64.0.0/26")
.build())
.customDnsConfigurations(KxEnvironmentCustomDnsConfigurationArgs.builder()
.customDnsServerName("example.finspace.amazonaws.com")
.customDnsServerIp("10.0.0.76")
.build())
.build());
}
}
resources:
example:
type: aws:kms:Key
properties:
description: Sample KMS Key
deletionWindowInDays: 7
exampleTransitGateway:
type: aws:ec2transitgateway:TransitGateway
name: example
properties:
description: example
exampleEnv:
type: aws:finspace:KxEnvironment
name: example_env
properties:
name: my-tf-kx-environment
description: Environment description
kmsKeyId: ${example.arn}
transitGatewayConfiguration:
transitGatewayId: ${exampleTransitGateway.id}
routableCidrSpace: 100.64.0.0/26
customDnsConfigurations:
- customDnsServerName: example.finspace.amazonaws.com
customDnsServerIp: 10.0.0.76

With Transit Gateway Attachment Network ACL Configuration

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.kms.Key("example", {
description: "Sample KMS Key",
deletionWindowInDays: 7,
});
const exampleTransitGateway = new aws.ec2transitgateway.TransitGateway("example", {description: "example"});
const exampleEnv = new aws.finspace.KxEnvironment("example_env", {
name: "my-tf-kx-environment",
description: "Environment description",
kmsKeyId: example.arn,
transitGatewayConfiguration: {
transitGatewayId: exampleTransitGateway.id,
routableCidrSpace: "100.64.0.0/26",
attachmentNetworkAclConfigurations: [{
ruleNumber: 1,
protocol: "6",
ruleAction: "allow",
cidrBlock: "0.0.0.0/0",
portRange: {
from: 53,
to: 53,
},
icmpTypeCode: {
type: -1,
code: -1,
},
}],
},
customDnsConfigurations: [{
customDnsServerName: "example.finspace.amazonaws.com",
customDnsServerIp: "10.0.0.76",
}],
});
import pulumi
import pulumi_aws as aws
example = aws.kms.Key("example",
description="Sample KMS Key",
deletion_window_in_days=7)
example_transit_gateway = aws.ec2transitgateway.TransitGateway("example", description="example")
example_env = aws.finspace.KxEnvironment("example_env",
name="my-tf-kx-environment",
description="Environment description",
kms_key_id=example.arn,
transit_gateway_configuration={
"transit_gateway_id": example_transit_gateway.id,
"routable_cidr_space": "100.64.0.0/26",
"attachment_network_acl_configurations": [{
"rule_number": 1,
"protocol": "6",
"rule_action": "allow",
"cidr_block": "0.0.0.0/0",
"port_range": {
"from_": 53,
"to": 53,
},
"icmp_type_code": {
"type": -1,
"code": -1,
},
}],
},
custom_dns_configurations=[{
"custom_dns_server_name": "example.finspace.amazonaws.com",
"custom_dns_server_ip": "10.0.0.76",
}])
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.Kms.Key("example", new()
{
Description = "Sample KMS Key",
DeletionWindowInDays = 7,
});
var exampleTransitGateway = new Aws.Ec2TransitGateway.TransitGateway("example", new()
{
Description = "example",
});
var exampleEnv = new Aws.FinSpace.KxEnvironment("example_env", new()
{
Name = "my-tf-kx-environment",
Description = "Environment description",
KmsKeyId = example.Arn,
TransitGatewayConfiguration = new Aws.FinSpace.Inputs.KxEnvironmentTransitGatewayConfigurationArgs
{
TransitGatewayId = exampleTransitGateway.Id,
RoutableCidrSpace = "100.64.0.0/26",
AttachmentNetworkAclConfigurations = new[]
{
new Aws.FinSpace.Inputs.KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationArgs
{
RuleNumber = 1,
Protocol = "6",
RuleAction = "allow",
CidrBlock = "0.0.0.0/0",
PortRange = new Aws.FinSpace.Inputs.KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationPortRangeArgs
{
From = 53,
To = 53,
},
IcmpTypeCode = new Aws.FinSpace.Inputs.KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationIcmpTypeCodeArgs
{
Type = -1,
Code = -1,
},
},
},
},
CustomDnsConfigurations = new[]
{
new Aws.FinSpace.Inputs.KxEnvironmentCustomDnsConfigurationArgs
{
CustomDnsServerName = "example.finspace.amazonaws.com",
CustomDnsServerIp = "10.0.0.76",
},
},
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/finspace"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := kms.NewKey(ctx, "example", &kms.KeyArgs{
Description: pulumi.String("Sample KMS Key"),
DeletionWindowInDays: pulumi.Int(7),
})
if err != nil {
return err
}
exampleTransitGateway, err := ec2transitgateway.NewTransitGateway(ctx, "example", &ec2transitgateway.TransitGatewayArgs{
Description: pulumi.String("example"),
})
if err != nil {
return err
}
_, err = finspace.NewKxEnvironment(ctx, "example_env", &finspace.KxEnvironmentArgs{
Name: pulumi.String("my-tf-kx-environment"),
Description: pulumi.String("Environment description"),
KmsKeyId: example.Arn,
TransitGatewayConfiguration: &finspace.KxEnvironmentTransitGatewayConfigurationArgs{
TransitGatewayId: exampleTransitGateway.ID(),
RoutableCidrSpace: pulumi.String("100.64.0.0/26"),
AttachmentNetworkAclConfigurations: finspace.KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationArray{
&finspace.KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationArgs{
RuleNumber: pulumi.Int(1),
Protocol: pulumi.String("6"),
RuleAction: pulumi.String("allow"),
CidrBlock: pulumi.String("0.0.0.0/0"),
PortRange: &finspace.KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationPortRangeArgs{
From: pulumi.Int(53),
To: pulumi.Int(53),
},
IcmpTypeCode: &finspace.KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationIcmpTypeCodeArgs{
Type: pulumi.Int(-1),
Code: pulumi.Int(-1),
},
},
},
},
CustomDnsConfigurations: finspace.KxEnvironmentCustomDnsConfigurationArray{
&finspace.KxEnvironmentCustomDnsConfigurationArgs{
CustomDnsServerName: pulumi.String("example.finspace.amazonaws.com"),
CustomDnsServerIp: pulumi.String("10.0.0.76"),
},
},
})
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.aws.kms.Key;
import com.pulumi.aws.kms.KeyArgs;
import com.pulumi.aws.ec2transitgateway.TransitGateway;
import com.pulumi.aws.ec2transitgateway.TransitGatewayArgs;
import com.pulumi.aws.finspace.KxEnvironment;
import com.pulumi.aws.finspace.KxEnvironmentArgs;
import com.pulumi.aws.finspace.inputs.KxEnvironmentTransitGatewayConfigurationArgs;
import com.pulumi.aws.finspace.inputs.KxEnvironmentCustomDnsConfigurationArgs;
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 example = new Key("example", KeyArgs.builder()
.description("Sample KMS Key")
.deletionWindowInDays(7)
.build());
var exampleTransitGateway = new TransitGateway("exampleTransitGateway", TransitGatewayArgs.builder()
.description("example")
.build());
var exampleEnv = new KxEnvironment("exampleEnv", KxEnvironmentArgs.builder()
.name("my-tf-kx-environment")
.description("Environment description")
.kmsKeyId(example.arn())
.transitGatewayConfiguration(KxEnvironmentTransitGatewayConfigurationArgs.builder()
.transitGatewayId(exampleTransitGateway.id())
.routableCidrSpace("100.64.0.0/26")
.attachmentNetworkAclConfigurations(KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationArgs.builder()
.ruleNumber(1)
.protocol("6")
.ruleAction("allow")
.cidrBlock("0.0.0.0/0")
.portRange(KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationPortRangeArgs.builder()
.from(53)
.to(53)
.build())
.icmpTypeCode(KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationIcmpTypeCodeArgs.builder()
.type(-1)
.code(-1)
.build())
.build())
.build())
.customDnsConfigurations(KxEnvironmentCustomDnsConfigurationArgs.builder()
.customDnsServerName("example.finspace.amazonaws.com")
.customDnsServerIp("10.0.0.76")
.build())
.build());
}
}
resources:
example:
type: aws:kms:Key
properties:
description: Sample KMS Key
deletionWindowInDays: 7
exampleTransitGateway:
type: aws:ec2transitgateway:TransitGateway
name: example
properties:
description: example
exampleEnv:
type: aws:finspace:KxEnvironment
name: example_env
properties:
name: my-tf-kx-environment
description: Environment description
kmsKeyId: ${example.arn}
transitGatewayConfiguration:
transitGatewayId: ${exampleTransitGateway.id}
routableCidrSpace: 100.64.0.0/26
attachmentNetworkAclConfigurations:
- ruleNumber: 1
protocol: '6'
ruleAction: allow
cidrBlock: 0.0.0.0/0
portRange:
from: 53
to: 53
icmpTypeCode:
type: -1
code: -1
customDnsConfigurations:
- customDnsServerName: example.finspace.amazonaws.com
customDnsServerIp: 10.0.0.76

Import

Using pulumi import, import an AWS FinSpace Kx Environment using the id. For example:

$ pulumi import aws:finspace/kxEnvironment:KxEnvironment example n3ceo7wqxoxcti5tujqwzs

Constructors

Link copied to clipboard
constructor(customDnsConfigurations: Output<List<KxEnvironmentCustomDnsConfigurationArgs>>? = null, description: Output<String>? = null, kmsKeyId: Output<String>? = null, name: Output<String>? = null, tags: Output<Map<String, String>>? = null, transitGatewayConfiguration: Output<KxEnvironmentTransitGatewayConfigurationArgs>? = null)

Properties

Link copied to clipboard

List of DNS server name and server IP. This is used to set up Route-53 outbound resolvers. Defined below.

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

Description for the KX environment.

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

KMS key ID to encrypt your data in the FinSpace environment. The following arguments are optional:

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

Name of the KX environment that you want to create.

Link copied to clipboard
val tags: Output<Map<String, String>>? = null

Key-value mapping of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

Link copied to clipboard

Transit gateway and network configuration that is used to connect the KX environment to an internal network. Defined below.

Functions

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