-
Notifications
You must be signed in to change notification settings - Fork 46
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
hc-github-team-tf-azure
committed
Sep 6, 2024
1 parent
90a9a0b
commit 3ab711d
Showing
2,160 changed files
with
200,597 additions
and
0 deletions.
There are no files selected for viewing
37 changes: 37 additions & 0 deletions
37
resource-manager/apimanagement/2024-05-01/allpolicies/README.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
|
||
## `github.com/hashicorp/go-azure-sdk/resource-manager/apimanagement/2024-05-01/allpolicies` Documentation | ||
|
||
The `allpolicies` SDK allows for interaction with the Azure Resource Manager Service `apimanagement` (API Version `2024-05-01`). | ||
|
||
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). | ||
|
||
### Import Path | ||
|
||
```go | ||
import "github.com/hashicorp/go-azure-sdk/resource-manager/apimanagement/2024-05-01/allpolicies" | ||
``` | ||
|
||
|
||
### Client Initialization | ||
|
||
```go | ||
client := allpolicies.NewAllPoliciesClientWithBaseURI("https://management.azure.com") | ||
client.Client.Authorizer = authorizer | ||
``` | ||
|
||
|
||
### Example Usage: `AllPoliciesClient.ListByService` | ||
|
||
```go | ||
ctx := context.TODO() | ||
id := allpolicies.NewServiceID("12345678-1234-9876-4563-123456789012", "example-resource-group", "serviceValue") | ||
|
||
// alternatively `client.ListByService(ctx, id)` can be used to do batched pagination | ||
items, err := client.ListByServiceComplete(ctx, id) | ||
if err != nil { | ||
// handle the error | ||
} | ||
for _, item := range items { | ||
// do something | ||
} | ||
``` |
26 changes: 26 additions & 0 deletions
26
resource-manager/apimanagement/2024-05-01/allpolicies/client.go
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
package allpolicies | ||
|
||
import ( | ||
"fmt" | ||
|
||
"github.com/hashicorp/go-azure-sdk/sdk/client/resourcemanager" | ||
sdkEnv "github.com/hashicorp/go-azure-sdk/sdk/environments" | ||
) | ||
|
||
// Copyright (c) Microsoft Corporation. All rights reserved. | ||
// Licensed under the MIT License. See NOTICE.txt in the project root for license information. | ||
|
||
type AllPoliciesClient struct { | ||
Client *resourcemanager.Client | ||
} | ||
|
||
func NewAllPoliciesClientWithBaseURI(sdkApi sdkEnv.Api) (*AllPoliciesClient, error) { | ||
client, err := resourcemanager.NewResourceManagerClient(sdkApi, "allpolicies", defaultApiVersion) | ||
if err != nil { | ||
return nil, fmt.Errorf("instantiating AllPoliciesClient: %+v", err) | ||
} | ||
|
||
return &AllPoliciesClient{ | ||
Client: client, | ||
}, nil | ||
} |
54 changes: 54 additions & 0 deletions
54
resource-manager/apimanagement/2024-05-01/allpolicies/constants.go
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
package allpolicies | ||
|
||
import ( | ||
"encoding/json" | ||
"fmt" | ||
"strings" | ||
) | ||
|
||
// Copyright (c) Microsoft Corporation. All rights reserved. | ||
// Licensed under the MIT License. See NOTICE.txt in the project root for license information. | ||
|
||
type PolicyComplianceState string | ||
|
||
const ( | ||
PolicyComplianceStateCompliant PolicyComplianceState = "Compliant" | ||
PolicyComplianceStateNonCompliant PolicyComplianceState = "NonCompliant" | ||
PolicyComplianceStatePending PolicyComplianceState = "Pending" | ||
) | ||
|
||
func PossibleValuesForPolicyComplianceState() []string { | ||
return []string{ | ||
string(PolicyComplianceStateCompliant), | ||
string(PolicyComplianceStateNonCompliant), | ||
string(PolicyComplianceStatePending), | ||
} | ||
} | ||
|
||
func (s *PolicyComplianceState) UnmarshalJSON(bytes []byte) error { | ||
var decoded string | ||
if err := json.Unmarshal(bytes, &decoded); err != nil { | ||
return fmt.Errorf("unmarshaling: %+v", err) | ||
} | ||
out, err := parsePolicyComplianceState(decoded) | ||
if err != nil { | ||
return fmt.Errorf("parsing %q: %+v", decoded, err) | ||
} | ||
*s = *out | ||
return nil | ||
} | ||
|
||
func parsePolicyComplianceState(input string) (*PolicyComplianceState, error) { | ||
vals := map[string]PolicyComplianceState{ | ||
"compliant": PolicyComplianceStateCompliant, | ||
"noncompliant": PolicyComplianceStateNonCompliant, | ||
"pending": PolicyComplianceStatePending, | ||
} | ||
if v, ok := vals[strings.ToLower(input)]; ok { | ||
return &v, nil | ||
} | ||
|
||
// otherwise presume it's an undefined value and best-effort it | ||
out := PolicyComplianceState(input) | ||
return &out, nil | ||
} |
130 changes: 130 additions & 0 deletions
130
resource-manager/apimanagement/2024-05-01/allpolicies/id_service.go
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,130 @@ | ||
package allpolicies | ||
|
||
import ( | ||
"fmt" | ||
"strings" | ||
|
||
"github.com/hashicorp/go-azure-helpers/resourcemanager/recaser" | ||
"github.com/hashicorp/go-azure-helpers/resourcemanager/resourceids" | ||
) | ||
|
||
// Copyright (c) Microsoft Corporation. All rights reserved. | ||
// Licensed under the MIT License. See NOTICE.txt in the project root for license information. | ||
|
||
func init() { | ||
recaser.RegisterResourceId(&ServiceId{}) | ||
} | ||
|
||
var _ resourceids.ResourceId = &ServiceId{} | ||
|
||
// ServiceId is a struct representing the Resource ID for a Service | ||
type ServiceId struct { | ||
SubscriptionId string | ||
ResourceGroupName string | ||
ServiceName string | ||
} | ||
|
||
// NewServiceID returns a new ServiceId struct | ||
func NewServiceID(subscriptionId string, resourceGroupName string, serviceName string) ServiceId { | ||
return ServiceId{ | ||
SubscriptionId: subscriptionId, | ||
ResourceGroupName: resourceGroupName, | ||
ServiceName: serviceName, | ||
} | ||
} | ||
|
||
// ParseServiceID parses 'input' into a ServiceId | ||
func ParseServiceID(input string) (*ServiceId, error) { | ||
parser := resourceids.NewParserFromResourceIdType(&ServiceId{}) | ||
parsed, err := parser.Parse(input, false) | ||
if err != nil { | ||
return nil, fmt.Errorf("parsing %q: %+v", input, err) | ||
} | ||
|
||
id := ServiceId{} | ||
if err := id.FromParseResult(*parsed); err != nil { | ||
return nil, err | ||
} | ||
|
||
return &id, nil | ||
} | ||
|
||
// ParseServiceIDInsensitively parses 'input' case-insensitively into a ServiceId | ||
// note: this method should only be used for API response data and not user input | ||
func ParseServiceIDInsensitively(input string) (*ServiceId, error) { | ||
parser := resourceids.NewParserFromResourceIdType(&ServiceId{}) | ||
parsed, err := parser.Parse(input, true) | ||
if err != nil { | ||
return nil, fmt.Errorf("parsing %q: %+v", input, err) | ||
} | ||
|
||
id := ServiceId{} | ||
if err := id.FromParseResult(*parsed); err != nil { | ||
return nil, err | ||
} | ||
|
||
return &id, nil | ||
} | ||
|
||
func (id *ServiceId) FromParseResult(input resourceids.ParseResult) error { | ||
var ok bool | ||
|
||
if id.SubscriptionId, ok = input.Parsed["subscriptionId"]; !ok { | ||
return resourceids.NewSegmentNotSpecifiedError(id, "subscriptionId", input) | ||
} | ||
|
||
if id.ResourceGroupName, ok = input.Parsed["resourceGroupName"]; !ok { | ||
return resourceids.NewSegmentNotSpecifiedError(id, "resourceGroupName", input) | ||
} | ||
|
||
if id.ServiceName, ok = input.Parsed["serviceName"]; !ok { | ||
return resourceids.NewSegmentNotSpecifiedError(id, "serviceName", input) | ||
} | ||
|
||
return nil | ||
} | ||
|
||
// ValidateServiceID checks that 'input' can be parsed as a Service ID | ||
func ValidateServiceID(input interface{}, key string) (warnings []string, errors []error) { | ||
v, ok := input.(string) | ||
if !ok { | ||
errors = append(errors, fmt.Errorf("expected %q to be a string", key)) | ||
return | ||
} | ||
|
||
if _, err := ParseServiceID(v); err != nil { | ||
errors = append(errors, err) | ||
} | ||
|
||
return | ||
} | ||
|
||
// ID returns the formatted Service ID | ||
func (id ServiceId) ID() string { | ||
fmtString := "/subscriptions/%s/resourceGroups/%s/providers/Microsoft.ApiManagement/service/%s" | ||
return fmt.Sprintf(fmtString, id.SubscriptionId, id.ResourceGroupName, id.ServiceName) | ||
} | ||
|
||
// Segments returns a slice of Resource ID Segments which comprise this Service ID | ||
func (id ServiceId) Segments() []resourceids.Segment { | ||
return []resourceids.Segment{ | ||
resourceids.StaticSegment("staticSubscriptions", "subscriptions", "subscriptions"), | ||
resourceids.SubscriptionIdSegment("subscriptionId", "12345678-1234-9876-4563-123456789012"), | ||
resourceids.StaticSegment("staticResourceGroups", "resourceGroups", "resourceGroups"), | ||
resourceids.ResourceGroupSegment("resourceGroupName", "example-resource-group"), | ||
resourceids.StaticSegment("staticProviders", "providers", "providers"), | ||
resourceids.ResourceProviderSegment("staticMicrosoftApiManagement", "Microsoft.ApiManagement", "Microsoft.ApiManagement"), | ||
resourceids.StaticSegment("staticService", "service", "service"), | ||
resourceids.UserSpecifiedSegment("serviceName", "serviceValue"), | ||
} | ||
} | ||
|
||
// String returns a human-readable description of this Service ID | ||
func (id ServiceId) String() string { | ||
components := []string{ | ||
fmt.Sprintf("Subscription: %q", id.SubscriptionId), | ||
fmt.Sprintf("Resource Group Name: %q", id.ResourceGroupName), | ||
fmt.Sprintf("Service Name: %q", id.ServiceName), | ||
} | ||
return fmt.Sprintf("Service (%s)", strings.Join(components, "\n")) | ||
} |
Oops, something went wrong.