github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/finspace/kxEnvironment.go (about)

     1  // Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT.
     2  // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
     3  
     4  package finspace
     5  
     6  import (
     7  	"context"
     8  	"reflect"
     9  
    10  	"errors"
    11  	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal"
    12  	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    13  )
    14  
    15  // Resource for managing an AWS FinSpace Kx Environment.
    16  //
    17  // ## Example Usage
    18  //
    19  // ### Basic Usage
    20  //
    21  // <!--Start PulumiCodeChooser -->
    22  // ```go
    23  // package main
    24  //
    25  // import (
    26  //
    27  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/finspace"
    28  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms"
    29  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    30  //
    31  // )
    32  //
    33  //	func main() {
    34  //		pulumi.Run(func(ctx *pulumi.Context) error {
    35  //			example, err := kms.NewKey(ctx, "example", &kms.KeyArgs{
    36  //				Description:          pulumi.String("Sample KMS Key"),
    37  //				DeletionWindowInDays: pulumi.Int(7),
    38  //			})
    39  //			if err != nil {
    40  //				return err
    41  //			}
    42  //			_, err = finspace.NewKxEnvironment(ctx, "example", &finspace.KxEnvironmentArgs{
    43  //				Name:     pulumi.String("my-tf-kx-environment"),
    44  //				KmsKeyId: example.Arn,
    45  //			})
    46  //			if err != nil {
    47  //				return err
    48  //			}
    49  //			return nil
    50  //		})
    51  //	}
    52  //
    53  // ```
    54  // <!--End PulumiCodeChooser -->
    55  //
    56  // ### With Transit Gateway Configuration
    57  //
    58  // <!--Start PulumiCodeChooser -->
    59  // ```go
    60  // package main
    61  //
    62  // import (
    63  //
    64  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway"
    65  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/finspace"
    66  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms"
    67  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    68  //
    69  // )
    70  //
    71  //	func main() {
    72  //		pulumi.Run(func(ctx *pulumi.Context) error {
    73  //			example, err := kms.NewKey(ctx, "example", &kms.KeyArgs{
    74  //				Description:          pulumi.String("Sample KMS Key"),
    75  //				DeletionWindowInDays: pulumi.Int(7),
    76  //			})
    77  //			if err != nil {
    78  //				return err
    79  //			}
    80  //			exampleTransitGateway, err := ec2transitgateway.NewTransitGateway(ctx, "example", &ec2transitgateway.TransitGatewayArgs{
    81  //				Description: pulumi.String("example"),
    82  //			})
    83  //			if err != nil {
    84  //				return err
    85  //			}
    86  //			_, err = finspace.NewKxEnvironment(ctx, "example_env", &finspace.KxEnvironmentArgs{
    87  //				Name:        pulumi.String("my-tf-kx-environment"),
    88  //				Description: pulumi.String("Environment description"),
    89  //				KmsKeyId:    example.Arn,
    90  //				TransitGatewayConfiguration: &finspace.KxEnvironmentTransitGatewayConfigurationArgs{
    91  //					TransitGatewayId:  exampleTransitGateway.ID(),
    92  //					RoutableCidrSpace: pulumi.String("100.64.0.0/26"),
    93  //				},
    94  //				CustomDnsConfigurations: finspace.KxEnvironmentCustomDnsConfigurationArray{
    95  //					&finspace.KxEnvironmentCustomDnsConfigurationArgs{
    96  //						CustomDnsServerName: pulumi.String("example.finspace.amazonaws.com"),
    97  //						CustomDnsServerIp:   pulumi.String("10.0.0.76"),
    98  //					},
    99  //				},
   100  //			})
   101  //			if err != nil {
   102  //				return err
   103  //			}
   104  //			return nil
   105  //		})
   106  //	}
   107  //
   108  // ```
   109  // <!--End PulumiCodeChooser -->
   110  //
   111  // ### With Transit Gateway Attachment Network ACL Configuration
   112  //
   113  // <!--Start PulumiCodeChooser -->
   114  // ```go
   115  // package main
   116  //
   117  // import (
   118  //
   119  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway"
   120  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/finspace"
   121  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms"
   122  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
   123  //
   124  // )
   125  //
   126  //	func main() {
   127  //		pulumi.Run(func(ctx *pulumi.Context) error {
   128  //			example, err := kms.NewKey(ctx, "example", &kms.KeyArgs{
   129  //				Description:          pulumi.String("Sample KMS Key"),
   130  //				DeletionWindowInDays: pulumi.Int(7),
   131  //			})
   132  //			if err != nil {
   133  //				return err
   134  //			}
   135  //			exampleTransitGateway, err := ec2transitgateway.NewTransitGateway(ctx, "example", &ec2transitgateway.TransitGatewayArgs{
   136  //				Description: pulumi.String("example"),
   137  //			})
   138  //			if err != nil {
   139  //				return err
   140  //			}
   141  //			_, err = finspace.NewKxEnvironment(ctx, "example_env", &finspace.KxEnvironmentArgs{
   142  //				Name:        pulumi.String("my-tf-kx-environment"),
   143  //				Description: pulumi.String("Environment description"),
   144  //				KmsKeyId:    example.Arn,
   145  //				TransitGatewayConfiguration: &finspace.KxEnvironmentTransitGatewayConfigurationArgs{
   146  //					TransitGatewayId:  exampleTransitGateway.ID(),
   147  //					RoutableCidrSpace: pulumi.String("100.64.0.0/26"),
   148  //					AttachmentNetworkAclConfigurations: finspace.KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationArray{
   149  //						&finspace.KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationArgs{
   150  //							RuleNumber: pulumi.Int(1),
   151  //							Protocol:   pulumi.String("6"),
   152  //							RuleAction: pulumi.String("allow"),
   153  //							CidrBlock:  pulumi.String("0.0.0.0/0"),
   154  //							PortRange: &finspace.KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationPortRangeArgs{
   155  //								From: pulumi.Int(53),
   156  //								To:   pulumi.Int(53),
   157  //							},
   158  //							IcmpTypeCode: &finspace.KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationIcmpTypeCodeArgs{
   159  //								Type: -1,
   160  //								Code: -1,
   161  //							},
   162  //						},
   163  //					},
   164  //				},
   165  //				CustomDnsConfigurations: finspace.KxEnvironmentCustomDnsConfigurationArray{
   166  //					&finspace.KxEnvironmentCustomDnsConfigurationArgs{
   167  //						CustomDnsServerName: pulumi.String("example.finspace.amazonaws.com"),
   168  //						CustomDnsServerIp:   pulumi.String("10.0.0.76"),
   169  //					},
   170  //				},
   171  //			})
   172  //			if err != nil {
   173  //				return err
   174  //			}
   175  //			return nil
   176  //		})
   177  //	}
   178  //
   179  // ```
   180  // <!--End PulumiCodeChooser -->
   181  //
   182  // ## Import
   183  //
   184  // Using `pulumi import`, import an AWS FinSpace Kx Environment using the `id`. For example:
   185  //
   186  // ```sh
   187  // $ pulumi import aws:finspace/kxEnvironment:KxEnvironment example n3ceo7wqxoxcti5tujqwzs
   188  // ```
   189  type KxEnvironment struct {
   190  	pulumi.CustomResourceState
   191  
   192  	// Amazon Resource Name (ARN) identifier of the KX environment.
   193  	Arn pulumi.StringOutput `pulumi:"arn"`
   194  	// AWS Availability Zone IDs that this environment is available in. Important when selecting VPC subnets to use in cluster creation.
   195  	AvailabilityZones pulumi.StringArrayOutput `pulumi:"availabilityZones"`
   196  	// Timestamp at which the environment is created in FinSpace. Value determined as epoch time in seconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000.
   197  	CreatedTimestamp pulumi.StringOutput `pulumi:"createdTimestamp"`
   198  	// List of DNS server name and server IP. This is used to set up Route-53 outbound resolvers. Defined below.
   199  	CustomDnsConfigurations KxEnvironmentCustomDnsConfigurationArrayOutput `pulumi:"customDnsConfigurations"`
   200  	// Description for the KX environment.
   201  	Description pulumi.StringPtrOutput `pulumi:"description"`
   202  	// Unique identifier for the AWS environment infrastructure account.
   203  	InfrastructureAccountId pulumi.StringOutput `pulumi:"infrastructureAccountId"`
   204  	// KMS key ID to encrypt your data in the FinSpace environment.
   205  	//
   206  	// The following arguments are optional:
   207  	KmsKeyId pulumi.StringOutput `pulumi:"kmsKeyId"`
   208  	// Last timestamp at which the environment was updated in FinSpace. Value determined as epoch time in seconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000.
   209  	LastModifiedTimestamp pulumi.StringOutput `pulumi:"lastModifiedTimestamp"`
   210  	// Name of the KX environment that you want to create.
   211  	Name pulumi.StringOutput `pulumi:"name"`
   212  	// Status of environment creation
   213  	Status pulumi.StringOutput `pulumi:"status"`
   214  	// Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   215  	Tags pulumi.StringMapOutput `pulumi:"tags"`
   216  	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   217  	//
   218  	// Deprecated: Please use `tags` instead.
   219  	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
   220  	// Transit gateway and network configuration that is used to connect the KX environment to an internal network. Defined below.
   221  	TransitGatewayConfiguration KxEnvironmentTransitGatewayConfigurationPtrOutput `pulumi:"transitGatewayConfiguration"`
   222  }
   223  
   224  // NewKxEnvironment registers a new resource with the given unique name, arguments, and options.
   225  func NewKxEnvironment(ctx *pulumi.Context,
   226  	name string, args *KxEnvironmentArgs, opts ...pulumi.ResourceOption) (*KxEnvironment, error) {
   227  	if args == nil {
   228  		return nil, errors.New("missing one or more required arguments")
   229  	}
   230  
   231  	if args.KmsKeyId == nil {
   232  		return nil, errors.New("invalid value for required argument 'KmsKeyId'")
   233  	}
   234  	opts = internal.PkgResourceDefaultOpts(opts)
   235  	var resource KxEnvironment
   236  	err := ctx.RegisterResource("aws:finspace/kxEnvironment:KxEnvironment", name, args, &resource, opts...)
   237  	if err != nil {
   238  		return nil, err
   239  	}
   240  	return &resource, nil
   241  }
   242  
   243  // GetKxEnvironment gets an existing KxEnvironment resource's state with the given name, ID, and optional
   244  // state properties that are used to uniquely qualify the lookup (nil if not required).
   245  func GetKxEnvironment(ctx *pulumi.Context,
   246  	name string, id pulumi.IDInput, state *KxEnvironmentState, opts ...pulumi.ResourceOption) (*KxEnvironment, error) {
   247  	var resource KxEnvironment
   248  	err := ctx.ReadResource("aws:finspace/kxEnvironment:KxEnvironment", name, id, state, &resource, opts...)
   249  	if err != nil {
   250  		return nil, err
   251  	}
   252  	return &resource, nil
   253  }
   254  
   255  // Input properties used for looking up and filtering KxEnvironment resources.
   256  type kxEnvironmentState struct {
   257  	// Amazon Resource Name (ARN) identifier of the KX environment.
   258  	Arn *string `pulumi:"arn"`
   259  	// AWS Availability Zone IDs that this environment is available in. Important when selecting VPC subnets to use in cluster creation.
   260  	AvailabilityZones []string `pulumi:"availabilityZones"`
   261  	// Timestamp at which the environment is created in FinSpace. Value determined as epoch time in seconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000.
   262  	CreatedTimestamp *string `pulumi:"createdTimestamp"`
   263  	// List of DNS server name and server IP. This is used to set up Route-53 outbound resolvers. Defined below.
   264  	CustomDnsConfigurations []KxEnvironmentCustomDnsConfiguration `pulumi:"customDnsConfigurations"`
   265  	// Description for the KX environment.
   266  	Description *string `pulumi:"description"`
   267  	// Unique identifier for the AWS environment infrastructure account.
   268  	InfrastructureAccountId *string `pulumi:"infrastructureAccountId"`
   269  	// KMS key ID to encrypt your data in the FinSpace environment.
   270  	//
   271  	// The following arguments are optional:
   272  	KmsKeyId *string `pulumi:"kmsKeyId"`
   273  	// Last timestamp at which the environment was updated in FinSpace. Value determined as epoch time in seconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000.
   274  	LastModifiedTimestamp *string `pulumi:"lastModifiedTimestamp"`
   275  	// Name of the KX environment that you want to create.
   276  	Name *string `pulumi:"name"`
   277  	// Status of environment creation
   278  	Status *string `pulumi:"status"`
   279  	// Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   280  	Tags map[string]string `pulumi:"tags"`
   281  	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   282  	//
   283  	// Deprecated: Please use `tags` instead.
   284  	TagsAll map[string]string `pulumi:"tagsAll"`
   285  	// Transit gateway and network configuration that is used to connect the KX environment to an internal network. Defined below.
   286  	TransitGatewayConfiguration *KxEnvironmentTransitGatewayConfiguration `pulumi:"transitGatewayConfiguration"`
   287  }
   288  
   289  type KxEnvironmentState struct {
   290  	// Amazon Resource Name (ARN) identifier of the KX environment.
   291  	Arn pulumi.StringPtrInput
   292  	// AWS Availability Zone IDs that this environment is available in. Important when selecting VPC subnets to use in cluster creation.
   293  	AvailabilityZones pulumi.StringArrayInput
   294  	// Timestamp at which the environment is created in FinSpace. Value determined as epoch time in seconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000.
   295  	CreatedTimestamp pulumi.StringPtrInput
   296  	// List of DNS server name and server IP. This is used to set up Route-53 outbound resolvers. Defined below.
   297  	CustomDnsConfigurations KxEnvironmentCustomDnsConfigurationArrayInput
   298  	// Description for the KX environment.
   299  	Description pulumi.StringPtrInput
   300  	// Unique identifier for the AWS environment infrastructure account.
   301  	InfrastructureAccountId pulumi.StringPtrInput
   302  	// KMS key ID to encrypt your data in the FinSpace environment.
   303  	//
   304  	// The following arguments are optional:
   305  	KmsKeyId pulumi.StringPtrInput
   306  	// Last timestamp at which the environment was updated in FinSpace. Value determined as epoch time in seconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000.
   307  	LastModifiedTimestamp pulumi.StringPtrInput
   308  	// Name of the KX environment that you want to create.
   309  	Name pulumi.StringPtrInput
   310  	// Status of environment creation
   311  	Status pulumi.StringPtrInput
   312  	// Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   313  	Tags pulumi.StringMapInput
   314  	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   315  	//
   316  	// Deprecated: Please use `tags` instead.
   317  	TagsAll pulumi.StringMapInput
   318  	// Transit gateway and network configuration that is used to connect the KX environment to an internal network. Defined below.
   319  	TransitGatewayConfiguration KxEnvironmentTransitGatewayConfigurationPtrInput
   320  }
   321  
   322  func (KxEnvironmentState) ElementType() reflect.Type {
   323  	return reflect.TypeOf((*kxEnvironmentState)(nil)).Elem()
   324  }
   325  
   326  type kxEnvironmentArgs struct {
   327  	// List of DNS server name and server IP. This is used to set up Route-53 outbound resolvers. Defined below.
   328  	CustomDnsConfigurations []KxEnvironmentCustomDnsConfiguration `pulumi:"customDnsConfigurations"`
   329  	// Description for the KX environment.
   330  	Description *string `pulumi:"description"`
   331  	// KMS key ID to encrypt your data in the FinSpace environment.
   332  	//
   333  	// The following arguments are optional:
   334  	KmsKeyId string `pulumi:"kmsKeyId"`
   335  	// Name of the KX environment that you want to create.
   336  	Name *string `pulumi:"name"`
   337  	// Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   338  	Tags map[string]string `pulumi:"tags"`
   339  	// Transit gateway and network configuration that is used to connect the KX environment to an internal network. Defined below.
   340  	TransitGatewayConfiguration *KxEnvironmentTransitGatewayConfiguration `pulumi:"transitGatewayConfiguration"`
   341  }
   342  
   343  // The set of arguments for constructing a KxEnvironment resource.
   344  type KxEnvironmentArgs struct {
   345  	// List of DNS server name and server IP. This is used to set up Route-53 outbound resolvers. Defined below.
   346  	CustomDnsConfigurations KxEnvironmentCustomDnsConfigurationArrayInput
   347  	// Description for the KX environment.
   348  	Description pulumi.StringPtrInput
   349  	// KMS key ID to encrypt your data in the FinSpace environment.
   350  	//
   351  	// The following arguments are optional:
   352  	KmsKeyId pulumi.StringInput
   353  	// Name of the KX environment that you want to create.
   354  	Name pulumi.StringPtrInput
   355  	// Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   356  	Tags pulumi.StringMapInput
   357  	// Transit gateway and network configuration that is used to connect the KX environment to an internal network. Defined below.
   358  	TransitGatewayConfiguration KxEnvironmentTransitGatewayConfigurationPtrInput
   359  }
   360  
   361  func (KxEnvironmentArgs) ElementType() reflect.Type {
   362  	return reflect.TypeOf((*kxEnvironmentArgs)(nil)).Elem()
   363  }
   364  
   365  type KxEnvironmentInput interface {
   366  	pulumi.Input
   367  
   368  	ToKxEnvironmentOutput() KxEnvironmentOutput
   369  	ToKxEnvironmentOutputWithContext(ctx context.Context) KxEnvironmentOutput
   370  }
   371  
   372  func (*KxEnvironment) ElementType() reflect.Type {
   373  	return reflect.TypeOf((**KxEnvironment)(nil)).Elem()
   374  }
   375  
   376  func (i *KxEnvironment) ToKxEnvironmentOutput() KxEnvironmentOutput {
   377  	return i.ToKxEnvironmentOutputWithContext(context.Background())
   378  }
   379  
   380  func (i *KxEnvironment) ToKxEnvironmentOutputWithContext(ctx context.Context) KxEnvironmentOutput {
   381  	return pulumi.ToOutputWithContext(ctx, i).(KxEnvironmentOutput)
   382  }
   383  
   384  // KxEnvironmentArrayInput is an input type that accepts KxEnvironmentArray and KxEnvironmentArrayOutput values.
   385  // You can construct a concrete instance of `KxEnvironmentArrayInput` via:
   386  //
   387  //	KxEnvironmentArray{ KxEnvironmentArgs{...} }
   388  type KxEnvironmentArrayInput interface {
   389  	pulumi.Input
   390  
   391  	ToKxEnvironmentArrayOutput() KxEnvironmentArrayOutput
   392  	ToKxEnvironmentArrayOutputWithContext(context.Context) KxEnvironmentArrayOutput
   393  }
   394  
   395  type KxEnvironmentArray []KxEnvironmentInput
   396  
   397  func (KxEnvironmentArray) ElementType() reflect.Type {
   398  	return reflect.TypeOf((*[]*KxEnvironment)(nil)).Elem()
   399  }
   400  
   401  func (i KxEnvironmentArray) ToKxEnvironmentArrayOutput() KxEnvironmentArrayOutput {
   402  	return i.ToKxEnvironmentArrayOutputWithContext(context.Background())
   403  }
   404  
   405  func (i KxEnvironmentArray) ToKxEnvironmentArrayOutputWithContext(ctx context.Context) KxEnvironmentArrayOutput {
   406  	return pulumi.ToOutputWithContext(ctx, i).(KxEnvironmentArrayOutput)
   407  }
   408  
   409  // KxEnvironmentMapInput is an input type that accepts KxEnvironmentMap and KxEnvironmentMapOutput values.
   410  // You can construct a concrete instance of `KxEnvironmentMapInput` via:
   411  //
   412  //	KxEnvironmentMap{ "key": KxEnvironmentArgs{...} }
   413  type KxEnvironmentMapInput interface {
   414  	pulumi.Input
   415  
   416  	ToKxEnvironmentMapOutput() KxEnvironmentMapOutput
   417  	ToKxEnvironmentMapOutputWithContext(context.Context) KxEnvironmentMapOutput
   418  }
   419  
   420  type KxEnvironmentMap map[string]KxEnvironmentInput
   421  
   422  func (KxEnvironmentMap) ElementType() reflect.Type {
   423  	return reflect.TypeOf((*map[string]*KxEnvironment)(nil)).Elem()
   424  }
   425  
   426  func (i KxEnvironmentMap) ToKxEnvironmentMapOutput() KxEnvironmentMapOutput {
   427  	return i.ToKxEnvironmentMapOutputWithContext(context.Background())
   428  }
   429  
   430  func (i KxEnvironmentMap) ToKxEnvironmentMapOutputWithContext(ctx context.Context) KxEnvironmentMapOutput {
   431  	return pulumi.ToOutputWithContext(ctx, i).(KxEnvironmentMapOutput)
   432  }
   433  
   434  type KxEnvironmentOutput struct{ *pulumi.OutputState }
   435  
   436  func (KxEnvironmentOutput) ElementType() reflect.Type {
   437  	return reflect.TypeOf((**KxEnvironment)(nil)).Elem()
   438  }
   439  
   440  func (o KxEnvironmentOutput) ToKxEnvironmentOutput() KxEnvironmentOutput {
   441  	return o
   442  }
   443  
   444  func (o KxEnvironmentOutput) ToKxEnvironmentOutputWithContext(ctx context.Context) KxEnvironmentOutput {
   445  	return o
   446  }
   447  
   448  // Amazon Resource Name (ARN) identifier of the KX environment.
   449  func (o KxEnvironmentOutput) Arn() pulumi.StringOutput {
   450  	return o.ApplyT(func(v *KxEnvironment) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput)
   451  }
   452  
   453  // AWS Availability Zone IDs that this environment is available in. Important when selecting VPC subnets to use in cluster creation.
   454  func (o KxEnvironmentOutput) AvailabilityZones() pulumi.StringArrayOutput {
   455  	return o.ApplyT(func(v *KxEnvironment) pulumi.StringArrayOutput { return v.AvailabilityZones }).(pulumi.StringArrayOutput)
   456  }
   457  
   458  // Timestamp at which the environment is created in FinSpace. Value determined as epoch time in seconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000.
   459  func (o KxEnvironmentOutput) CreatedTimestamp() pulumi.StringOutput {
   460  	return o.ApplyT(func(v *KxEnvironment) pulumi.StringOutput { return v.CreatedTimestamp }).(pulumi.StringOutput)
   461  }
   462  
   463  // List of DNS server name and server IP. This is used to set up Route-53 outbound resolvers. Defined below.
   464  func (o KxEnvironmentOutput) CustomDnsConfigurations() KxEnvironmentCustomDnsConfigurationArrayOutput {
   465  	return o.ApplyT(func(v *KxEnvironment) KxEnvironmentCustomDnsConfigurationArrayOutput {
   466  		return v.CustomDnsConfigurations
   467  	}).(KxEnvironmentCustomDnsConfigurationArrayOutput)
   468  }
   469  
   470  // Description for the KX environment.
   471  func (o KxEnvironmentOutput) Description() pulumi.StringPtrOutput {
   472  	return o.ApplyT(func(v *KxEnvironment) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput)
   473  }
   474  
   475  // Unique identifier for the AWS environment infrastructure account.
   476  func (o KxEnvironmentOutput) InfrastructureAccountId() pulumi.StringOutput {
   477  	return o.ApplyT(func(v *KxEnvironment) pulumi.StringOutput { return v.InfrastructureAccountId }).(pulumi.StringOutput)
   478  }
   479  
   480  // KMS key ID to encrypt your data in the FinSpace environment.
   481  //
   482  // The following arguments are optional:
   483  func (o KxEnvironmentOutput) KmsKeyId() pulumi.StringOutput {
   484  	return o.ApplyT(func(v *KxEnvironment) pulumi.StringOutput { return v.KmsKeyId }).(pulumi.StringOutput)
   485  }
   486  
   487  // Last timestamp at which the environment was updated in FinSpace. Value determined as epoch time in seconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000.
   488  func (o KxEnvironmentOutput) LastModifiedTimestamp() pulumi.StringOutput {
   489  	return o.ApplyT(func(v *KxEnvironment) pulumi.StringOutput { return v.LastModifiedTimestamp }).(pulumi.StringOutput)
   490  }
   491  
   492  // Name of the KX environment that you want to create.
   493  func (o KxEnvironmentOutput) Name() pulumi.StringOutput {
   494  	return o.ApplyT(func(v *KxEnvironment) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput)
   495  }
   496  
   497  // Status of environment creation
   498  func (o KxEnvironmentOutput) Status() pulumi.StringOutput {
   499  	return o.ApplyT(func(v *KxEnvironment) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput)
   500  }
   501  
   502  // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   503  func (o KxEnvironmentOutput) Tags() pulumi.StringMapOutput {
   504  	return o.ApplyT(func(v *KxEnvironment) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput)
   505  }
   506  
   507  // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   508  //
   509  // Deprecated: Please use `tags` instead.
   510  func (o KxEnvironmentOutput) TagsAll() pulumi.StringMapOutput {
   511  	return o.ApplyT(func(v *KxEnvironment) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput)
   512  }
   513  
   514  // Transit gateway and network configuration that is used to connect the KX environment to an internal network. Defined below.
   515  func (o KxEnvironmentOutput) TransitGatewayConfiguration() KxEnvironmentTransitGatewayConfigurationPtrOutput {
   516  	return o.ApplyT(func(v *KxEnvironment) KxEnvironmentTransitGatewayConfigurationPtrOutput {
   517  		return v.TransitGatewayConfiguration
   518  	}).(KxEnvironmentTransitGatewayConfigurationPtrOutput)
   519  }
   520  
   521  type KxEnvironmentArrayOutput struct{ *pulumi.OutputState }
   522  
   523  func (KxEnvironmentArrayOutput) ElementType() reflect.Type {
   524  	return reflect.TypeOf((*[]*KxEnvironment)(nil)).Elem()
   525  }
   526  
   527  func (o KxEnvironmentArrayOutput) ToKxEnvironmentArrayOutput() KxEnvironmentArrayOutput {
   528  	return o
   529  }
   530  
   531  func (o KxEnvironmentArrayOutput) ToKxEnvironmentArrayOutputWithContext(ctx context.Context) KxEnvironmentArrayOutput {
   532  	return o
   533  }
   534  
   535  func (o KxEnvironmentArrayOutput) Index(i pulumi.IntInput) KxEnvironmentOutput {
   536  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *KxEnvironment {
   537  		return vs[0].([]*KxEnvironment)[vs[1].(int)]
   538  	}).(KxEnvironmentOutput)
   539  }
   540  
   541  type KxEnvironmentMapOutput struct{ *pulumi.OutputState }
   542  
   543  func (KxEnvironmentMapOutput) ElementType() reflect.Type {
   544  	return reflect.TypeOf((*map[string]*KxEnvironment)(nil)).Elem()
   545  }
   546  
   547  func (o KxEnvironmentMapOutput) ToKxEnvironmentMapOutput() KxEnvironmentMapOutput {
   548  	return o
   549  }
   550  
   551  func (o KxEnvironmentMapOutput) ToKxEnvironmentMapOutputWithContext(ctx context.Context) KxEnvironmentMapOutput {
   552  	return o
   553  }
   554  
   555  func (o KxEnvironmentMapOutput) MapIndex(k pulumi.StringInput) KxEnvironmentOutput {
   556  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *KxEnvironment {
   557  		return vs[0].(map[string]*KxEnvironment)[vs[1].(string)]
   558  	}).(KxEnvironmentOutput)
   559  }
   560  
   561  func init() {
   562  	pulumi.RegisterInputType(reflect.TypeOf((*KxEnvironmentInput)(nil)).Elem(), &KxEnvironment{})
   563  	pulumi.RegisterInputType(reflect.TypeOf((*KxEnvironmentArrayInput)(nil)).Elem(), KxEnvironmentArray{})
   564  	pulumi.RegisterInputType(reflect.TypeOf((*KxEnvironmentMapInput)(nil)).Elem(), KxEnvironmentMap{})
   565  	pulumi.RegisterOutputType(KxEnvironmentOutput{})
   566  	pulumi.RegisterOutputType(KxEnvironmentArrayOutput{})
   567  	pulumi.RegisterOutputType(KxEnvironmentMapOutput{})
   568  }