-
Notifications
You must be signed in to change notification settings - Fork 5
/
getNodeClasses.go
92 lines (87 loc) · 3.14 KB
/
getNodeClasses.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package polardb
import (
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"
)
// This data source provides the PolarDB node classes resource available info of Alibaba Cloud.
//
// > **NOTE:** Available in v1.81.0+
//
// ## Example Usage
//
// ```go
// package main
//
// import (
// "github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud"
// "github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/polardb"
// "github.com/pulumi/pulumi/sdk/v2/go/pulumi"
// )
//
// func main() {
// pulumi.Run(func(ctx *pulumi.Context) error {
// opt0 := "PolarDB"
// resourcesZones, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
// AvailableResourceCreation: &opt0,
// }, nil)
// if err != nil {
// return err
// }
// opt1 := resourcesZones.Zones[0].Id
// opt2 := "MySQL"
// opt3 := "5.6"
// resourcesNodeClasses, err := polardb.GetNodeClasses(ctx, &polardb.GetNodeClassesArgs{
// ZoneId: &opt1,
// PayType: "PostPaid",
// DbType: &opt2,
// DbVersion: &opt3,
// }, nil)
// if err != nil {
// return err
// }
// ctx.Export("polardbNodeClasses", resourcesNodeClasses.Classes)
// return nil
// })
// }
// ```
func GetNodeClasses(ctx *pulumi.Context, args *GetNodeClassesArgs, opts ...pulumi.InvokeOption) (*GetNodeClassesResult, error) {
var rv GetNodeClassesResult
err := ctx.Invoke("alicloud:polardb/getNodeClasses:getNodeClasses", args, &rv, opts...)
if err != nil {
return nil, err
}
return &rv, nil
}
// A collection of arguments for invoking getNodeClasses.
type GetNodeClassesArgs struct {
// The PolarDB node class type by the user.
DbNodeClass *string `pulumi:"dbNodeClass"`
// Database type. Options are `MySQL`, `PostgreSQL`, `Oracle`. If dbType is set, dbVersion also needs to be set.
DbType *string `pulumi:"dbType"`
// Database version required by the user. Value options can refer to the latest docs [detail info](https://www.alibabacloud.com/help/doc-detail/98169.htm) `DBVersion`. If dbVersion is set, dbType also needs to be set.
DbVersion *string `pulumi:"dbVersion"`
OutputFile *string `pulumi:"outputFile"`
// Filter the results by charge type. Valid values: `PrePaid` and `PostPaid`.
PayType string `pulumi:"payType"`
// The Region to launch the PolarDB cluster.
RegionId *string `pulumi:"regionId"`
// The Zone to launch the PolarDB cluster.
ZoneId *string `pulumi:"zoneId"`
}
// A collection of values returned by getNodeClasses.
type GetNodeClassesResult struct {
// A list of PolarDB node classes. Each element contains the following attributes:
Classes []GetNodeClassesClass `pulumi:"classes"`
// PolarDB node available class.
DbNodeClass *string `pulumi:"dbNodeClass"`
DbType *string `pulumi:"dbType"`
DbVersion *string `pulumi:"dbVersion"`
// The provider-assigned unique ID for this managed resource.
Id string `pulumi:"id"`
OutputFile *string `pulumi:"outputFile"`
PayType string `pulumi:"payType"`
RegionId *string `pulumi:"regionId"`
// The Zone to launch the PolarDB cluster.
ZoneId *string `pulumi:"zoneId"`
}