Skip to content

Commit 9192723

Browse files
JumiDeluxeScottSuarez
authored andcommitted
Promote gemini_* resources to ga (GoogleCloudPlatform#12747)
Co-authored-by: Scott Suarez <[email protected]>
1 parent 4384eda commit 9192723

9 files changed

+60
-111
lines changed

mmv1/products/gemini/CodeRepositoryIndex.yaml

+6-9
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,10 @@
1414
---
1515
name: CodeRepositoryIndex
1616
description: The resource for managing Code Repository Index for Gemini Code Assist.
17-
min_version: 'beta'
17+
references:
18+
guides:
19+
'Gemini Code Assist overview': 'https://cloud.google.com/gemini/docs/codeassist/overview'
20+
api: 'https://cloud.google.com/gemini/docs/api/reference/rest/v1/projects.locations.codeRepositoryIndexes'
1821
base_url: projects/{{project}}/locations/{{location}}/codeRepositoryIndexes
1922
self_link: projects/{{project}}/locations/{{location}}/codeRepositoryIndexes/{{code_repository_index_id}}
2023
create_url: projects/{{project}}/locations/{{location}}/codeRepositoryIndexes?codeRepositoryIndexId={{code_repository_index_id}}
@@ -26,7 +29,6 @@ import_format:
2629
mutex: 'projects/{{project}}/locations/{{location}}/codeRepositoryIndexes/{{code_repository_index_id}}'
2730
examples:
2831
- name: "gemini_code_repository_index_basic"
29-
min_version: 'beta'
3032
primary_resource_id: "example"
3133
test_vars_overrides:
3234
cri_id: '"cri-example"'
@@ -85,12 +87,7 @@ properties:
8587
type: String
8688
description: |-
8789
Output only. Code Repository Index instance State.
88-
Possible values:
89-
STATE_UNSPECIFIED
90-
CREATING
91-
ACTIVE
92-
DELETING
93-
SUSPENDED
90+
Possible values are: `STATE_UNSPECIFIED`, `CREATING`, `ACTIVE`, `DELETING`, `SUSPENDED`.
9491
output: true
9592
- name: labels
9693
type: KeyValueLabels
@@ -99,7 +96,7 @@ properties:
9996
type: String
10097
description: |-
10198
Optional. Immutable. Customer-managed encryption key name, in the format
102-
projects/*/locations/*/keyRings/*/cryptoKeys/*.
99+
`projects/*/locations/*/keyRings/*/cryptoKeys/*`.
103100
immutable: true
104101
- name: name
105102
type: String

mmv1/products/gemini/RepositoryGroup.yaml

+8-9
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@
1414
---
1515
name: RepositoryGroup
1616
description: The resource for managing Repository Group for Gemini Code Assist.
17-
min_version: 'beta'
17+
references:
18+
api: 'https://cloud.google.com/gemini/docs/api/reference/rest/v1/projects.locations.codeRepositoryIndexes.repositoryGroups'
1819
base_url: projects/{{project}}/locations/{{location}}/codeRepositoryIndexes/{{code_repository_index}}/repositoryGroups
1920
self_link: projects/{{project}}/locations/{{location}}/codeRepositoryIndexes/{{code_repository_index}}/repositoryGroups/{{repository_group_id}}
2021
create_url: projects/{{project}}/locations/{{location}}/codeRepositoryIndexes/{{code_repository_index}}/repositoryGroups?repositoryGroupId={{repository_group_id}}
@@ -26,11 +27,10 @@ import_format:
2627
mutex: 'projects/{{project}}/locations/{{location}}/codeRepositoryIndexes/{{code_repository_index}}'
2728
examples:
2829
- name: "gemini_repository_group_basic"
29-
min_version: 'beta'
3030
primary_resource_id: "example"
3131
primary_resource_name: 'acctest.BootstrapSharedCodeRepositoryIndex(t, "basic-rg-gen-example", "us-central1", "", map[string]string{}), fmt.Sprintf("tf-test-gen-repository-group-%s", context["random_suffix"])'
3232
vars:
33-
repository_group_id: "gen-repository-group-"
33+
repository_group_id: "example-repository-group"
3434
git_repository_link_id: 'example-git-repository-link-id'
3535
cri_id: "cri-example"
3636
repository_resource: "projects/example-project/locations/us-central1/connections/example-connection/gitRepositoryLinks/example-repo"
@@ -62,7 +62,6 @@ async:
6262
resource_inside_response: true
6363
include_project: false
6464
iam_policy:
65-
min_version: 'beta'
6665
parent_resource_attribute: 'repository_group_id'
6766
method_name_separator: ':'
6867
fetch_iam_policy_verb: 'GET'
@@ -96,7 +95,7 @@ parameters:
9695
properties:
9796
- name: repositories
9897
type: Array
99-
description: Required. List of repositories to group
98+
description: Required. List of repositories to group.
10099
required: true
101100
item_type:
102101
type: NestedObject
@@ -115,17 +114,17 @@ properties:
115114
required: true
116115
- name: name
117116
type: String
118-
description: Immutable. Identifier. name of resource
117+
description: Immutable. Identifier. Name of Repository Group.
119118
output: true
120119
immutable: true
121120
- name: createTime
122121
type: String
123-
description: Output only. Create time stamp
122+
description: Output only. Create time stamp.
124123
output: true
125124
- name: updateTime
126125
type: String
127-
description: Output only. Update time stamp
126+
description: Output only. Update time stamp.
128127
output: true
129128
- name: labels
130129
type: KeyValueLabels
131-
description: Optional. Labels as key value pairs
130+
description: Optional. Labels as key value pairs.

mmv1/products/gemini/product.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,7 @@ display_name: Gemini for Google Cloud
1717
scopes:
1818
- https://www.googleapis.com/auth/cloud-platform
1919
versions:
20+
- base_url: https://cloudaicompanion.googleapis.com/v1/
21+
name: 'ga'
2022
- base_url: https://cloudaicompanion.googleapis.com/v1/
2123
name: 'beta'
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
resource "google_gemini_code_repository_index" "example" {
2-
provider = google-beta
32
location = "us-central1"
4-
code_repository_index_id = "{{index $.Vars "cri_id"}}"
3+
code_repository_index_id = "code-repository-index-example"
54
kms_key = "projects/projectExample/locations/locationExample/keyRings/keyRingExample/cryptoKeys/cryptoKeyExample"
65
}

mmv1/templates/terraform/examples/gemini_repository_group_basic.tf.tmpl

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
resource "google_gemini_repository_group" "example" {
2-
provider = google-beta
32
location = "us-central1"
4-
code_repository_index = "%{cri_id}"
3+
code_repository_index = "example-cri"
54
repository_group_id = "{{index $.Vars "repository_group_id"}}"
65
repositories {
76
resource = "{{index $.Vars "repository_resource"}}"

mmv1/third_party/terraform/acctest/bootstrap_test_utils.go.tmpl

+2-5
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@ import (
99
"strings"
1010
"testing"
1111
"time"
12+
"net/http"
13+
1214
{{ if ne $.TargetVersionName `ga` -}}
1315
// For beta tests only
14-
"net/http"
1516
resourceManagerV3 "google.golang.org/api/cloudresourcemanager/v3"
1617
tpgservicusage "github.com/hashicorp/terraform-provider-google/google/services/serviceusage"
1718
"github.com/hashicorp/terraform-provider-google/google/services/kms"
18-
1919
{{- end }}
2020

2121
"github.com/hashicorp/terraform-provider-google/google/envvar"
@@ -1747,7 +1747,6 @@ func SetupProjectsAndGetAccessToken(org, billing, pid, service string, config *t
17471747
return accessToken, nil
17481748
}
17491749

1750-
{{ if ne $.TargetVersionName `ga` -}}
17511750
// For bootstrapping Developer Connect git repository link
17521751
const SharedGitRepositoryLinkIdPrefix = "tf-bootstrap-git-repository-"
17531752

@@ -2058,8 +2057,6 @@ func BootstrapSharedCodeRepositoryIndex(t *testing.T, codeRepositoryIndexId, loc
20582057
return codeRepositoryIndexId
20592058
}
20602059

2061-
{{- end }}
2062-
20632060
const sharedTagKeyPrefix = "tf-bootstrap-tagkey"
20642061

20652062
func BootstrapSharedTestTagKey(t *testing.T, testId string) string {

mmv1/third_party/terraform/services/gemini/iam_gemini_repository_group_test.go.tmpl

+24-39
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
package gemini_test
2-
{{- if ne $.TargetVersionName "ga" }}
32

43
import (
54
"fmt"
@@ -22,18 +21,18 @@ func TestAccGeminiRepositoryGroupIamBinding(t *testing.T) {
2221
repositoryGroupId := "tf-test-iam-repository-group-id-" + acctest.RandString(t, 10)
2322

2423
context := map[string]interface{}{
25-
"role": "roles/cloudaicompanion.repositoryGroupsUser",
26-
"code_repository_index": codeRepositoryIndexId,
27-
"location": location,
28-
"project": envvar.GetTestProjectFromEnv(),
29-
"connection_id": developerConnectionId,
30-
"git_link_id": gitRepositoryLinkId,
31-
"repository_group_id": repositoryGroupId,
24+
"role": "roles/cloudaicompanion.repositoryGroupsUser",
25+
"code_repository_index": codeRepositoryIndexId,
26+
"location": location,
27+
"project": envvar.GetTestProjectFromEnv(),
28+
"connection_id": developerConnectionId,
29+
"git_link_id": gitRepositoryLinkId,
30+
"repository_group_id": repositoryGroupId,
3231
}
3332

3433
acctest.VcrTest(t, resource.TestCase{
3534
PreCheck: func() { acctest.AccTestPreCheck(t) },
36-
ProtoV5ProviderFactories: acctest.ProtoV5ProviderBetaFactories(t),
35+
ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories(t),
3736
Steps: []resource.TestStep{
3837
{
3938
Config: testAccGeminiRepositoryGroupIamBinding_basic(context),
@@ -66,18 +65,18 @@ func TestAccGeminiRepositoryGroupIamMember(t *testing.T) {
6665
repositoryGroupId := "tf-test-iam-repository-group-id-" + acctest.RandString(t, 10)
6766

6867
context := map[string]interface{}{
69-
"role": "roles/cloudaicompanion.repositoryGroupsUser",
70-
"code_repository_index": codeRepositoryIndexId,
71-
"location": location,
72-
"project": envvar.GetTestProjectFromEnv(),
73-
"connection_id": developerConnectionId,
74-
"git_link_id": gitRepositoryLinkId,
75-
"repository_group_id": repositoryGroupId,
68+
"role": "roles/cloudaicompanion.repositoryGroupsUser",
69+
"code_repository_index": codeRepositoryIndexId,
70+
"location": location,
71+
"project": envvar.GetTestProjectFromEnv(),
72+
"connection_id": developerConnectionId,
73+
"git_link_id": gitRepositoryLinkId,
74+
"repository_group_id": repositoryGroupId,
7675
}
7776

7877
acctest.VcrTest(t, resource.TestCase{
7978
PreCheck: func() { acctest.AccTestPreCheck(t) },
80-
ProtoV5ProviderFactories: acctest.ProtoV5ProviderBetaFactories(t),
79+
ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories(t),
8180
Steps: []resource.TestStep{
8281
{
8382
// Test Iam Member creation (no update for member, no need to test)
@@ -101,18 +100,18 @@ func TestAccGeminiRepositoryGroupIamPolicy(t *testing.T) {
101100
repositoryGroupId := "tf-test-iam-repository-group-id-" + acctest.RandString(t, 10)
102101

103102
context := map[string]interface{}{
104-
"role": "roles/cloudaicompanion.repositoryGroupsUser",
105-
"code_repository_index": codeRepositoryIndexId,
106-
"location": location,
107-
"project": envvar.GetTestProjectFromEnv(),
108-
"connection_id": developerConnectionId,
109-
"git_link_id": gitRepositoryLinkId,
110-
"repository_group_id": repositoryGroupId,
103+
"role": "roles/cloudaicompanion.repositoryGroupsUser",
104+
"code_repository_index": codeRepositoryIndexId,
105+
"location": location,
106+
"project": envvar.GetTestProjectFromEnv(),
107+
"connection_id": developerConnectionId,
108+
"git_link_id": gitRepositoryLinkId,
109+
"repository_group_id": repositoryGroupId,
111110
}
112111

113112
acctest.VcrTest(t, resource.TestCase{
114113
PreCheck: func() { acctest.AccTestPreCheck(t) },
115-
ProtoV5ProviderFactories: acctest.ProtoV5ProviderBetaFactories(t),
114+
ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories(t),
116115
Steps: []resource.TestStep{
117116
{
118117
Config: testAccGeminiRepositoryGroupIamPolicy_basic(context),
@@ -140,7 +139,6 @@ func TestAccGeminiRepositoryGroupIamPolicy(t *testing.T) {
140139
func testAccGeminiRepositoryGroupIamMember_basic(context map[string]interface{}) string {
141140
return acctest.Nprintf(`
142141
resource "google_gemini_repository_group_iam_member" "foo" {
143-
provider = google-beta
144142
project = "%{project}"
145143
location = "%{location}"
146144
code_repository_index = "%{code_repository_index}"
@@ -150,7 +148,6 @@ resource "google_gemini_repository_group_iam_member" "foo" {
150148
}
151149

152150
resource "google_gemini_repository_group" "example" {
153-
provider = google-beta
154151
location = "us-central1"
155152
code_repository_index = "%{code_repository_index}"
156153
repository_group_id = "%{repository_group_id}"
@@ -166,15 +163,13 @@ resource "google_gemini_repository_group" "example" {
166163
func testAccGeminiRepositoryGroupIamPolicy_basic(context map[string]interface{}) string {
167164
return acctest.Nprintf(`
168165
data "google_iam_policy" "foo" {
169-
provider = google-beta
170166
binding {
171167
role = "%{role}"
172168
members = ["user:[email protected]"]
173169
}
174170
}
175171

176172
resource "google_gemini_repository_group_iam_policy" "foo" {
177-
provider = google-beta
178173
project = "%{project}"
179174
location = "%{location}"
180175
code_repository_index = "%{code_repository_index}"
@@ -183,7 +178,6 @@ resource "google_gemini_repository_group_iam_policy" "foo" {
183178
}
184179

185180
data "google_gemini_repository_group_iam_policy" "foo" {
186-
provider = google-beta
187181
project = "%{project}"
188182
location = "%{location}"
189183
code_repository_index = "%{code_repository_index}"
@@ -194,7 +188,6 @@ data "google_gemini_repository_group_iam_policy" "foo" {
194188
}
195189

196190
resource "google_gemini_repository_group" "example" {
197-
provider = google-beta
198191
location = "us-central1"
199192
code_repository_index = "%{code_repository_index}"
200193
repository_group_id = "%{repository_group_id}"
@@ -210,11 +203,9 @@ resource "google_gemini_repository_group" "example" {
210203
func testAccGeminiRepositoryGroupIamPolicy_emptyBinding(context map[string]interface{}) string {
211204
return acctest.Nprintf(`
212205
data "google_iam_policy" "foo" {
213-
provider = google-beta
214206
}
215207

216208
resource "google_gemini_repository_group_iam_policy" "foo" {
217-
provider = google-beta
218209
project = "%{project}"
219210
location = "%{location}"
220211
code_repository_index = "%{code_repository_index}"
@@ -223,7 +214,6 @@ resource "google_gemini_repository_group_iam_policy" "foo" {
223214
}
224215

225216
resource "google_gemini_repository_group" "example" {
226-
provider = google-beta
227217
location = "us-central1"
228218
code_repository_index = "%{code_repository_index}"
229219
repository_group_id = "%{repository_group_id}"
@@ -239,7 +229,6 @@ resource "google_gemini_repository_group" "example" {
239229
func testAccGeminiRepositoryGroupIamBinding_basic(context map[string]interface{}) string {
240230
return acctest.Nprintf(`
241231
resource "google_gemini_repository_group_iam_binding" "foo" {
242-
provider = google-beta
243232
project = "%{project}"
244233
location = "%{location}"
245234
code_repository_index = "%{code_repository_index}"
@@ -249,7 +238,6 @@ resource "google_gemini_repository_group_iam_binding" "foo" {
249238
}
250239

251240
resource "google_gemini_repository_group" "example" {
252-
provider = google-beta
253241
location = "us-central1"
254242
code_repository_index = "%{code_repository_index}"
255243
repository_group_id = "%{repository_group_id}"
@@ -265,7 +253,6 @@ resource "google_gemini_repository_group" "example" {
265253
func testAccGeminiRepositoryGroupIamBinding_update(context map[string]interface{}) string {
266254
return acctest.Nprintf(`
267255
resource "google_gemini_repository_group_iam_binding" "foo" {
268-
provider = google-beta
269256
project = "%{project}"
270257
location = "%{location}"
271258
code_repository_index = "%{code_repository_index}"
@@ -275,7 +262,6 @@ resource "google_gemini_repository_group_iam_binding" "foo" {
275262
}
276263

277264
resource "google_gemini_repository_group" "example" {
278-
provider = google-beta
279265
location = "us-central1"
280266
code_repository_index = "%{code_repository_index}"
281267
repository_group_id = "%{repository_group_id}"
@@ -287,4 +273,3 @@ resource "google_gemini_repository_group" "example" {
287273
}
288274
`, context)
289275
}
290-
{{ end }}

0 commit comments

Comments
 (0)