github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/docdb/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 docdb
     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 DocumentDB 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/docdb"
    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 := docdb.GetOrderableDbInstance(ctx, &docdb.GetOrderableDbInstanceArgs{
    32  //				Engine:        pulumi.StringRef("docdb"),
    33  //				EngineVersion: pulumi.StringRef("3.6.0"),
    34  //				LicenseModel:  pulumi.StringRef("na"),
    35  //				PreferredInstanceClasses: []string{
    36  //					"db.r5.large",
    37  //					"db.r4.large",
    38  //					"db.t3.medium",
    39  //				},
    40  //			}, nil)
    41  //			if err != nil {
    42  //				return err
    43  //			}
    44  //			return nil
    45  //		})
    46  //	}
    47  //
    48  // ```
    49  // <!--End PulumiCodeChooser -->
    50  func GetOrderableDbInstance(ctx *pulumi.Context, args *GetOrderableDbInstanceArgs, opts ...pulumi.InvokeOption) (*GetOrderableDbInstanceResult, error) {
    51  	opts = internal.PkgInvokeDefaultOpts(opts)
    52  	var rv GetOrderableDbInstanceResult
    53  	err := ctx.Invoke("aws:docdb/getOrderableDbInstance:getOrderableDbInstance", args, &rv, opts...)
    54  	if err != nil {
    55  		return nil, err
    56  	}
    57  	return &rv, nil
    58  }
    59  
    60  // A collection of arguments for invoking getOrderableDbInstance.
    61  type GetOrderableDbInstanceArgs struct {
    62  	// DB engine. Default: `docdb`
    63  	Engine *string `pulumi:"engine"`
    64  	// Version of the DB engine.
    65  	EngineVersion *string `pulumi:"engineVersion"`
    66  	// DB instance class. Examples of classes are `db.r5.12xlarge`, `db.r5.24xlarge`, `db.r5.2xlarge`, `db.r5.4xlarge`, `db.r5.large`, `db.r5.xlarge`, and `db.t3.medium`. (Conflicts with `preferredInstanceClasses`.)
    67  	InstanceClass *string `pulumi:"instanceClass"`
    68  	// License model. Default: `na`
    69  	LicenseModel *string `pulumi:"licenseModel"`
    70  	// Ordered list of preferred DocumentDB 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. (Conflicts with `instanceClass`.)
    71  	PreferredInstanceClasses []string `pulumi:"preferredInstanceClasses"`
    72  	// Enable to show only VPC.
    73  	Vpc *bool `pulumi:"vpc"`
    74  }
    75  
    76  // A collection of values returned by getOrderableDbInstance.
    77  type GetOrderableDbInstanceResult struct {
    78  	// Availability zones where the instance is available.
    79  	AvailabilityZones []string `pulumi:"availabilityZones"`
    80  	Engine            *string  `pulumi:"engine"`
    81  	EngineVersion     string   `pulumi:"engineVersion"`
    82  	// The provider-assigned unique ID for this managed resource.
    83  	Id                       string   `pulumi:"id"`
    84  	InstanceClass            string   `pulumi:"instanceClass"`
    85  	LicenseModel             *string  `pulumi:"licenseModel"`
    86  	PreferredInstanceClasses []string `pulumi:"preferredInstanceClasses"`
    87  	Vpc                      bool     `pulumi:"vpc"`
    88  }
    89  
    90  func GetOrderableDbInstanceOutput(ctx *pulumi.Context, args GetOrderableDbInstanceOutputArgs, opts ...pulumi.InvokeOption) GetOrderableDbInstanceResultOutput {
    91  	return pulumi.ToOutputWithContext(context.Background(), args).
    92  		ApplyT(func(v interface{}) (GetOrderableDbInstanceResult, error) {
    93  			args := v.(GetOrderableDbInstanceArgs)
    94  			r, err := GetOrderableDbInstance(ctx, &args, opts...)
    95  			var s GetOrderableDbInstanceResult
    96  			if r != nil {
    97  				s = *r
    98  			}
    99  			return s, err
   100  		}).(GetOrderableDbInstanceResultOutput)
   101  }
   102  
   103  // A collection of arguments for invoking getOrderableDbInstance.
   104  type GetOrderableDbInstanceOutputArgs struct {
   105  	// DB engine. Default: `docdb`
   106  	Engine pulumi.StringPtrInput `pulumi:"engine"`
   107  	// Version of the DB engine.
   108  	EngineVersion pulumi.StringPtrInput `pulumi:"engineVersion"`
   109  	// DB instance class. Examples of classes are `db.r5.12xlarge`, `db.r5.24xlarge`, `db.r5.2xlarge`, `db.r5.4xlarge`, `db.r5.large`, `db.r5.xlarge`, and `db.t3.medium`. (Conflicts with `preferredInstanceClasses`.)
   110  	InstanceClass pulumi.StringPtrInput `pulumi:"instanceClass"`
   111  	// License model. Default: `na`
   112  	LicenseModel pulumi.StringPtrInput `pulumi:"licenseModel"`
   113  	// Ordered list of preferred DocumentDB 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. (Conflicts with `instanceClass`.)
   114  	PreferredInstanceClasses pulumi.StringArrayInput `pulumi:"preferredInstanceClasses"`
   115  	// Enable to show only VPC.
   116  	Vpc pulumi.BoolPtrInput `pulumi:"vpc"`
   117  }
   118  
   119  func (GetOrderableDbInstanceOutputArgs) ElementType() reflect.Type {
   120  	return reflect.TypeOf((*GetOrderableDbInstanceArgs)(nil)).Elem()
   121  }
   122  
   123  // A collection of values returned by getOrderableDbInstance.
   124  type GetOrderableDbInstanceResultOutput struct{ *pulumi.OutputState }
   125  
   126  func (GetOrderableDbInstanceResultOutput) ElementType() reflect.Type {
   127  	return reflect.TypeOf((*GetOrderableDbInstanceResult)(nil)).Elem()
   128  }
   129  
   130  func (o GetOrderableDbInstanceResultOutput) ToGetOrderableDbInstanceResultOutput() GetOrderableDbInstanceResultOutput {
   131  	return o
   132  }
   133  
   134  func (o GetOrderableDbInstanceResultOutput) ToGetOrderableDbInstanceResultOutputWithContext(ctx context.Context) GetOrderableDbInstanceResultOutput {
   135  	return o
   136  }
   137  
   138  // Availability zones where the instance is available.
   139  func (o GetOrderableDbInstanceResultOutput) AvailabilityZones() pulumi.StringArrayOutput {
   140  	return o.ApplyT(func(v GetOrderableDbInstanceResult) []string { return v.AvailabilityZones }).(pulumi.StringArrayOutput)
   141  }
   142  
   143  func (o GetOrderableDbInstanceResultOutput) Engine() pulumi.StringPtrOutput {
   144  	return o.ApplyT(func(v GetOrderableDbInstanceResult) *string { return v.Engine }).(pulumi.StringPtrOutput)
   145  }
   146  
   147  func (o GetOrderableDbInstanceResultOutput) EngineVersion() pulumi.StringOutput {
   148  	return o.ApplyT(func(v GetOrderableDbInstanceResult) string { return v.EngineVersion }).(pulumi.StringOutput)
   149  }
   150  
   151  // The provider-assigned unique ID for this managed resource.
   152  func (o GetOrderableDbInstanceResultOutput) Id() pulumi.StringOutput {
   153  	return o.ApplyT(func(v GetOrderableDbInstanceResult) string { return v.Id }).(pulumi.StringOutput)
   154  }
   155  
   156  func (o GetOrderableDbInstanceResultOutput) InstanceClass() pulumi.StringOutput {
   157  	return o.ApplyT(func(v GetOrderableDbInstanceResult) string { return v.InstanceClass }).(pulumi.StringOutput)
   158  }
   159  
   160  func (o GetOrderableDbInstanceResultOutput) LicenseModel() pulumi.StringPtrOutput {
   161  	return o.ApplyT(func(v GetOrderableDbInstanceResult) *string { return v.LicenseModel }).(pulumi.StringPtrOutput)
   162  }
   163  
   164  func (o GetOrderableDbInstanceResultOutput) PreferredInstanceClasses() pulumi.StringArrayOutput {
   165  	return o.ApplyT(func(v GetOrderableDbInstanceResult) []string { return v.PreferredInstanceClasses }).(pulumi.StringArrayOutput)
   166  }
   167  
   168  func (o GetOrderableDbInstanceResultOutput) Vpc() pulumi.BoolOutput {
   169  	return o.ApplyT(func(v GetOrderableDbInstanceResult) bool { return v.Vpc }).(pulumi.BoolOutput)
   170  }
   171  
   172  func init() {
   173  	pulumi.RegisterOutputType(GetOrderableDbInstanceResultOutput{})
   174  }