Skip to content

Commit 99bb218

Browse files
committed
azurerm_cosmosdb_fleet - fix resource name
1 parent 034e586 commit 99bb218

4 files changed

Lines changed: 62 additions & 53 deletions

File tree

internal/services/cosmos/cosmosdb_fleets_resource.go renamed to internal/services/cosmos/cosmosdb_fleet_resource.go

Lines changed: 25 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ package cosmos
66
import (
77
"context"
88
"fmt"
9+
"regexp"
910
"time"
1011

1112
"github.com/hashicorp/go-azure-helpers/lang/pointer"
@@ -21,26 +22,29 @@ import (
2122
"github.com/hashicorp/terraform-provider-azurerm/internal/tf/validation"
2223
)
2324

24-
//go:generate go run ../../tools/generator-tests resourceidentity -resource-name cosmosdb_fleets -service-package-name cosmos -properties "name,resource_group_name" -known-values "subscription_id:data.Subscriptions.Primary"
25+
//go:generate go run ../../tools/generator-tests resourceidentity -resource-name cosmosdb_fleet -service-package-name cosmos -properties "name,resource_group_name" -known-values "subscription_id:data.Subscriptions.Primary"
2526

26-
type CosmosDbFleetsResource struct{}
27+
type CosmosDbFleetResource struct{}
2728

28-
var _ sdk.ResourceWithIdentity = CosmosDbFleetsResource{}
29+
var _ sdk.ResourceWithIdentity = CosmosDbFleetResource{}
2930

30-
type CosmosDbFleetsModel struct {
31+
type CosmosDbFleetModel struct {
3132
Name string `tfschema:"name"`
3233
ResourceGroupName string `tfschema:"resource_group_name"`
3334
Location string `tfschema:"location"`
3435
Tags map[string]string `tfschema:"tags"`
3536
}
3637

37-
func (CosmosDbFleetsResource) Arguments() map[string]*pluginsdk.Schema {
38+
func (CosmosDbFleetResource) Arguments() map[string]*pluginsdk.Schema {
3839
return map[string]*pluginsdk.Schema{
3940
"name": {
40-
Type: pluginsdk.TypeString,
41-
Required: true,
42-
ForceNew: true,
43-
ValidateFunc: validation.StringIsNotEmpty,
41+
Type: pluginsdk.TypeString,
42+
Required: true,
43+
ForceNew: true,
44+
ValidateFunc: validation.StringMatch(
45+
regexp.MustCompile("^(?=.{3,50}$)[a-z0-9]+(?:-[a-z0-9]+)*$"),
46+
"CosmosDB Fleet name must be 3 - 50 characters long, contain only lowercase letters, numbers and hyphens.",
47+
),
4448
},
4549

4650
"resource_group_name": commonschema.ResourceGroupName(),
@@ -60,26 +64,26 @@ func (CosmosDbFleetsResource) Arguments() map[string]*pluginsdk.Schema {
6064
}
6165
}
6266

63-
func (CosmosDbFleetsResource) Attributes() map[string]*pluginsdk.Schema {
67+
func (CosmosDbFleetResource) Attributes() map[string]*pluginsdk.Schema {
6468
return map[string]*pluginsdk.Schema{}
6569
}
6670

67-
func (CosmosDbFleetsResource) ModelObject() interface{} {
68-
return &CosmosDbFleetsResource{}
71+
func (CosmosDbFleetResource) ModelObject() interface{} {
72+
return &CosmosDbFleetResource{}
6973
}
7074

71-
func (CosmosDbFleetsResource) ResourceType() string {
72-
return "azurerm_cosmosdb_fleets"
75+
func (CosmosDbFleetResource) ResourceType() string {
76+
return "azurerm_cosmosdb_fleet"
7377
}
7478

75-
func (r CosmosDbFleetsResource) Create() sdk.ResourceFunc {
79+
func (r CosmosDbFleetResource) Create() sdk.ResourceFunc {
7680
return sdk.ResourceFunc{
7781
Timeout: 30 * time.Minute,
7882
Func: func(ctx context.Context, metadata sdk.ResourceMetaData) error {
7983
client := metadata.Client.Cosmos.FleetsClient
8084
subscriptionId := metadata.Client.Account.SubscriptionId
8185

82-
var config CosmosDbFleetsModel
86+
var config CosmosDbFleetModel
8387
if err := metadata.Decode(&config); err != nil {
8488
return fmt.Errorf("decoding: %+v", err)
8589
}
@@ -111,7 +115,7 @@ func (r CosmosDbFleetsResource) Create() sdk.ResourceFunc {
111115
}
112116
}
113117

114-
func (r CosmosDbFleetsResource) Read() sdk.ResourceFunc {
118+
func (r CosmosDbFleetResource) Read() sdk.ResourceFunc {
115119
return sdk.ResourceFunc{
116120
Timeout: 5 * time.Minute,
117121
Func: func(ctx context.Context, metadata sdk.ResourceMetaData) error {
@@ -130,7 +134,7 @@ func (r CosmosDbFleetsResource) Read() sdk.ResourceFunc {
130134
return fmt.Errorf("retrieving %s: %+v", id, err)
131135
}
132136

133-
state := CosmosDbFleetsModel{
137+
state := CosmosDbFleetModel{
134138
Name: id.FleetName,
135139
ResourceGroupName: id.ResourceGroupName,
136140
}
@@ -149,7 +153,7 @@ func (r CosmosDbFleetsResource) Read() sdk.ResourceFunc {
149153
}
150154
}
151155

152-
func (CosmosDbFleetsResource) Delete() sdk.ResourceFunc {
156+
func (CosmosDbFleetResource) Delete() sdk.ResourceFunc {
153157
return sdk.ResourceFunc{
154158
Timeout: 30 * time.Minute,
155159
Func: func(ctx context.Context, metadata sdk.ResourceMetaData) error {
@@ -168,10 +172,10 @@ func (CosmosDbFleetsResource) Delete() sdk.ResourceFunc {
168172
}
169173
}
170174

171-
func (CosmosDbFleetsResource) IDValidationFunc() pluginsdk.SchemaValidateFunc {
175+
func (CosmosDbFleetResource) IDValidationFunc() pluginsdk.SchemaValidateFunc {
172176
return fleets.ValidateFleetID
173177
}
174178

175-
func (CosmosDbFleetsResource) Identity() resourceids.ResourceId {
179+
func (CosmosDbFleetResource) Identity() resourceids.ResourceId {
176180
return &fleets.FleetId{}
177181
}

internal/services/cosmos/cosmosdb_fleets_resource_test.go renamed to internal/services/cosmos/cosmosdb_fleet_resource_test.go

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@ import (
1515
"github.com/hashicorp/terraform-provider-azurerm/internal/tf/pluginsdk"
1616
)
1717

18-
type CosmosDbFleetsResource struct{}
18+
type CosmosDbFleetResource struct{}
1919

20-
func TestAccCosmosDbFleets_basic(t *testing.T) {
21-
data := acceptance.BuildTestData(t, "azurerm_cosmosdb_fleets", "test")
22-
r := CosmosDbFleetsResource{}
20+
func TestAccCosmosDbFleet_basic(t *testing.T) {
21+
data := acceptance.BuildTestData(t, "azurerm_cosmosdb_fleet", "test")
22+
r := CosmosDbFleetResource{}
2323

2424
data.ResourceTest(t, r, []acceptance.TestStep{
2525
{
@@ -32,9 +32,9 @@ func TestAccCosmosDbFleets_basic(t *testing.T) {
3232
})
3333
}
3434

35-
func TestAccCosmosDbFleets_requiresImport(t *testing.T) {
36-
data := acceptance.BuildTestData(t, "azurerm_cosmosdb_fleets", "test")
37-
r := CosmosDbFleetsResource{}
35+
func TestAccCosmosDbFleet_requiresImport(t *testing.T) {
36+
data := acceptance.BuildTestData(t, "azurerm_cosmosdb_fleet", "test")
37+
r := CosmosDbFleetResource{}
3838

3939
data.ResourceTest(t, r, []acceptance.TestStep{
4040
{
@@ -47,9 +47,9 @@ func TestAccCosmosDbFleets_requiresImport(t *testing.T) {
4747
})
4848
}
4949

50-
func TestAccCosmosDbFleets_complete(t *testing.T) {
51-
data := acceptance.BuildTestData(t, "azurerm_cosmosdb_fleets", "test")
52-
r := CosmosDbFleetsResource{}
50+
func TestAccCosmosDbFleet_complete(t *testing.T) {
51+
data := acceptance.BuildTestData(t, "azurerm_cosmosdb_fleet", "test")
52+
r := CosmosDbFleetResource{}
5353

5454
data.ResourceTest(t, r, []acceptance.TestStep{
5555
{
@@ -62,9 +62,9 @@ func TestAccCosmosDbFleets_complete(t *testing.T) {
6262
})
6363
}
6464

65-
func TestAccCosmosDbFleets_update(t *testing.T) {
66-
data := acceptance.BuildTestData(t, "azurerm_cosmosdb_fleets", "test")
67-
r := CosmosDbFleetsResource{}
65+
func TestAccCosmosDbFleet_update(t *testing.T) {
66+
data := acceptance.BuildTestData(t, "azurerm_cosmosdb_fleet", "test")
67+
r := CosmosDbFleetResource{}
6868

6969
data.ResourceTestIgnoreRecreate(t, r, []acceptance.TestStep{
7070
{
@@ -89,7 +89,7 @@ func TestAccCosmosDbFleets_update(t *testing.T) {
8989
})
9090
}
9191

92-
func (CosmosDbFleetsResource) Exists(ctx context.Context, client *clients.Client, state *pluginsdk.InstanceState) (*bool, error) {
92+
func (CosmosDbFleetResource) Exists(ctx context.Context, client *clients.Client, state *pluginsdk.InstanceState) (*bool, error) {
9393
id, err := fleets.ParseFleetID(state.ID)
9494
if err != nil {
9595
return nil, err
@@ -103,7 +103,7 @@ func (CosmosDbFleetsResource) Exists(ctx context.Context, client *clients.Client
103103
return pointer.To(resp.Model != nil), nil
104104
}
105105

106-
func (CosmosDbFleetsResource) template(data acceptance.TestData) string {
106+
func (CosmosDbFleetResource) template(data acceptance.TestData) string {
107107
return fmt.Sprintf(`
108108
provider "azurerm" {
109109
features {}
@@ -116,35 +116,35 @@ resource "azurerm_resource_group" "test" {
116116
`, data.RandomInteger, data.Locations.Primary)
117117
}
118118

119-
func (r CosmosDbFleetsResource) basic(data acceptance.TestData) string {
119+
func (r CosmosDbFleetResource) basic(data acceptance.TestData) string {
120120
return fmt.Sprintf(`
121121
%s
122122
123-
resource "azurerm_cosmosdb_fleets" "test" {
123+
resource "azurerm_cosmosdb_fleet" "test" {
124124
name = "acctest-cosfleets-%d"
125125
resource_group_name = azurerm_resource_group.test.name
126126
location = azurerm_resource_group.test.location
127127
}
128128
`, r.template(data), data.RandomInteger)
129129
}
130130

131-
func (r CosmosDbFleetsResource) requiresImport(data acceptance.TestData) string {
131+
func (r CosmosDbFleetResource) requiresImport(data acceptance.TestData) string {
132132
return fmt.Sprintf(`
133133
%s
134134
135-
resource "azurerm_cosmosdb_fleets" "import" {
136-
name = azurerm_cosmosdb_fleets.test.name
137-
resource_group_name = azurerm_cosmosdb_fleets.test.resource_group_name
138-
location = azurerm_cosmosdb_fleets.test.location
135+
resource "azurerm_cosmosdb_fleet" "import" {
136+
name = azurerm_cosmosdb_fleet.test.name
137+
resource_group_name = azurerm_cosmosdb_fleet.test.resource_group_name
138+
location = azurerm_cosmosdb_fleet.test.location
139139
}
140140
`, r.basic(data))
141141
}
142142

143-
func (r CosmosDbFleetsResource) complete(data acceptance.TestData) string {
143+
func (r CosmosDbFleetResource) complete(data acceptance.TestData) string {
144144
return fmt.Sprintf(`
145145
%s
146146
147-
resource "azurerm_cosmosdb_fleets" "test" {
147+
resource "azurerm_cosmosdb_fleet" "test" {
148148
name = "acctest-cosfleets-%d"
149149
resource_group_name = azurerm_resource_group.test.name
150150
location = azurerm_resource_group.test.location

internal/services/cosmos/registration.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ func (r Registration) DataSources() []sdk.DataSource {
2525

2626
func (r Registration) Resources() []sdk.Resource {
2727
return []sdk.Resource{
28-
CosmosDbFleetsResource{},
28+
CosmosDbFleetResource{},
2929
CosmosDbMongoUserDefinitionResource{},
3030
CosmosDbPostgreSQLClusterResource{},
3131
CosmosDbPostgreSQLCoordinatorConfigurationResource{},

website/docs/r/cosmosdb_fleets.html.markdown renamed to website/docs/r/cosmosdb_fleet.html.markdown

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,27 @@
11
---
22
subcategory: "CosmosDB (DocumentDB)"
33
layout: "azurerm"
4-
page_title: "Azure Resource Manager: azurerm_cosmosdb_fleets"
4+
page_title: "Azure Resource Manager: azurerm_cosmosdb_fleet"
55
description: |-
66
Manages a Cosmos DB Fleets.
77
---
88

9-
# azurerm_cosmosdb_fleets
9+
# azurerm_cosmosdb_fleet
1010

1111
Manages a Cosmos DB Fleets.
1212

1313
## Example Usage
1414

1515
```hcl
16-
resource "azurerm_cosmosdb_fleets" "example" {
17-
name = "example"
18-
resource_group_name = "example"
19-
location = "West Europe"
16+
resource "azurerm_resource_group" "example" {
17+
name = "example-resources"
18+
location = "West Europe"
19+
}
20+
21+
resource "azurerm_cosmosdb_fleet" "example" {
22+
name = "fleet-test"
23+
resource_group_name = "azurerm_resource_group.example.name"
24+
location = "azurerm_resource_group.example.location"
2025
}
2126
```
2227

@@ -53,5 +58,5 @@ The `timeouts` block allows you to specify [timeouts](https://developer.hashicor
5358
Cosmos DB Fleets can be imported using the `resource id`, e.g.
5459

5560
```shell
56-
terraform import azurerm_cosmosdb_fleets.example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DocumentDB/fleets/fleets1
61+
terraform import azurerm_cosmosdb_fleet.example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DocumentDB/fleets/fleets1
5762
```

0 commit comments

Comments
 (0)