github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/finspace/kxDataview.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 Dataview.
    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/sdk/v3/go/pulumi"
    29  //
    30  // )
    31  //
    32  //	func main() {
    33  //		pulumi.Run(func(ctx *pulumi.Context) error {
    34  //			_, err := finspace.NewKxDataview(ctx, "example", &finspace.KxDataviewArgs{
    35  //				Name:               pulumi.String("my-tf-kx-dataview"),
    36  //				EnvironmentId:      pulumi.Any(exampleAwsFinspaceKxEnvironment.Id),
    37  //				DatabaseName:       pulumi.Any(exampleAwsFinspaceKxDatabase.Name),
    38  //				AvailabilityZoneId: pulumi.String("use1-az2"),
    39  //				Description:        pulumi.String("Terraform managed Kx Dataview"),
    40  //				AzMode:             pulumi.String("SINGLE"),
    41  //				AutoUpdate:         pulumi.Bool(true),
    42  //				SegmentConfigurations: finspace.KxDataviewSegmentConfigurationArray{
    43  //					&finspace.KxDataviewSegmentConfigurationArgs{
    44  //						VolumeName: pulumi.Any(exampleAwsFinspaceKxVolume.Name),
    45  //						DbPaths: pulumi.StringArray{
    46  //							pulumi.String("/*"),
    47  //						},
    48  //					},
    49  //				},
    50  //			})
    51  //			if err != nil {
    52  //				return err
    53  //			}
    54  //			return nil
    55  //		})
    56  //	}
    57  //
    58  // ```
    59  // <!--End PulumiCodeChooser -->
    60  //
    61  // ## Import
    62  //
    63  // Using `pulumi import`, import an AWS FinSpace Kx Cluster using the `id` (environment ID and cluster name, comma-delimited). For example:
    64  //
    65  // ```sh
    66  // $ pulumi import aws:finspace/kxDataview:KxDataview example n3ceo7wqxoxcti5tujqwzs,my-tf-kx-database,my-tf-kx-dataview
    67  // ```
    68  type KxDataview struct {
    69  	pulumi.CustomResourceState
    70  
    71  	// Amazon Resource Name (ARN) identifier of the KX dataview.
    72  	Arn pulumi.StringOutput `pulumi:"arn"`
    73  	// The option to specify whether you want to apply all the future additions and corrections automatically to the dataview, when you ingest new changesets. The default value is false.
    74  	AutoUpdate pulumi.BoolOutput `pulumi:"autoUpdate"`
    75  	// The identifier of the availability zones. If attaching a volume, the volume must be in the same availability zone as the dataview that you are attaching to.
    76  	AvailabilityZoneId pulumi.StringPtrOutput `pulumi:"availabilityZoneId"`
    77  	// The number of availability zones you want to assign per cluster. This can be one of the following:
    78  	AzMode pulumi.StringOutput `pulumi:"azMode"`
    79  	// A unique identifier of the changeset of the database that you want to use to ingest data.
    80  	ChangesetId pulumi.StringPtrOutput `pulumi:"changesetId"`
    81  	// Timestamp at which the dataview was created in FinSpace. Value determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.
    82  	CreatedTimestamp pulumi.StringOutput `pulumi:"createdTimestamp"`
    83  	// The name of the database where you want to create a dataview.
    84  	DatabaseName pulumi.StringOutput `pulumi:"databaseName"`
    85  	// A description for the dataview.
    86  	Description pulumi.StringPtrOutput `pulumi:"description"`
    87  	// Unique identifier for the KX environment.
    88  	EnvironmentId pulumi.StringOutput `pulumi:"environmentId"`
    89  	// The last time that the dataview was updated in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.
    90  	LastModifiedTimestamp pulumi.StringOutput `pulumi:"lastModifiedTimestamp"`
    91  	// A unique identifier for the dataview.
    92  	//
    93  	// The following arguments are optional:
    94  	Name pulumi.StringOutput `pulumi:"name"`
    95  	// The option to specify whether you want to make the dataview writable to perform database maintenance. The following are some considerations related to writable dataviews.
    96  	// * You cannot create partial writable dataviews. When you create writeable dataviews you must provide the entire database path. You cannot perform updates on a writeable dataview. Hence, `autoUpdate` must be set as `false` if `readWrite` is `true` for a dataview.
    97  	// * You must also use a unique volume for creating a writeable dataview. So, if you choose a volume that is already in use by another dataview, the dataview creation fails.
    98  	// * Once you create a dataview as writeable, you cannot change it to read-only. So, you cannot update the `readWrite` parameter later.
    99  	ReadWrite pulumi.BoolPtrOutput `pulumi:"readWrite"`
   100  	// The configuration that contains the database path of the data that you want to place on each selected volume. Each segment must have a unique database path for each volume. If you do not explicitly specify any database path for a volume, they are accessible from the cluster through the default S3/object store segment. See segmentConfigurations below.
   101  	SegmentConfigurations KxDataviewSegmentConfigurationArrayOutput `pulumi:"segmentConfigurations"`
   102  	Status                pulumi.StringOutput                       `pulumi:"status"`
   103  	// 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.
   104  	Tags pulumi.StringMapOutput `pulumi:"tags"`
   105  	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   106  	//
   107  	// Deprecated: Please use `tags` instead.
   108  	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
   109  }
   110  
   111  // NewKxDataview registers a new resource with the given unique name, arguments, and options.
   112  func NewKxDataview(ctx *pulumi.Context,
   113  	name string, args *KxDataviewArgs, opts ...pulumi.ResourceOption) (*KxDataview, error) {
   114  	if args == nil {
   115  		return nil, errors.New("missing one or more required arguments")
   116  	}
   117  
   118  	if args.AutoUpdate == nil {
   119  		return nil, errors.New("invalid value for required argument 'AutoUpdate'")
   120  	}
   121  	if args.AzMode == nil {
   122  		return nil, errors.New("invalid value for required argument 'AzMode'")
   123  	}
   124  	if args.DatabaseName == nil {
   125  		return nil, errors.New("invalid value for required argument 'DatabaseName'")
   126  	}
   127  	if args.EnvironmentId == nil {
   128  		return nil, errors.New("invalid value for required argument 'EnvironmentId'")
   129  	}
   130  	opts = internal.PkgResourceDefaultOpts(opts)
   131  	var resource KxDataview
   132  	err := ctx.RegisterResource("aws:finspace/kxDataview:KxDataview", name, args, &resource, opts...)
   133  	if err != nil {
   134  		return nil, err
   135  	}
   136  	return &resource, nil
   137  }
   138  
   139  // GetKxDataview gets an existing KxDataview resource's state with the given name, ID, and optional
   140  // state properties that are used to uniquely qualify the lookup (nil if not required).
   141  func GetKxDataview(ctx *pulumi.Context,
   142  	name string, id pulumi.IDInput, state *KxDataviewState, opts ...pulumi.ResourceOption) (*KxDataview, error) {
   143  	var resource KxDataview
   144  	err := ctx.ReadResource("aws:finspace/kxDataview:KxDataview", name, id, state, &resource, opts...)
   145  	if err != nil {
   146  		return nil, err
   147  	}
   148  	return &resource, nil
   149  }
   150  
   151  // Input properties used for looking up and filtering KxDataview resources.
   152  type kxDataviewState struct {
   153  	// Amazon Resource Name (ARN) identifier of the KX dataview.
   154  	Arn *string `pulumi:"arn"`
   155  	// The option to specify whether you want to apply all the future additions and corrections automatically to the dataview, when you ingest new changesets. The default value is false.
   156  	AutoUpdate *bool `pulumi:"autoUpdate"`
   157  	// The identifier of the availability zones. If attaching a volume, the volume must be in the same availability zone as the dataview that you are attaching to.
   158  	AvailabilityZoneId *string `pulumi:"availabilityZoneId"`
   159  	// The number of availability zones you want to assign per cluster. This can be one of the following:
   160  	AzMode *string `pulumi:"azMode"`
   161  	// A unique identifier of the changeset of the database that you want to use to ingest data.
   162  	ChangesetId *string `pulumi:"changesetId"`
   163  	// Timestamp at which the dataview was created in FinSpace. Value determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.
   164  	CreatedTimestamp *string `pulumi:"createdTimestamp"`
   165  	// The name of the database where you want to create a dataview.
   166  	DatabaseName *string `pulumi:"databaseName"`
   167  	// A description for the dataview.
   168  	Description *string `pulumi:"description"`
   169  	// Unique identifier for the KX environment.
   170  	EnvironmentId *string `pulumi:"environmentId"`
   171  	// The last time that the dataview was updated in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.
   172  	LastModifiedTimestamp *string `pulumi:"lastModifiedTimestamp"`
   173  	// A unique identifier for the dataview.
   174  	//
   175  	// The following arguments are optional:
   176  	Name *string `pulumi:"name"`
   177  	// The option to specify whether you want to make the dataview writable to perform database maintenance. The following are some considerations related to writable dataviews.
   178  	// * You cannot create partial writable dataviews. When you create writeable dataviews you must provide the entire database path. You cannot perform updates on a writeable dataview. Hence, `autoUpdate` must be set as `false` if `readWrite` is `true` for a dataview.
   179  	// * You must also use a unique volume for creating a writeable dataview. So, if you choose a volume that is already in use by another dataview, the dataview creation fails.
   180  	// * Once you create a dataview as writeable, you cannot change it to read-only. So, you cannot update the `readWrite` parameter later.
   181  	ReadWrite *bool `pulumi:"readWrite"`
   182  	// The configuration that contains the database path of the data that you want to place on each selected volume. Each segment must have a unique database path for each volume. If you do not explicitly specify any database path for a volume, they are accessible from the cluster through the default S3/object store segment. See segmentConfigurations below.
   183  	SegmentConfigurations []KxDataviewSegmentConfiguration `pulumi:"segmentConfigurations"`
   184  	Status                *string                          `pulumi:"status"`
   185  	// 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.
   186  	Tags map[string]string `pulumi:"tags"`
   187  	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   188  	//
   189  	// Deprecated: Please use `tags` instead.
   190  	TagsAll map[string]string `pulumi:"tagsAll"`
   191  }
   192  
   193  type KxDataviewState struct {
   194  	// Amazon Resource Name (ARN) identifier of the KX dataview.
   195  	Arn pulumi.StringPtrInput
   196  	// The option to specify whether you want to apply all the future additions and corrections automatically to the dataview, when you ingest new changesets. The default value is false.
   197  	AutoUpdate pulumi.BoolPtrInput
   198  	// The identifier of the availability zones. If attaching a volume, the volume must be in the same availability zone as the dataview that you are attaching to.
   199  	AvailabilityZoneId pulumi.StringPtrInput
   200  	// The number of availability zones you want to assign per cluster. This can be one of the following:
   201  	AzMode pulumi.StringPtrInput
   202  	// A unique identifier of the changeset of the database that you want to use to ingest data.
   203  	ChangesetId pulumi.StringPtrInput
   204  	// Timestamp at which the dataview was created in FinSpace. Value determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.
   205  	CreatedTimestamp pulumi.StringPtrInput
   206  	// The name of the database where you want to create a dataview.
   207  	DatabaseName pulumi.StringPtrInput
   208  	// A description for the dataview.
   209  	Description pulumi.StringPtrInput
   210  	// Unique identifier for the KX environment.
   211  	EnvironmentId pulumi.StringPtrInput
   212  	// The last time that the dataview was updated in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.
   213  	LastModifiedTimestamp pulumi.StringPtrInput
   214  	// A unique identifier for the dataview.
   215  	//
   216  	// The following arguments are optional:
   217  	Name pulumi.StringPtrInput
   218  	// The option to specify whether you want to make the dataview writable to perform database maintenance. The following are some considerations related to writable dataviews.
   219  	// * You cannot create partial writable dataviews. When you create writeable dataviews you must provide the entire database path. You cannot perform updates on a writeable dataview. Hence, `autoUpdate` must be set as `false` if `readWrite` is `true` for a dataview.
   220  	// * You must also use a unique volume for creating a writeable dataview. So, if you choose a volume that is already in use by another dataview, the dataview creation fails.
   221  	// * Once you create a dataview as writeable, you cannot change it to read-only. So, you cannot update the `readWrite` parameter later.
   222  	ReadWrite pulumi.BoolPtrInput
   223  	// The configuration that contains the database path of the data that you want to place on each selected volume. Each segment must have a unique database path for each volume. If you do not explicitly specify any database path for a volume, they are accessible from the cluster through the default S3/object store segment. See segmentConfigurations below.
   224  	SegmentConfigurations KxDataviewSegmentConfigurationArrayInput
   225  	Status                pulumi.StringPtrInput
   226  	// 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.
   227  	Tags pulumi.StringMapInput
   228  	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   229  	//
   230  	// Deprecated: Please use `tags` instead.
   231  	TagsAll pulumi.StringMapInput
   232  }
   233  
   234  func (KxDataviewState) ElementType() reflect.Type {
   235  	return reflect.TypeOf((*kxDataviewState)(nil)).Elem()
   236  }
   237  
   238  type kxDataviewArgs struct {
   239  	// The option to specify whether you want to apply all the future additions and corrections automatically to the dataview, when you ingest new changesets. The default value is false.
   240  	AutoUpdate bool `pulumi:"autoUpdate"`
   241  	// The identifier of the availability zones. If attaching a volume, the volume must be in the same availability zone as the dataview that you are attaching to.
   242  	AvailabilityZoneId *string `pulumi:"availabilityZoneId"`
   243  	// The number of availability zones you want to assign per cluster. This can be one of the following:
   244  	AzMode string `pulumi:"azMode"`
   245  	// A unique identifier of the changeset of the database that you want to use to ingest data.
   246  	ChangesetId *string `pulumi:"changesetId"`
   247  	// The name of the database where you want to create a dataview.
   248  	DatabaseName string `pulumi:"databaseName"`
   249  	// A description for the dataview.
   250  	Description *string `pulumi:"description"`
   251  	// Unique identifier for the KX environment.
   252  	EnvironmentId string `pulumi:"environmentId"`
   253  	// A unique identifier for the dataview.
   254  	//
   255  	// The following arguments are optional:
   256  	Name *string `pulumi:"name"`
   257  	// The option to specify whether you want to make the dataview writable to perform database maintenance. The following are some considerations related to writable dataviews.
   258  	// * You cannot create partial writable dataviews. When you create writeable dataviews you must provide the entire database path. You cannot perform updates on a writeable dataview. Hence, `autoUpdate` must be set as `false` if `readWrite` is `true` for a dataview.
   259  	// * You must also use a unique volume for creating a writeable dataview. So, if you choose a volume that is already in use by another dataview, the dataview creation fails.
   260  	// * Once you create a dataview as writeable, you cannot change it to read-only. So, you cannot update the `readWrite` parameter later.
   261  	ReadWrite *bool `pulumi:"readWrite"`
   262  	// The configuration that contains the database path of the data that you want to place on each selected volume. Each segment must have a unique database path for each volume. If you do not explicitly specify any database path for a volume, they are accessible from the cluster through the default S3/object store segment. See segmentConfigurations below.
   263  	SegmentConfigurations []KxDataviewSegmentConfiguration `pulumi:"segmentConfigurations"`
   264  	// 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.
   265  	Tags map[string]string `pulumi:"tags"`
   266  }
   267  
   268  // The set of arguments for constructing a KxDataview resource.
   269  type KxDataviewArgs struct {
   270  	// The option to specify whether you want to apply all the future additions and corrections automatically to the dataview, when you ingest new changesets. The default value is false.
   271  	AutoUpdate pulumi.BoolInput
   272  	// The identifier of the availability zones. If attaching a volume, the volume must be in the same availability zone as the dataview that you are attaching to.
   273  	AvailabilityZoneId pulumi.StringPtrInput
   274  	// The number of availability zones you want to assign per cluster. This can be one of the following:
   275  	AzMode pulumi.StringInput
   276  	// A unique identifier of the changeset of the database that you want to use to ingest data.
   277  	ChangesetId pulumi.StringPtrInput
   278  	// The name of the database where you want to create a dataview.
   279  	DatabaseName pulumi.StringInput
   280  	// A description for the dataview.
   281  	Description pulumi.StringPtrInput
   282  	// Unique identifier for the KX environment.
   283  	EnvironmentId pulumi.StringInput
   284  	// A unique identifier for the dataview.
   285  	//
   286  	// The following arguments are optional:
   287  	Name pulumi.StringPtrInput
   288  	// The option to specify whether you want to make the dataview writable to perform database maintenance. The following are some considerations related to writable dataviews.
   289  	// * You cannot create partial writable dataviews. When you create writeable dataviews you must provide the entire database path. You cannot perform updates on a writeable dataview. Hence, `autoUpdate` must be set as `false` if `readWrite` is `true` for a dataview.
   290  	// * You must also use a unique volume for creating a writeable dataview. So, if you choose a volume that is already in use by another dataview, the dataview creation fails.
   291  	// * Once you create a dataview as writeable, you cannot change it to read-only. So, you cannot update the `readWrite` parameter later.
   292  	ReadWrite pulumi.BoolPtrInput
   293  	// The configuration that contains the database path of the data that you want to place on each selected volume. Each segment must have a unique database path for each volume. If you do not explicitly specify any database path for a volume, they are accessible from the cluster through the default S3/object store segment. See segmentConfigurations below.
   294  	SegmentConfigurations KxDataviewSegmentConfigurationArrayInput
   295  	// 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.
   296  	Tags pulumi.StringMapInput
   297  }
   298  
   299  func (KxDataviewArgs) ElementType() reflect.Type {
   300  	return reflect.TypeOf((*kxDataviewArgs)(nil)).Elem()
   301  }
   302  
   303  type KxDataviewInput interface {
   304  	pulumi.Input
   305  
   306  	ToKxDataviewOutput() KxDataviewOutput
   307  	ToKxDataviewOutputWithContext(ctx context.Context) KxDataviewOutput
   308  }
   309  
   310  func (*KxDataview) ElementType() reflect.Type {
   311  	return reflect.TypeOf((**KxDataview)(nil)).Elem()
   312  }
   313  
   314  func (i *KxDataview) ToKxDataviewOutput() KxDataviewOutput {
   315  	return i.ToKxDataviewOutputWithContext(context.Background())
   316  }
   317  
   318  func (i *KxDataview) ToKxDataviewOutputWithContext(ctx context.Context) KxDataviewOutput {
   319  	return pulumi.ToOutputWithContext(ctx, i).(KxDataviewOutput)
   320  }
   321  
   322  // KxDataviewArrayInput is an input type that accepts KxDataviewArray and KxDataviewArrayOutput values.
   323  // You can construct a concrete instance of `KxDataviewArrayInput` via:
   324  //
   325  //	KxDataviewArray{ KxDataviewArgs{...} }
   326  type KxDataviewArrayInput interface {
   327  	pulumi.Input
   328  
   329  	ToKxDataviewArrayOutput() KxDataviewArrayOutput
   330  	ToKxDataviewArrayOutputWithContext(context.Context) KxDataviewArrayOutput
   331  }
   332  
   333  type KxDataviewArray []KxDataviewInput
   334  
   335  func (KxDataviewArray) ElementType() reflect.Type {
   336  	return reflect.TypeOf((*[]*KxDataview)(nil)).Elem()
   337  }
   338  
   339  func (i KxDataviewArray) ToKxDataviewArrayOutput() KxDataviewArrayOutput {
   340  	return i.ToKxDataviewArrayOutputWithContext(context.Background())
   341  }
   342  
   343  func (i KxDataviewArray) ToKxDataviewArrayOutputWithContext(ctx context.Context) KxDataviewArrayOutput {
   344  	return pulumi.ToOutputWithContext(ctx, i).(KxDataviewArrayOutput)
   345  }
   346  
   347  // KxDataviewMapInput is an input type that accepts KxDataviewMap and KxDataviewMapOutput values.
   348  // You can construct a concrete instance of `KxDataviewMapInput` via:
   349  //
   350  //	KxDataviewMap{ "key": KxDataviewArgs{...} }
   351  type KxDataviewMapInput interface {
   352  	pulumi.Input
   353  
   354  	ToKxDataviewMapOutput() KxDataviewMapOutput
   355  	ToKxDataviewMapOutputWithContext(context.Context) KxDataviewMapOutput
   356  }
   357  
   358  type KxDataviewMap map[string]KxDataviewInput
   359  
   360  func (KxDataviewMap) ElementType() reflect.Type {
   361  	return reflect.TypeOf((*map[string]*KxDataview)(nil)).Elem()
   362  }
   363  
   364  func (i KxDataviewMap) ToKxDataviewMapOutput() KxDataviewMapOutput {
   365  	return i.ToKxDataviewMapOutputWithContext(context.Background())
   366  }
   367  
   368  func (i KxDataviewMap) ToKxDataviewMapOutputWithContext(ctx context.Context) KxDataviewMapOutput {
   369  	return pulumi.ToOutputWithContext(ctx, i).(KxDataviewMapOutput)
   370  }
   371  
   372  type KxDataviewOutput struct{ *pulumi.OutputState }
   373  
   374  func (KxDataviewOutput) ElementType() reflect.Type {
   375  	return reflect.TypeOf((**KxDataview)(nil)).Elem()
   376  }
   377  
   378  func (o KxDataviewOutput) ToKxDataviewOutput() KxDataviewOutput {
   379  	return o
   380  }
   381  
   382  func (o KxDataviewOutput) ToKxDataviewOutputWithContext(ctx context.Context) KxDataviewOutput {
   383  	return o
   384  }
   385  
   386  // Amazon Resource Name (ARN) identifier of the KX dataview.
   387  func (o KxDataviewOutput) Arn() pulumi.StringOutput {
   388  	return o.ApplyT(func(v *KxDataview) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput)
   389  }
   390  
   391  // The option to specify whether you want to apply all the future additions and corrections automatically to the dataview, when you ingest new changesets. The default value is false.
   392  func (o KxDataviewOutput) AutoUpdate() pulumi.BoolOutput {
   393  	return o.ApplyT(func(v *KxDataview) pulumi.BoolOutput { return v.AutoUpdate }).(pulumi.BoolOutput)
   394  }
   395  
   396  // The identifier of the availability zones. If attaching a volume, the volume must be in the same availability zone as the dataview that you are attaching to.
   397  func (o KxDataviewOutput) AvailabilityZoneId() pulumi.StringPtrOutput {
   398  	return o.ApplyT(func(v *KxDataview) pulumi.StringPtrOutput { return v.AvailabilityZoneId }).(pulumi.StringPtrOutput)
   399  }
   400  
   401  // The number of availability zones you want to assign per cluster. This can be one of the following:
   402  func (o KxDataviewOutput) AzMode() pulumi.StringOutput {
   403  	return o.ApplyT(func(v *KxDataview) pulumi.StringOutput { return v.AzMode }).(pulumi.StringOutput)
   404  }
   405  
   406  // A unique identifier of the changeset of the database that you want to use to ingest data.
   407  func (o KxDataviewOutput) ChangesetId() pulumi.StringPtrOutput {
   408  	return o.ApplyT(func(v *KxDataview) pulumi.StringPtrOutput { return v.ChangesetId }).(pulumi.StringPtrOutput)
   409  }
   410  
   411  // Timestamp at which the dataview was created in FinSpace. Value determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.
   412  func (o KxDataviewOutput) CreatedTimestamp() pulumi.StringOutput {
   413  	return o.ApplyT(func(v *KxDataview) pulumi.StringOutput { return v.CreatedTimestamp }).(pulumi.StringOutput)
   414  }
   415  
   416  // The name of the database where you want to create a dataview.
   417  func (o KxDataviewOutput) DatabaseName() pulumi.StringOutput {
   418  	return o.ApplyT(func(v *KxDataview) pulumi.StringOutput { return v.DatabaseName }).(pulumi.StringOutput)
   419  }
   420  
   421  // A description for the dataview.
   422  func (o KxDataviewOutput) Description() pulumi.StringPtrOutput {
   423  	return o.ApplyT(func(v *KxDataview) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput)
   424  }
   425  
   426  // Unique identifier for the KX environment.
   427  func (o KxDataviewOutput) EnvironmentId() pulumi.StringOutput {
   428  	return o.ApplyT(func(v *KxDataview) pulumi.StringOutput { return v.EnvironmentId }).(pulumi.StringOutput)
   429  }
   430  
   431  // The last time that the dataview was updated in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.
   432  func (o KxDataviewOutput) LastModifiedTimestamp() pulumi.StringOutput {
   433  	return o.ApplyT(func(v *KxDataview) pulumi.StringOutput { return v.LastModifiedTimestamp }).(pulumi.StringOutput)
   434  }
   435  
   436  // A unique identifier for the dataview.
   437  //
   438  // The following arguments are optional:
   439  func (o KxDataviewOutput) Name() pulumi.StringOutput {
   440  	return o.ApplyT(func(v *KxDataview) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput)
   441  }
   442  
   443  // The option to specify whether you want to make the dataview writable to perform database maintenance. The following are some considerations related to writable dataviews.
   444  // * You cannot create partial writable dataviews. When you create writeable dataviews you must provide the entire database path. You cannot perform updates on a writeable dataview. Hence, `autoUpdate` must be set as `false` if `readWrite` is `true` for a dataview.
   445  // * You must also use a unique volume for creating a writeable dataview. So, if you choose a volume that is already in use by another dataview, the dataview creation fails.
   446  // * Once you create a dataview as writeable, you cannot change it to read-only. So, you cannot update the `readWrite` parameter later.
   447  func (o KxDataviewOutput) ReadWrite() pulumi.BoolPtrOutput {
   448  	return o.ApplyT(func(v *KxDataview) pulumi.BoolPtrOutput { return v.ReadWrite }).(pulumi.BoolPtrOutput)
   449  }
   450  
   451  // The configuration that contains the database path of the data that you want to place on each selected volume. Each segment must have a unique database path for each volume. If you do not explicitly specify any database path for a volume, they are accessible from the cluster through the default S3/object store segment. See segmentConfigurations below.
   452  func (o KxDataviewOutput) SegmentConfigurations() KxDataviewSegmentConfigurationArrayOutput {
   453  	return o.ApplyT(func(v *KxDataview) KxDataviewSegmentConfigurationArrayOutput { return v.SegmentConfigurations }).(KxDataviewSegmentConfigurationArrayOutput)
   454  }
   455  
   456  func (o KxDataviewOutput) Status() pulumi.StringOutput {
   457  	return o.ApplyT(func(v *KxDataview) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput)
   458  }
   459  
   460  // 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.
   461  func (o KxDataviewOutput) Tags() pulumi.StringMapOutput {
   462  	return o.ApplyT(func(v *KxDataview) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput)
   463  }
   464  
   465  // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   466  //
   467  // Deprecated: Please use `tags` instead.
   468  func (o KxDataviewOutput) TagsAll() pulumi.StringMapOutput {
   469  	return o.ApplyT(func(v *KxDataview) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput)
   470  }
   471  
   472  type KxDataviewArrayOutput struct{ *pulumi.OutputState }
   473  
   474  func (KxDataviewArrayOutput) ElementType() reflect.Type {
   475  	return reflect.TypeOf((*[]*KxDataview)(nil)).Elem()
   476  }
   477  
   478  func (o KxDataviewArrayOutput) ToKxDataviewArrayOutput() KxDataviewArrayOutput {
   479  	return o
   480  }
   481  
   482  func (o KxDataviewArrayOutput) ToKxDataviewArrayOutputWithContext(ctx context.Context) KxDataviewArrayOutput {
   483  	return o
   484  }
   485  
   486  func (o KxDataviewArrayOutput) Index(i pulumi.IntInput) KxDataviewOutput {
   487  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *KxDataview {
   488  		return vs[0].([]*KxDataview)[vs[1].(int)]
   489  	}).(KxDataviewOutput)
   490  }
   491  
   492  type KxDataviewMapOutput struct{ *pulumi.OutputState }
   493  
   494  func (KxDataviewMapOutput) ElementType() reflect.Type {
   495  	return reflect.TypeOf((*map[string]*KxDataview)(nil)).Elem()
   496  }
   497  
   498  func (o KxDataviewMapOutput) ToKxDataviewMapOutput() KxDataviewMapOutput {
   499  	return o
   500  }
   501  
   502  func (o KxDataviewMapOutput) ToKxDataviewMapOutputWithContext(ctx context.Context) KxDataviewMapOutput {
   503  	return o
   504  }
   505  
   506  func (o KxDataviewMapOutput) MapIndex(k pulumi.StringInput) KxDataviewOutput {
   507  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *KxDataview {
   508  		return vs[0].(map[string]*KxDataview)[vs[1].(string)]
   509  	}).(KxDataviewOutput)
   510  }
   511  
   512  func init() {
   513  	pulumi.RegisterInputType(reflect.TypeOf((*KxDataviewInput)(nil)).Elem(), &KxDataview{})
   514  	pulumi.RegisterInputType(reflect.TypeOf((*KxDataviewArrayInput)(nil)).Elem(), KxDataviewArray{})
   515  	pulumi.RegisterInputType(reflect.TypeOf((*KxDataviewMapInput)(nil)).Elem(), KxDataviewMap{})
   516  	pulumi.RegisterOutputType(KxDataviewOutput{})
   517  	pulumi.RegisterOutputType(KxDataviewArrayOutput{})
   518  	pulumi.RegisterOutputType(KxDataviewMapOutput{})
   519  }