|
7 | 7 | "context" |
8 | 8 | "log" |
9 | 9 |
|
| 10 | + "github.com/YakDriver/regexache" |
10 | 11 | "github.com/aws/aws-sdk-go-v2/aws" |
11 | 12 | "github.com/aws/aws-sdk-go-v2/service/opensearch" |
12 | 13 | awstypes "github.com/aws/aws-sdk-go-v2/service/opensearch/types" |
@@ -39,6 +40,12 @@ func resourcePackage() *schema.Resource { |
39 | 40 | Type: schema.TypeString, |
40 | 41 | Computed: true, |
41 | 42 | }, |
| 43 | + "engine_version": { |
| 44 | + Type: schema.TypeString, |
| 45 | + Optional: true, |
| 46 | + ForceNew: true, |
| 47 | + ValidateFunc: validation.StringMatch(regexache.MustCompile(`^Elasticsearch_[0-9]{1}\.[0-9]{1,2}$|^OpenSearch_[0-9]{1,2}\.[0-9]{1,2}$`), "must be in the format 'Elasticsearch_X.Y' or 'OpenSearch_X.Y'"), |
| 48 | + }, |
42 | 49 | "package_description": { |
43 | 50 | Type: schema.TypeString, |
44 | 51 | Optional: true, |
@@ -94,6 +101,10 @@ func resourcePackageCreate(ctx context.Context, d *schema.ResourceData, meta any |
94 | 101 | PackageType: awstypes.PackageType(d.Get("package_type").(string)), |
95 | 102 | } |
96 | 103 |
|
| 104 | + if v, ok := d.GetOk("engine_version"); ok { |
| 105 | + input.EngineVersion = aws.String(v.(string)) |
| 106 | + } |
| 107 | + |
97 | 108 | if v, ok := d.GetOk("package_source"); ok { |
98 | 109 | input.PackageSource = expandPackageSource(v.([]any)[0].(map[string]any)) |
99 | 110 | } |
@@ -126,6 +137,7 @@ func resourcePackageRead(ctx context.Context, d *schema.ResourceData, meta any) |
126 | 137 | } |
127 | 138 |
|
128 | 139 | d.Set("available_package_version", pkg.AvailablePackageVersion) |
| 140 | + d.Set("engine_version", pkg.EngineVersion) |
129 | 141 | d.Set("package_description", pkg.PackageDescription) |
130 | 142 | d.Set("package_id", pkg.PackageID) |
131 | 143 | d.Set("package_name", pkg.PackageName) |
|
0 commit comments