github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/neptune/getOrderableDbInstance.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 neptune
     5  
     6  import (
     7  	"context"
     8  	"reflect"
     9  
    10  	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal"
    11  	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    12  )
    13  
    14  // Information about Neptune orderable DB instances.
    15  //
    16  // ## Example Usage
    17  //
    18  // <!--Start PulumiCodeChooser -->
    19  // ```go
    20  // package main
    21  //
    22  // import (
    23  //
    24  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/neptune"
    25  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    26  //
    27  // )
    28  //
    29  //	func main() {
    30  //		pulumi.Run(func(ctx *pulumi.Context) error {
    31  //			_, err := neptune.GetOrderableDbInstance(ctx, &neptune.GetOrderableDbInstanceArgs{
    32  //				EngineVersion: pulumi.StringRef("1.0.3.0"),
    33  //				PreferredInstanceClasses: []string{
    34  //					"db.r5.large",
    35  //					"db.r4.large",
    36  //					"db.t3.medium",
    37  //				},
    38  //			}, nil)
    39  //			if err != nil {
    40  //				return err
    41  //			}
    42  //			return nil
    43  //		})
    44  //	}
    45  //
    46  // ```
    47  // <!--End PulumiCodeChooser -->
    48  func GetOrderableDbInstance(ctx *pulumi.Context, args *GetOrderableDbInstanceArgs, opts ...pulumi.InvokeOption) (*GetOrderableDbInstanceResult, error) {
    49  	opts = internal.PkgInvokeDefaultOpts(opts)
    50  	var rv GetOrderableDbInstanceResult
    51  	err := ctx.Invoke("aws:neptune/getOrderableDbInstance:getOrderableDbInstance", args, &rv, opts...)
    52  	if err != nil {
    53  		return nil, err
    54  	}
    55  	return &rv, nil
    56  }
    57  
    58  // A collection of arguments for invoking getOrderableDbInstance.
    59  type GetOrderableDbInstanceArgs struct {
    60  	// DB engine. (Default: `neptune`)
    61  	Engine *string `pulumi:"engine"`
    62  	// Version of the DB engine. For example, `1.0.1.0`, `1.0.1.2`, `1.0.2.2`, and `1.0.3.0`.
    63  	EngineVersion *string `pulumi:"engineVersion"`
    64  	// DB instance class. Examples of classes are `db.r5.large`, `db.r5.xlarge`, `db.r4.large`, `db.r5.4xlarge`, `db.r5.12xlarge`, `db.r4.xlarge`, and `db.t3.medium`.
    65  	InstanceClass *string `pulumi:"instanceClass"`
    66  	// License model. (Default: `amazon-license`)
    67  	LicenseModel *string `pulumi:"licenseModel"`
    68  	// Ordered list of preferred Neptune DB instance classes. The first match in this list will be returned. If no preferred matches are found and the original search returned more than one result, an error is returned.
    69  	PreferredInstanceClasses []string `pulumi:"preferredInstanceClasses"`
    70  	// Enable to show only VPC offerings.
    71  	Vpc *bool `pulumi:"vpc"`
    72  }
    73  
    74  // A collection of values returned by getOrderableDbInstance.
    75  type GetOrderableDbInstanceResult struct {
    76  	// Availability zones where the instance is available.
    77  	AvailabilityZones []string `pulumi:"availabilityZones"`
    78  	Engine            *string  `pulumi:"engine"`
    79  	EngineVersion     string   `pulumi:"engineVersion"`
    80  	// The provider-assigned unique ID for this managed resource.
    81  	Id            string  `pulumi:"id"`
    82  	InstanceClass string  `pulumi:"instanceClass"`
    83  	LicenseModel  *string `pulumi:"licenseModel"`
    84  	// Maximum total provisioned IOPS for a DB instance.
    85  	MaxIopsPerDbInstance int `pulumi:"maxIopsPerDbInstance"`
    86  	// Maximum provisioned IOPS per GiB for a DB instance.
    87  	MaxIopsPerGib float64 `pulumi:"maxIopsPerGib"`
    88  	// Maximum storage size for a DB instance.
    89  	MaxStorageSize int `pulumi:"maxStorageSize"`
    90  	// Minimum total provisioned IOPS for a DB instance.
    91  	MinIopsPerDbInstance int `pulumi:"minIopsPerDbInstance"`
    92  	// Minimum provisioned IOPS per GiB for a DB instance.
    93  	MinIopsPerGib float64 `pulumi:"minIopsPerGib"`
    94  	// Minimum storage size for a DB instance.
    95  	MinStorageSize int `pulumi:"minStorageSize"`
    96  	// Whether a DB instance is Multi-AZ capable.
    97  	MultiAzCapable           bool     `pulumi:"multiAzCapable"`
    98  	PreferredInstanceClasses []string `pulumi:"preferredInstanceClasses"`
    99  	// Whether a DB instance can have a read replica.
   100  	ReadReplicaCapable bool `pulumi:"readReplicaCapable"`
   101  	// Storage type for a DB instance.
   102  	StorageType string `pulumi:"storageType"`
   103  	// Whether a DB instance supports Enhanced Monitoring at intervals from 1 to 60 seconds.
   104  	SupportsEnhancedMonitoring bool `pulumi:"supportsEnhancedMonitoring"`
   105  	// Whether a DB instance supports IAM database authentication.
   106  	SupportsIamDatabaseAuthentication bool `pulumi:"supportsIamDatabaseAuthentication"`
   107  	// Whether a DB instance supports provisioned IOPS.
   108  	SupportsIops bool `pulumi:"supportsIops"`
   109  	// Whether a DB instance supports Performance Insights.
   110  	SupportsPerformanceInsights bool `pulumi:"supportsPerformanceInsights"`
   111  	// Whether a DB instance supports encrypted storage.
   112  	SupportsStorageEncryption bool `pulumi:"supportsStorageEncryption"`
   113  	Vpc                       bool `pulumi:"vpc"`
   114  }
   115  
   116  func GetOrderableDbInstanceOutput(ctx *pulumi.Context, args GetOrderableDbInstanceOutputArgs, opts ...pulumi.InvokeOption) GetOrderableDbInstanceResultOutput {
   117  	return pulumi.ToOutputWithContext(context.Background(), args).
   118  		ApplyT(func(v interface{}) (GetOrderableDbInstanceResult, error) {
   119  			args := v.(GetOrderableDbInstanceArgs)
   120  			r, err := GetOrderableDbInstance(ctx, &args, opts...)
   121  			var s GetOrderableDbInstanceResult
   122  			if r != nil {
   123  				s = *r
   124  			}
   125  			return s, err
   126  		}).(GetOrderableDbInstanceResultOutput)
   127  }
   128  
   129  // A collection of arguments for invoking getOrderableDbInstance.
   130  type GetOrderableDbInstanceOutputArgs struct {
   131  	// DB engine. (Default: `neptune`)
   132  	Engine pulumi.StringPtrInput `pulumi:"engine"`
   133  	// Version of the DB engine. For example, `1.0.1.0`, `1.0.1.2`, `1.0.2.2`, and `1.0.3.0`.
   134  	EngineVersion pulumi.StringPtrInput `pulumi:"engineVersion"`
   135  	// DB instance class. Examples of classes are `db.r5.large`, `db.r5.xlarge`, `db.r4.large`, `db.r5.4xlarge`, `db.r5.12xlarge`, `db.r4.xlarge`, and `db.t3.medium`.
   136  	InstanceClass pulumi.StringPtrInput `pulumi:"instanceClass"`
   137  	// License model. (Default: `amazon-license`)
   138  	LicenseModel pulumi.StringPtrInput `pulumi:"licenseModel"`
   139  	// Ordered list of preferred Neptune DB instance classes. The first match in this list will be returned. If no preferred matches are found and the original search returned more than one result, an error is returned.
   140  	PreferredInstanceClasses pulumi.StringArrayInput `pulumi:"preferredInstanceClasses"`
   141  	// Enable to show only VPC offerings.
   142  	Vpc pulumi.BoolPtrInput `pulumi:"vpc"`
   143  }
   144  
   145  func (GetOrderableDbInstanceOutputArgs) ElementType() reflect.Type {
   146  	return reflect.TypeOf((*GetOrderableDbInstanceArgs)(nil)).Elem()
   147  }
   148  
   149  // A collection of values returned by getOrderableDbInstance.
   150  type GetOrderableDbInstanceResultOutput struct{ *pulumi.OutputState }
   151  
   152  func (GetOrderableDbInstanceResultOutput) ElementType() reflect.Type {
   153  	return reflect.TypeOf((*GetOrderableDbInstanceResult)(nil)).Elem()
   154  }
   155  
   156  func (o GetOrderableDbInstanceResultOutput) ToGetOrderableDbInstanceResultOutput() GetOrderableDbInstanceResultOutput {
   157  	return o
   158  }
   159  
   160  func (o GetOrderableDbInstanceResultOutput) ToGetOrderableDbInstanceResultOutputWithContext(ctx context.Context) GetOrderableDbInstanceResultOutput {
   161  	return o
   162  }
   163  
   164  // Availability zones where the instance is available.
   165  func (o GetOrderableDbInstanceResultOutput) AvailabilityZones() pulumi.StringArrayOutput {
   166  	return o.ApplyT(func(v GetOrderableDbInstanceResult) []string { return v.AvailabilityZones }).(pulumi.StringArrayOutput)
   167  }
   168  
   169  func (o GetOrderableDbInstanceResultOutput) Engine() pulumi.StringPtrOutput {
   170  	return o.ApplyT(func(v GetOrderableDbInstanceResult) *string { return v.Engine }).(pulumi.StringPtrOutput)
   171  }
   172  
   173  func (o GetOrderableDbInstanceResultOutput) EngineVersion() pulumi.StringOutput {
   174  	return o.ApplyT(func(v GetOrderableDbInstanceResult) string { return v.EngineVersion }).(pulumi.StringOutput)
   175  }
   176  
   177  // The provider-assigned unique ID for this managed resource.
   178  func (o GetOrderableDbInstanceResultOutput) Id() pulumi.StringOutput {
   179  	return o.ApplyT(func(v GetOrderableDbInstanceResult) string { return v.Id }).(pulumi.StringOutput)
   180  }
   181  
   182  func (o GetOrderableDbInstanceResultOutput) InstanceClass() pulumi.StringOutput {
   183  	return o.ApplyT(func(v GetOrderableDbInstanceResult) string { return v.InstanceClass }).(pulumi.StringOutput)
   184  }
   185  
   186  func (o GetOrderableDbInstanceResultOutput) LicenseModel() pulumi.StringPtrOutput {
   187  	return o.ApplyT(func(v GetOrderableDbInstanceResult) *string { return v.LicenseModel }).(pulumi.StringPtrOutput)
   188  }
   189  
   190  // Maximum total provisioned IOPS for a DB instance.
   191  func (o GetOrderableDbInstanceResultOutput) MaxIopsPerDbInstance() pulumi.IntOutput {
   192  	return o.ApplyT(func(v GetOrderableDbInstanceResult) int { return v.MaxIopsPerDbInstance }).(pulumi.IntOutput)
   193  }
   194  
   195  // Maximum provisioned IOPS per GiB for a DB instance.
   196  func (o GetOrderableDbInstanceResultOutput) MaxIopsPerGib() pulumi.Float64Output {
   197  	return o.ApplyT(func(v GetOrderableDbInstanceResult) float64 { return v.MaxIopsPerGib }).(pulumi.Float64Output)
   198  }
   199  
   200  // Maximum storage size for a DB instance.
   201  func (o GetOrderableDbInstanceResultOutput) MaxStorageSize() pulumi.IntOutput {
   202  	return o.ApplyT(func(v GetOrderableDbInstanceResult) int { return v.MaxStorageSize }).(pulumi.IntOutput)
   203  }
   204  
   205  // Minimum total provisioned IOPS for a DB instance.
   206  func (o GetOrderableDbInstanceResultOutput) MinIopsPerDbInstance() pulumi.IntOutput {
   207  	return o.ApplyT(func(v GetOrderableDbInstanceResult) int { return v.MinIopsPerDbInstance }).(pulumi.IntOutput)
   208  }
   209  
   210  // Minimum provisioned IOPS per GiB for a DB instance.
   211  func (o GetOrderableDbInstanceResultOutput) MinIopsPerGib() pulumi.Float64Output {
   212  	return o.ApplyT(func(v GetOrderableDbInstanceResult) float64 { return v.MinIopsPerGib }).(pulumi.Float64Output)
   213  }
   214  
   215  // Minimum storage size for a DB instance.
   216  func (o GetOrderableDbInstanceResultOutput) MinStorageSize() pulumi.IntOutput {
   217  	return o.ApplyT(func(v GetOrderableDbInstanceResult) int { return v.MinStorageSize }).(pulumi.IntOutput)
   218  }
   219  
   220  // Whether a DB instance is Multi-AZ capable.
   221  func (o GetOrderableDbInstanceResultOutput) MultiAzCapable() pulumi.BoolOutput {
   222  	return o.ApplyT(func(v GetOrderableDbInstanceResult) bool { return v.MultiAzCapable }).(pulumi.BoolOutput)
   223  }
   224  
   225  func (o GetOrderableDbInstanceResultOutput) PreferredInstanceClasses() pulumi.StringArrayOutput {
   226  	return o.ApplyT(func(v GetOrderableDbInstanceResult) []string { return v.PreferredInstanceClasses }).(pulumi.StringArrayOutput)
   227  }
   228  
   229  // Whether a DB instance can have a read replica.
   230  func (o GetOrderableDbInstanceResultOutput) ReadReplicaCapable() pulumi.BoolOutput {
   231  	return o.ApplyT(func(v GetOrderableDbInstanceResult) bool { return v.ReadReplicaCapable }).(pulumi.BoolOutput)
   232  }
   233  
   234  // Storage type for a DB instance.
   235  func (o GetOrderableDbInstanceResultOutput) StorageType() pulumi.StringOutput {
   236  	return o.ApplyT(func(v GetOrderableDbInstanceResult) string { return v.StorageType }).(pulumi.StringOutput)
   237  }
   238  
   239  // Whether a DB instance supports Enhanced Monitoring at intervals from 1 to 60 seconds.
   240  func (o GetOrderableDbInstanceResultOutput) SupportsEnhancedMonitoring() pulumi.BoolOutput {
   241  	return o.ApplyT(func(v GetOrderableDbInstanceResult) bool { return v.SupportsEnhancedMonitoring }).(pulumi.BoolOutput)
   242  }
   243  
   244  // Whether a DB instance supports IAM database authentication.
   245  func (o GetOrderableDbInstanceResultOutput) SupportsIamDatabaseAuthentication() pulumi.BoolOutput {
   246  	return o.ApplyT(func(v GetOrderableDbInstanceResult) bool { return v.SupportsIamDatabaseAuthentication }).(pulumi.BoolOutput)
   247  }
   248  
   249  // Whether a DB instance supports provisioned IOPS.
   250  func (o GetOrderableDbInstanceResultOutput) SupportsIops() pulumi.BoolOutput {
   251  	return o.ApplyT(func(v GetOrderableDbInstanceResult) bool { return v.SupportsIops }).(pulumi.BoolOutput)
   252  }
   253  
   254  // Whether a DB instance supports Performance Insights.
   255  func (o GetOrderableDbInstanceResultOutput) SupportsPerformanceInsights() pulumi.BoolOutput {
   256  	return o.ApplyT(func(v GetOrderableDbInstanceResult) bool { return v.SupportsPerformanceInsights }).(pulumi.BoolOutput)
   257  }
   258  
   259  // Whether a DB instance supports encrypted storage.
   260  func (o GetOrderableDbInstanceResultOutput) SupportsStorageEncryption() pulumi.BoolOutput {
   261  	return o.ApplyT(func(v GetOrderableDbInstanceResult) bool { return v.SupportsStorageEncryption }).(pulumi.BoolOutput)
   262  }
   263  
   264  func (o GetOrderableDbInstanceResultOutput) Vpc() pulumi.BoolOutput {
   265  	return o.ApplyT(func(v GetOrderableDbInstanceResult) bool { return v.Vpc }).(pulumi.BoolOutput)
   266  }
   267  
   268  func init() {
   269  	pulumi.RegisterOutputType(GetOrderableDbInstanceResultOutput{})
   270  }