Skip to content

Commit 0f2bd99

Browse files
Updating based on 73556271b (#1291)
Co-authored-by: hc-github-team-tf-azure <>
1 parent 147788c commit 0f2bd99

36 files changed

+609
-345
lines changed

resource-manager/alertsmanagement/2023-03-01/client.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,23 +6,23 @@ package v2023_03_01
66
import (
77
"fmt"
88

9-
"github.com/hashicorp/go-azure-sdk/resource-manager/alertsmanagement/2023-03-01/prometheusrulegroups"
9+
"github.com/hashicorp/go-azure-sdk/resource-manager/alertsmanagement/2023-03-01/prometheusrulegroupresources"
1010
"github.com/hashicorp/go-azure-sdk/sdk/client/resourcemanager"
1111
sdkEnv "github.com/hashicorp/go-azure-sdk/sdk/environments"
1212
)
1313

1414
type Client struct {
15-
PrometheusRuleGroups *prometheusrulegroups.PrometheusRuleGroupsClient
15+
PrometheusRuleGroupResources *prometheusrulegroupresources.PrometheusRuleGroupResourcesClient
1616
}
1717

1818
func NewClientWithBaseURI(sdkApi sdkEnv.Api, configureFunc func(c *resourcemanager.Client)) (*Client, error) {
19-
prometheusRuleGroupsClient, err := prometheusrulegroups.NewPrometheusRuleGroupsClientWithBaseURI(sdkApi)
19+
prometheusRuleGroupResourcesClient, err := prometheusrulegroupresources.NewPrometheusRuleGroupResourcesClientWithBaseURI(sdkApi)
2020
if err != nil {
21-
return nil, fmt.Errorf("building PrometheusRuleGroups client: %+v", err)
21+
return nil, fmt.Errorf("building PrometheusRuleGroupResources client: %+v", err)
2222
}
23-
configureFunc(prometheusRuleGroupsClient.Client)
23+
configureFunc(prometheusRuleGroupResourcesClient.Client)
2424

2525
return &Client{
26-
PrometheusRuleGroups: prometheusRuleGroupsClient,
26+
PrometheusRuleGroupResources: prometheusRuleGroupResourcesClient,
2727
}, nil
2828
}
Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
2+
## `github.com/hashicorp/go-azure-sdk/resource-manager/alertsmanagement/2023-03-01/prometheusrulegroupresources` Documentation
3+
4+
The `prometheusrulegroupresources` SDK allows for interaction with Azure Resource Manager `alertsmanagement` (API Version `2023-03-01`).
5+
6+
This readme covers example usages, but further information on [using this SDK can be found in the project root](https://github.com/hashicorp/go-azure-sdk/tree/main/docs).
7+
8+
### Import Path
9+
10+
```go
11+
import "github.com/hashicorp/go-azure-helpers/resourcemanager/commonids"
12+
import "github.com/hashicorp/go-azure-sdk/resource-manager/alertsmanagement/2023-03-01/prometheusrulegroupresources"
13+
```
14+
15+
16+
### Client Initialization
17+
18+
```go
19+
client := prometheusrulegroupresources.NewPrometheusRuleGroupResourcesClientWithBaseURI("https://management.azure.com")
20+
client.Client.Authorizer = authorizer
21+
```
22+
23+
24+
### Example Usage: `PrometheusRuleGroupResourcesClient.PrometheusRuleGroupsCreateOrUpdate`
25+
26+
```go
27+
ctx := context.TODO()
28+
id := prometheusrulegroupresources.NewPrometheusRuleGroupID("12345678-1234-9876-4563-123456789012", "example-resource-group", "prometheusRuleGroupName")
29+
30+
payload := prometheusrulegroupresources.PrometheusRuleGroupResource{
31+
// ...
32+
}
33+
34+
35+
read, err := client.PrometheusRuleGroupsCreateOrUpdate(ctx, id, payload)
36+
if err != nil {
37+
// handle the error
38+
}
39+
if model := read.Model; model != nil {
40+
// do something with the model/response object
41+
}
42+
```
43+
44+
45+
### Example Usage: `PrometheusRuleGroupResourcesClient.PrometheusRuleGroupsDelete`
46+
47+
```go
48+
ctx := context.TODO()
49+
id := prometheusrulegroupresources.NewPrometheusRuleGroupID("12345678-1234-9876-4563-123456789012", "example-resource-group", "prometheusRuleGroupName")
50+
51+
read, err := client.PrometheusRuleGroupsDelete(ctx, id)
52+
if err != nil {
53+
// handle the error
54+
}
55+
if model := read.Model; model != nil {
56+
// do something with the model/response object
57+
}
58+
```
59+
60+
61+
### Example Usage: `PrometheusRuleGroupResourcesClient.PrometheusRuleGroupsGet`
62+
63+
```go
64+
ctx := context.TODO()
65+
id := prometheusrulegroupresources.NewPrometheusRuleGroupID("12345678-1234-9876-4563-123456789012", "example-resource-group", "prometheusRuleGroupName")
66+
67+
read, err := client.PrometheusRuleGroupsGet(ctx, id)
68+
if err != nil {
69+
// handle the error
70+
}
71+
if model := read.Model; model != nil {
72+
// do something with the model/response object
73+
}
74+
```
75+
76+
77+
### Example Usage: `PrometheusRuleGroupResourcesClient.PrometheusRuleGroupsListByResourceGroup`
78+
79+
```go
80+
ctx := context.TODO()
81+
id := commonids.NewResourceGroupID("12345678-1234-9876-4563-123456789012", "example-resource-group")
82+
83+
// alternatively `client.PrometheusRuleGroupsListByResourceGroup(ctx, id)` can be used to do batched pagination
84+
items, err := client.PrometheusRuleGroupsListByResourceGroupComplete(ctx, id)
85+
if err != nil {
86+
// handle the error
87+
}
88+
for _, item := range items {
89+
// do something
90+
}
91+
```
92+
93+
94+
### Example Usage: `PrometheusRuleGroupResourcesClient.PrometheusRuleGroupsListBySubscription`
95+
96+
```go
97+
ctx := context.TODO()
98+
id := commonids.NewSubscriptionID("12345678-1234-9876-4563-123456789012")
99+
100+
// alternatively `client.PrometheusRuleGroupsListBySubscription(ctx, id)` can be used to do batched pagination
101+
items, err := client.PrometheusRuleGroupsListBySubscriptionComplete(ctx, id)
102+
if err != nil {
103+
// handle the error
104+
}
105+
for _, item := range items {
106+
// do something
107+
}
108+
```
109+
110+
111+
### Example Usage: `PrometheusRuleGroupResourcesClient.PrometheusRuleGroupsUpdate`
112+
113+
```go
114+
ctx := context.TODO()
115+
id := prometheusrulegroupresources.NewPrometheusRuleGroupID("12345678-1234-9876-4563-123456789012", "example-resource-group", "prometheusRuleGroupName")
116+
117+
payload := prometheusrulegroupresources.PrometheusRuleGroupResourcePatchParameters{
118+
// ...
119+
}
120+
121+
122+
read, err := client.PrometheusRuleGroupsUpdate(ctx, id, payload)
123+
if err != nil {
124+
// handle the error
125+
}
126+
if model := read.Model; model != nil {
127+
// do something with the model/response object
128+
}
129+
```

resource-manager/alertsmanagement/2023-03-01/prometheusrulegroups/client.go renamed to resource-manager/alertsmanagement/2023-03-01/prometheusrulegroupresources/client.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package prometheusrulegroups
1+
package prometheusrulegroupresources
22

33
import (
44
"fmt"
@@ -10,17 +10,17 @@ import (
1010
// Copyright (c) Microsoft Corporation. All rights reserved.
1111
// Licensed under the MIT License. See NOTICE.txt in the project root for license information.
1212

13-
type PrometheusRuleGroupsClient struct {
13+
type PrometheusRuleGroupResourcesClient struct {
1414
Client *resourcemanager.Client
1515
}
1616

17-
func NewPrometheusRuleGroupsClientWithBaseURI(sdkApi sdkEnv.Api) (*PrometheusRuleGroupsClient, error) {
18-
client, err := resourcemanager.NewClient(sdkApi, "prometheusrulegroups", defaultApiVersion)
17+
func NewPrometheusRuleGroupResourcesClientWithBaseURI(sdkApi sdkEnv.Api) (*PrometheusRuleGroupResourcesClient, error) {
18+
client, err := resourcemanager.NewClient(sdkApi, "prometheusrulegroupresources", defaultApiVersion)
1919
if err != nil {
20-
return nil, fmt.Errorf("instantiating PrometheusRuleGroupsClient: %+v", err)
20+
return nil, fmt.Errorf("instantiating PrometheusRuleGroupResourcesClient: %+v", err)
2121
}
2222

23-
return &PrometheusRuleGroupsClient{
23+
return &PrometheusRuleGroupResourcesClient{
2424
Client: client,
2525
}, nil
2626
}

resource-manager/alertsmanagement/2023-03-01/prometheusrulegroups/id_prometheusrulegroup.go renamed to resource-manager/alertsmanagement/2023-03-01/prometheusrulegroupresources/id_prometheusrulegroup.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package prometheusrulegroups
1+
package prometheusrulegroupresources
22

33
import (
44
"fmt"

resource-manager/alertsmanagement/2023-03-01/prometheusrulegroups/id_prometheusrulegroup_test.go renamed to resource-manager/alertsmanagement/2023-03-01/prometheusrulegroupresources/id_prometheusrulegroup_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package prometheusrulegroups
1+
package prometheusrulegroupresources
22

33
import (
44
"testing"

resource-manager/alertsmanagement/2023-03-01/prometheusrulegroups/method_createorupdate.go renamed to resource-manager/alertsmanagement/2023-03-01/prometheusrulegroupresources/method_prometheusrulegroupscreateorupdate.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package prometheusrulegroups
1+
package prometheusrulegroupresources
22

33
import (
44
"context"
@@ -11,14 +11,14 @@ import (
1111
// Copyright (c) Microsoft Corporation. All rights reserved.
1212
// Licensed under the MIT License. See NOTICE.txt in the project root for license information.
1313

14-
type CreateOrUpdateOperationResponse struct {
14+
type PrometheusRuleGroupsCreateOrUpdateOperationResponse struct {
1515
HttpResponse *http.Response
1616
OData *odata.OData
1717
Model *PrometheusRuleGroupResource
1818
}
1919

20-
// CreateOrUpdate ...
21-
func (c PrometheusRuleGroupsClient) CreateOrUpdate(ctx context.Context, id PrometheusRuleGroupId, input PrometheusRuleGroupResource) (result CreateOrUpdateOperationResponse, err error) {
20+
// PrometheusRuleGroupsCreateOrUpdate ...
21+
func (c PrometheusRuleGroupResourcesClient) PrometheusRuleGroupsCreateOrUpdate(ctx context.Context, id PrometheusRuleGroupId, input PrometheusRuleGroupResource) (result PrometheusRuleGroupsCreateOrUpdateOperationResponse, err error) {
2222
opts := client.RequestOptions{
2323
ContentType: "application/json; charset=utf-8",
2424
ExpectedStatusCodes: []int{

resource-manager/alertsmanagement/2023-03-01/prometheusrulegroups/method_delete.go renamed to resource-manager/alertsmanagement/2023-03-01/prometheusrulegroupresources/method_prometheusrulegroupsdelete.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package prometheusrulegroups
1+
package prometheusrulegroupresources
22

33
import (
44
"context"
@@ -11,13 +11,13 @@ import (
1111
// Copyright (c) Microsoft Corporation. All rights reserved.
1212
// Licensed under the MIT License. See NOTICE.txt in the project root for license information.
1313

14-
type DeleteOperationResponse struct {
14+
type PrometheusRuleGroupsDeleteOperationResponse struct {
1515
HttpResponse *http.Response
1616
OData *odata.OData
1717
}
1818

19-
// Delete ...
20-
func (c PrometheusRuleGroupsClient) Delete(ctx context.Context, id PrometheusRuleGroupId) (result DeleteOperationResponse, err error) {
19+
// PrometheusRuleGroupsDelete ...
20+
func (c PrometheusRuleGroupResourcesClient) PrometheusRuleGroupsDelete(ctx context.Context, id PrometheusRuleGroupId) (result PrometheusRuleGroupsDeleteOperationResponse, err error) {
2121
opts := client.RequestOptions{
2222
ContentType: "application/json; charset=utf-8",
2323
ExpectedStatusCodes: []int{

resource-manager/alertsmanagement/2023-03-01/prometheusrulegroups/method_get.go renamed to resource-manager/alertsmanagement/2023-03-01/prometheusrulegroupresources/method_prometheusrulegroupsget.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package prometheusrulegroups
1+
package prometheusrulegroupresources
22

33
import (
44
"context"
@@ -11,14 +11,14 @@ import (
1111
// Copyright (c) Microsoft Corporation. All rights reserved.
1212
// Licensed under the MIT License. See NOTICE.txt in the project root for license information.
1313

14-
type GetOperationResponse struct {
14+
type PrometheusRuleGroupsGetOperationResponse struct {
1515
HttpResponse *http.Response
1616
OData *odata.OData
1717
Model *PrometheusRuleGroupResource
1818
}
1919

20-
// Get ...
21-
func (c PrometheusRuleGroupsClient) Get(ctx context.Context, id PrometheusRuleGroupId) (result GetOperationResponse, err error) {
20+
// PrometheusRuleGroupsGet ...
21+
func (c PrometheusRuleGroupResourcesClient) PrometheusRuleGroupsGet(ctx context.Context, id PrometheusRuleGroupId) (result PrometheusRuleGroupsGetOperationResponse, err error) {
2222
opts := client.RequestOptions{
2323
ContentType: "application/json; charset=utf-8",
2424
ExpectedStatusCodes: []int{
Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
package prometheusrulegroupresources
2+
3+
import (
4+
"context"
5+
"fmt"
6+
"net/http"
7+
8+
"github.com/hashicorp/go-azure-helpers/resourcemanager/commonids"
9+
"github.com/hashicorp/go-azure-sdk/sdk/client"
10+
"github.com/hashicorp/go-azure-sdk/sdk/odata"
11+
)
12+
13+
// Copyright (c) Microsoft Corporation. All rights reserved.
14+
// Licensed under the MIT License. See NOTICE.txt in the project root for license information.
15+
16+
type PrometheusRuleGroupsListByResourceGroupOperationResponse struct {
17+
HttpResponse *http.Response
18+
OData *odata.OData
19+
Model *[]PrometheusRuleGroupResource
20+
}
21+
22+
type PrometheusRuleGroupsListByResourceGroupCompleteResult struct {
23+
LatestHttpResponse *http.Response
24+
Items []PrometheusRuleGroupResource
25+
}
26+
27+
type PrometheusRuleGroupsListByResourceGroupCustomPager struct {
28+
NextLink *odata.Link `json:"nextLink"`
29+
}
30+
31+
func (p *PrometheusRuleGroupsListByResourceGroupCustomPager) NextPageLink() *odata.Link {
32+
defer func() {
33+
p.NextLink = nil
34+
}()
35+
36+
return p.NextLink
37+
}
38+
39+
// PrometheusRuleGroupsListByResourceGroup ...
40+
func (c PrometheusRuleGroupResourcesClient) PrometheusRuleGroupsListByResourceGroup(ctx context.Context, id commonids.ResourceGroupId) (result PrometheusRuleGroupsListByResourceGroupOperationResponse, err error) {
41+
opts := client.RequestOptions{
42+
ContentType: "application/json; charset=utf-8",
43+
ExpectedStatusCodes: []int{
44+
http.StatusOK,
45+
},
46+
HttpMethod: http.MethodGet,
47+
Pager: &PrometheusRuleGroupsListByResourceGroupCustomPager{},
48+
Path: fmt.Sprintf("%s/providers/Microsoft.AlertsManagement/prometheusRuleGroups", id.ID()),
49+
}
50+
51+
req, err := c.Client.NewRequest(ctx, opts)
52+
if err != nil {
53+
return
54+
}
55+
56+
var resp *client.Response
57+
resp, err = req.ExecutePaged(ctx)
58+
if resp != nil {
59+
result.OData = resp.OData
60+
result.HttpResponse = resp.Response
61+
}
62+
if err != nil {
63+
return
64+
}
65+
66+
var values struct {
67+
Values *[]PrometheusRuleGroupResource `json:"value"`
68+
}
69+
if err = resp.Unmarshal(&values); err != nil {
70+
return
71+
}
72+
73+
result.Model = values.Values
74+
75+
return
76+
}
77+
78+
// PrometheusRuleGroupsListByResourceGroupComplete retrieves all the results into a single object
79+
func (c PrometheusRuleGroupResourcesClient) PrometheusRuleGroupsListByResourceGroupComplete(ctx context.Context, id commonids.ResourceGroupId) (PrometheusRuleGroupsListByResourceGroupCompleteResult, error) {
80+
return c.PrometheusRuleGroupsListByResourceGroupCompleteMatchingPredicate(ctx, id, PrometheusRuleGroupResourceOperationPredicate{})
81+
}
82+
83+
// PrometheusRuleGroupsListByResourceGroupCompleteMatchingPredicate retrieves all the results and then applies the predicate
84+
func (c PrometheusRuleGroupResourcesClient) PrometheusRuleGroupsListByResourceGroupCompleteMatchingPredicate(ctx context.Context, id commonids.ResourceGroupId, predicate PrometheusRuleGroupResourceOperationPredicate) (result PrometheusRuleGroupsListByResourceGroupCompleteResult, err error) {
85+
items := make([]PrometheusRuleGroupResource, 0)
86+
87+
resp, err := c.PrometheusRuleGroupsListByResourceGroup(ctx, id)
88+
if err != nil {
89+
result.LatestHttpResponse = resp.HttpResponse
90+
err = fmt.Errorf("loading results: %+v", err)
91+
return
92+
}
93+
if resp.Model != nil {
94+
for _, v := range *resp.Model {
95+
if predicate.Matches(v) {
96+
items = append(items, v)
97+
}
98+
}
99+
}
100+
101+
result = PrometheusRuleGroupsListByResourceGroupCompleteResult{
102+
LatestHttpResponse: resp.HttpResponse,
103+
Items: items,
104+
}
105+
return
106+
}

0 commit comments

Comments
 (0)