зеркало из https://github.com/Azure/ARO-RP.git
initial scaffolding for preview api (#2972)
This commit is contained in:
Родитель
a4e3266c31
Коммит
bcd60e807f
|
@ -3,3 +3,4 @@
|
|||
239c63228da1db172f298cd81d0c3cc0d52ecca907915efe61be98c42b6d8f1d swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2022-04-01/redhatopenshift.json
|
||||
1d167031baf0209fe8c46df9654585c64e8cc9a0c89555d7479c4ed6dc150251 swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2022-09-04/redhatopenshift.json
|
||||
622404e8311c62f27fba778e30e760bb1901e5bd221b23de72f449cafbdf0c45 swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/redhatopenshift.json
|
||||
4df3ebacaf35d77d09f5eab75fb9608241929b6ef8d00fb506455cd38e383640 swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/preview/2023-07-01-preview/redhatopenshift.json
|
||||
|
|
2
Makefile
2
Makefile
|
@ -69,7 +69,7 @@ clean:
|
|||
find -type d -name 'gomock_reflect_[0-9]*' -exec rm -rf {} \+ 2>/dev/null
|
||||
|
||||
client: generate
|
||||
hack/build-client.sh "${AUTOREST_IMAGE}" 2020-04-30 2021-09-01-preview 2022-04-01 2022-09-04 2023-04-01
|
||||
hack/build-client.sh "${AUTOREST_IMAGE}" 2020-04-30 2021-09-01-preview 2022-04-01 2022-09-04 2023-04-01 2023-07-01-preview
|
||||
|
||||
# TODO: hard coding dev-config.yaml is clunky; it is also probably convenient to
|
||||
# override COMMIT.
|
||||
|
|
|
@ -22,6 +22,7 @@ import (
|
|||
_ "github.com/Azure/ARO-RP/pkg/api/v20220401"
|
||||
_ "github.com/Azure/ARO-RP/pkg/api/v20220904"
|
||||
_ "github.com/Azure/ARO-RP/pkg/api/v20230401"
|
||||
_ "github.com/Azure/ARO-RP/pkg/api/v20230701preview"
|
||||
"github.com/Azure/ARO-RP/pkg/backend"
|
||||
"github.com/Azure/ARO-RP/pkg/database"
|
||||
"github.com/Azure/ARO-RP/pkg/env"
|
||||
|
|
|
@ -0,0 +1,154 @@
|
|||
package v20230701preview
|
||||
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the Apache License 2.0.
|
||||
|
||||
// SyncSetList represents a list of SyncSets
|
||||
type SyncSetList struct {
|
||||
// The list of syncsets.
|
||||
SyncSets []*SyncSet `json:"value"`
|
||||
|
||||
// The link used to get the next page of operations.
|
||||
NextLink string `json:"nextLink,omitempty"`
|
||||
}
|
||||
|
||||
// SyncSet represents a SyncSet for an Azure Red Hat OpenShift Cluster.
|
||||
type SyncSet struct {
|
||||
// This is a flag used during the swagger generation typewalker to
|
||||
// signal that it should be marked as a proxy resource and
|
||||
// not a tracked ARM resource.
|
||||
proxyResource bool
|
||||
|
||||
// The resource ID.
|
||||
ID string `json:"id,omitempty" mutable:"case"`
|
||||
|
||||
// The resource name.
|
||||
Name string `json:"name,omitempty" mutable:"case"`
|
||||
|
||||
// The resource type.
|
||||
Type string `json:"type,omitempty" mutable:"case"`
|
||||
|
||||
// SystemData metadata relating to this resource.
|
||||
SystemData *SystemData `json:"systemData,omitempty"`
|
||||
|
||||
// The Syncsets properties
|
||||
Properties SyncSetProperties `json:"properties,omitempty"`
|
||||
}
|
||||
|
||||
// SyncSetProperties represents the properties of a SyncSet
|
||||
type SyncSetProperties struct {
|
||||
// Resources represents the SyncSets configuration.
|
||||
Resources string `json:"resources,omitempty"`
|
||||
}
|
||||
|
||||
// MachinePoolList represents a list of MachinePools
|
||||
type MachinePoolList struct {
|
||||
// The list of Machine Pools.
|
||||
MachinePools []*MachinePool `json:"value"`
|
||||
|
||||
// The link used to get the next page of operations.
|
||||
NextLink string `json:"nextLink,omitempty"`
|
||||
}
|
||||
|
||||
// MachinePool represents a MachinePool
|
||||
type MachinePool struct {
|
||||
// This is a flag used during the swagger generation typewalker to
|
||||
// signal that it should be marked as a proxy resource and
|
||||
// not a tracked ARM resource.
|
||||
proxyResource bool
|
||||
|
||||
// The Resource ID.
|
||||
ID string `json:"id,omitempty"`
|
||||
|
||||
// The resource name.
|
||||
Name string `json:"name,omitempty"`
|
||||
|
||||
// The resource type.
|
||||
Type string `json:"type,omitempty" mutable:"case"`
|
||||
|
||||
// SystemData metadata relating to this resource.
|
||||
SystemData *SystemData `json:"systemData,omitempty"`
|
||||
|
||||
// The MachinePool Properties
|
||||
Properties MachinePoolProperties `json:"properties,omitempty"`
|
||||
}
|
||||
|
||||
// MachinePoolProperties represents the properties of a MachinePool
|
||||
type MachinePoolProperties struct {
|
||||
Resources string `json:"resources,omitempty"`
|
||||
}
|
||||
|
||||
// SyncSetList represents a list of SyncSets
|
||||
type SyncIdentityProviderList struct {
|
||||
// The list of sync identity providers
|
||||
SyncIdentityProviders []*SyncIdentityProvider `json:"value"`
|
||||
|
||||
// The link used to get the next page of operations.
|
||||
NextLink string `json:"nextLink,omitempty"`
|
||||
}
|
||||
|
||||
// SyncIdentityProvider represents a SyncIdentityProvider
|
||||
type SyncIdentityProvider struct {
|
||||
// This is a flag used during the swagger generation typewalker to
|
||||
// signal that it should be marked as a proxy resource and
|
||||
// not a tracked ARM resource.
|
||||
proxyResource bool
|
||||
|
||||
// The Resource ID.
|
||||
ID string `json:"id,omitempty"`
|
||||
|
||||
// The resource name.
|
||||
Name string `json:"name,omitempty"`
|
||||
|
||||
// The resource type.
|
||||
Type string `json:"type,omitempty" mutable:"case"`
|
||||
|
||||
// SystemData metadata relating to this resource.
|
||||
SystemData *SystemData `json:"systemData,omitempty"`
|
||||
|
||||
// The SyncIdentityProvider Properties
|
||||
Properties SyncIdentityProviderProperties `json:"properties,omitempty"`
|
||||
}
|
||||
|
||||
// SyncSetProperties represents the properties of a SyncSet
|
||||
type SyncIdentityProviderProperties struct {
|
||||
Resources string `json:"resources,omitempty"`
|
||||
}
|
||||
|
||||
// SecretList represents a list of Secrets
|
||||
type SecretList struct {
|
||||
// The list of secrets.
|
||||
Secrets []*Secret `json:"value"`
|
||||
|
||||
// The link used to get the next page of operations.
|
||||
NextLink string `json:"nextLink,omitempty"`
|
||||
}
|
||||
|
||||
// Secret represents a secret.
|
||||
type Secret struct {
|
||||
// This is a flag used during the swagger generation typewalker to
|
||||
// signal that it should be marked as a proxy resource and
|
||||
// not a tracked ARM resource.
|
||||
proxyResource bool
|
||||
|
||||
// The Resource ID.
|
||||
ID string `json:"id,omitempty"`
|
||||
|
||||
// The resource name.
|
||||
Name string `json:"name,omitempty"`
|
||||
|
||||
// The resource type.
|
||||
Type string `json:"type,omitempty" mutable:"case"`
|
||||
|
||||
// SystemData metadata relating to this resource.
|
||||
SystemData *SystemData `json:"systemData,omitempty"`
|
||||
|
||||
// The Secret Properties
|
||||
Properties SecretProperties `json:"properties,omitempty"`
|
||||
}
|
||||
|
||||
// SecretProperties represents the properties of a Secret
|
||||
type SecretProperties struct {
|
||||
// The Secrets Resources.
|
||||
SecretResources string `json:"secretResources,omitempty"`
|
||||
}
|
|
@ -0,0 +1,37 @@
|
|||
package v20230701preview
|
||||
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the Apache License 2.0.
|
||||
|
||||
import (
|
||||
"encoding/base64"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"strings"
|
||||
)
|
||||
|
||||
type clusterManagerStaticValidator struct{}
|
||||
|
||||
func (c clusterManagerStaticValidator) Static(body string, ocmResourceType string) error {
|
||||
var resource map[string]interface{}
|
||||
|
||||
if decodedBody, err := base64.StdEncoding.DecodeString(body); err == nil {
|
||||
err = json.Unmarshal(decodedBody, &resource)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
b := []byte(body)
|
||||
err := json.Unmarshal(b, &resource)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
payloadResourceKind := strings.ToLower(resource["kind"].(string))
|
||||
if payloadResourceKind != ocmResourceType {
|
||||
return fmt.Errorf("wanted Kind '%v', resource is Kind '%v'", ocmResourceType, payloadResourceKind)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
|
@ -0,0 +1,82 @@
|
|||
package v20230701preview
|
||||
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the Apache License 2.0.
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"testing"
|
||||
)
|
||||
|
||||
var ocmResource = string(`
|
||||
{
|
||||
"apiVersion": "hive.openshift.io/v1",
|
||||
"kind": "SyncSet",
|
||||
"metadata": {
|
||||
"name": "sample",
|
||||
"namespace": "aro-f60ae8a2-bca1-4987-9056-f2f6a1837caa"
|
||||
},
|
||||
"spec": {
|
||||
"clusterDeploymentRefs": [],
|
||||
"resources": [
|
||||
{
|
||||
"apiVersion": "v1",
|
||||
"kind": "ConfigMap",
|
||||
"metadata": {
|
||||
"name": "myconfigmap"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
`)
|
||||
|
||||
var ocmResourceEncoded = "eyAKICAiYXBpVmVyc2lvbiI6ICJoaXZlLm9wZW5zaGlmdC5pby92MSIsCiAgImtpbmQiOiAiU3luY1NldCIsCiAgIm1ldGFkYXRhIjogewogICAgIm5hbWUiOiAic2FtcGxlIiwKICAgICJuYW1lc3BhY2UiOiAiYXJvLWY2MGFlOGEyLWJjYTEtNDk4Ny05MDU2LWYyZjZhMTgzN2NhYSIKICB9LAogICJzcGVjIjogewogICAgImNsdXN0ZXJEZXBsb3ltZW50UmVmcyI6IFtdLAogICAgInJlc291cmNlcyI6IFsKICAgICAgewogICAgICAgICJhcGlWZXJzaW9uIjogInYxIiwKICAgICAgICAia2luZCI6ICJDb25maWdNYXAiLAogICAgICAgICJtZXRhZGF0YSI6IHsKICAgICAgICAgICJuYW1lIjogIm15Y29uZmlnbWFwIgogICAgICAgIH0KICAgICAgfQogICAgXQogIH0KfQo="
|
||||
|
||||
func TestStatic(t *testing.T) {
|
||||
for _, tt := range []struct {
|
||||
name string
|
||||
ocmResource string
|
||||
ocmResourceType string
|
||||
wantErr bool
|
||||
err string
|
||||
}{
|
||||
{
|
||||
name: "payload Kind matches",
|
||||
ocmResource: ocmResource,
|
||||
ocmResourceType: "syncset",
|
||||
wantErr: false,
|
||||
},
|
||||
{
|
||||
name: "payload Kind matches and is a base64 encoded string",
|
||||
ocmResource: ocmResourceEncoded,
|
||||
ocmResourceType: "syncset",
|
||||
wantErr: false,
|
||||
},
|
||||
{
|
||||
name: "payload Kind does not match",
|
||||
ocmResource: ocmResource,
|
||||
ocmResourceType: "route",
|
||||
wantErr: true,
|
||||
err: "wanted Kind 'route', resource is Kind 'syncset'",
|
||||
},
|
||||
{
|
||||
name: "payload Kind does not match and is a base64 encoded string",
|
||||
ocmResource: ocmResourceEncoded,
|
||||
ocmResourceType: "route",
|
||||
wantErr: true,
|
||||
err: "wanted Kind 'route', resource is Kind 'syncset'",
|
||||
},
|
||||
} {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
c := &clusterManagerStaticValidator{}
|
||||
|
||||
err := c.Static(tt.ocmResource, tt.ocmResourceType)
|
||||
if err != nil && tt.wantErr {
|
||||
if fmt.Sprint(err) != tt.err {
|
||||
t.Errorf("wanted '%v', got '%v'", tt.err, err)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
package v20230701preview
|
||||
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the Apache License 2.0.
|
||||
|
||||
//go:generate go run ../../../hack/swagger github.com/Azure/ARO-RP/pkg/api/v20230701preview ../../../swagger/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/preview/2023-07-01-preview
|
|
@ -0,0 +1,39 @@
|
|||
package v20230701preview
|
||||
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the Apache License 2.0.
|
||||
|
||||
import (
|
||||
"github.com/Azure/ARO-RP/pkg/api"
|
||||
)
|
||||
|
||||
type machinePoolConverter struct{}
|
||||
|
||||
func (c machinePoolConverter) ToExternal(mp *api.MachinePool) interface{} {
|
||||
out := new(MachinePool)
|
||||
out.proxyResource = true
|
||||
out.ID = mp.ID
|
||||
out.Name = mp.Name
|
||||
out.Type = mp.Type
|
||||
out.Properties.Resources = mp.Properties.Resources
|
||||
return out
|
||||
}
|
||||
|
||||
func (c machinePoolConverter) ToInternal(_mp interface{}, out *api.MachinePool) {
|
||||
ocm := _mp.(*api.MachinePool)
|
||||
out.ID = ocm.ID
|
||||
}
|
||||
|
||||
// ToExternalList returns a slice of external representations of the internal objects
|
||||
func (c machinePoolConverter) ToExternalList(mp []*api.MachinePool) interface{} {
|
||||
l := &MachinePoolList{
|
||||
MachinePools: make([]*MachinePool, 0, len(mp)),
|
||||
}
|
||||
|
||||
for _, machinepool := range mp {
|
||||
c := c.ToExternal(machinepool)
|
||||
l.MachinePools = append(l.MachinePools, c.(*MachinePool))
|
||||
}
|
||||
|
||||
return l
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
package v20230701preview
|
||||
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the Apache License 2.0.
|
||||
|
||||
import (
|
||||
"github.com/Azure/ARO-RP/pkg/api"
|
||||
)
|
||||
|
||||
func exampleMachinePool() *MachinePool {
|
||||
doc := api.ExampleClusterManagerConfigurationDocumentMachinePool()
|
||||
ext := (&machinePoolConverter{}).ToExternal(doc.MachinePool)
|
||||
return ext.(*MachinePool)
|
||||
}
|
||||
|
||||
func ExampleMachinePoolPutParameter() interface{} {
|
||||
mp := exampleMachinePool()
|
||||
mp.ID = ""
|
||||
mp.Type = ""
|
||||
mp.Name = ""
|
||||
return mp
|
||||
}
|
||||
|
||||
func ExampleMachinePoolPatchParameter() interface{} {
|
||||
return ExampleMachinePoolPutParameter()
|
||||
}
|
||||
|
||||
func ExampleMachinePoolResponse() interface{} {
|
||||
return exampleMachinePool()
|
||||
}
|
||||
|
||||
func ExampleMachinePoolListResponse() interface{} {
|
||||
return &MachinePoolList{
|
||||
MachinePools: []*MachinePool{
|
||||
ExampleMachinePoolResponse().(*MachinePool),
|
||||
},
|
||||
}
|
||||
}
|
|
@ -0,0 +1,258 @@
|
|||
package v20230701preview
|
||||
|
||||
import "time"
|
||||
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the Apache License 2.0.
|
||||
|
||||
// OpenShiftClusterList represents a list of OpenShift clusters.
|
||||
type OpenShiftClusterList struct {
|
||||
// The list of OpenShift clusters.
|
||||
OpenShiftClusters []*OpenShiftCluster `json:"value"`
|
||||
|
||||
// The link used to get the next page of operations.
|
||||
NextLink string `json:"nextLink,omitempty"`
|
||||
}
|
||||
|
||||
// OpenShiftCluster represents an Azure Red Hat OpenShift cluster.
|
||||
type OpenShiftCluster struct {
|
||||
// The resource ID.
|
||||
ID string `json:"id,omitempty" mutable:"case"`
|
||||
|
||||
// The resource name.
|
||||
Name string `json:"name,omitempty" mutable:"case"`
|
||||
|
||||
// The resource type.
|
||||
Type string `json:"type,omitempty" mutable:"case"`
|
||||
|
||||
// The resource location.
|
||||
Location string `json:"location,omitempty"`
|
||||
|
||||
// SystemData - The system metadata relating to this resource
|
||||
SystemData *SystemData `json:"systemData,omitempty"`
|
||||
|
||||
// The resource tags.
|
||||
Tags Tags `json:"tags,omitempty" mutable:"true"`
|
||||
|
||||
// The cluster properties.
|
||||
Properties OpenShiftClusterProperties `json:"properties,omitempty"`
|
||||
}
|
||||
|
||||
// Tags represents an OpenShift cluster's tags.
|
||||
type Tags map[string]string
|
||||
|
||||
// OpenShiftClusterProperties represents an OpenShift cluster's properties.
|
||||
type OpenShiftClusterProperties struct {
|
||||
// The cluster provisioning state.
|
||||
ProvisioningState ProvisioningState `json:"provisioningState,omitempty"`
|
||||
|
||||
// The cluster profile.
|
||||
ClusterProfile ClusterProfile `json:"clusterProfile,omitempty"`
|
||||
|
||||
// The console profile.
|
||||
ConsoleProfile ConsoleProfile `json:"consoleProfile,omitempty"`
|
||||
|
||||
// The cluster service principal profile.
|
||||
ServicePrincipalProfile ServicePrincipalProfile `json:"servicePrincipalProfile,omitempty"`
|
||||
|
||||
// The cluster network profile.
|
||||
NetworkProfile NetworkProfile `json:"networkProfile,omitempty"`
|
||||
|
||||
// The cluster master profile.
|
||||
MasterProfile MasterProfile `json:"masterProfile,omitempty"`
|
||||
|
||||
// The cluster worker profiles.
|
||||
WorkerProfiles []WorkerProfile `json:"workerProfiles,omitempty"`
|
||||
|
||||
// The cluster API server profile.
|
||||
APIServerProfile APIServerProfile `json:"apiserverProfile,omitempty"`
|
||||
|
||||
// The cluster ingress profiles.
|
||||
IngressProfiles []IngressProfile `json:"ingressProfiles,omitempty"`
|
||||
}
|
||||
|
||||
// ProvisioningState represents a provisioning state.
|
||||
type ProvisioningState string
|
||||
|
||||
// ProvisioningState constants.
|
||||
const (
|
||||
ProvisioningStateCreating ProvisioningState = "Creating"
|
||||
ProvisioningStateUpdating ProvisioningState = "Updating"
|
||||
ProvisioningStateAdminUpdating ProvisioningState = "AdminUpdating"
|
||||
ProvisioningStateDeleting ProvisioningState = "Deleting"
|
||||
ProvisioningStateSucceeded ProvisioningState = "Succeeded"
|
||||
ProvisioningStateFailed ProvisioningState = "Failed"
|
||||
)
|
||||
|
||||
// FipsValidatedModules determines if FIPS is used.
|
||||
type FipsValidatedModules string
|
||||
|
||||
// FipsValidatedModules constants.
|
||||
const (
|
||||
FipsValidatedModulesEnabled FipsValidatedModules = "Enabled"
|
||||
FipsValidatedModulesDisabled FipsValidatedModules = "Disabled"
|
||||
)
|
||||
|
||||
// ClusterProfile represents a cluster profile.
|
||||
type ClusterProfile struct {
|
||||
// The pull secret for the cluster.
|
||||
PullSecret string `json:"pullSecret,omitempty"`
|
||||
|
||||
// The domain for the cluster.
|
||||
Domain string `json:"domain,omitempty"`
|
||||
|
||||
// The version of the cluster.
|
||||
Version string `json:"version,omitempty"`
|
||||
|
||||
// The ID of the cluster resource group.
|
||||
ResourceGroupID string `json:"resourceGroupId,omitempty"`
|
||||
|
||||
// If FIPS validated crypto modules are used
|
||||
FipsValidatedModules FipsValidatedModules `json:"fipsValidatedModules,omitempty"`
|
||||
}
|
||||
|
||||
// ConsoleProfile represents a console profile.
|
||||
type ConsoleProfile struct {
|
||||
// The URL to access the cluster console.
|
||||
URL string `json:"url,omitempty"`
|
||||
}
|
||||
|
||||
// ServicePrincipalProfile represents a service principal profile.
|
||||
type ServicePrincipalProfile struct {
|
||||
// The client ID used for the cluster.
|
||||
ClientID string `json:"clientId,omitempty" mutable:"true"`
|
||||
|
||||
// The client secret used for the cluster.
|
||||
ClientSecret string `json:"clientSecret,omitempty" mutable:"true"`
|
||||
}
|
||||
|
||||
type OutboundType string
|
||||
|
||||
const (
|
||||
OutboundTypeUserDefinedRouting OutboundType = "UserDefinedRouting"
|
||||
OutboundTypeLoadbalancer OutboundType = "Loadbalancer"
|
||||
)
|
||||
|
||||
// NetworkProfile represents a network profile.
|
||||
type NetworkProfile struct {
|
||||
// The CIDR used for OpenShift/Kubernetes Pods.
|
||||
PodCIDR string `json:"podCidr,omitempty"`
|
||||
|
||||
// The CIDR used for OpenShift/Kubernetes Services.
|
||||
ServiceCIDR string `json:"serviceCidr,omitempty"`
|
||||
|
||||
// The OutboundType used for egress traffic.
|
||||
OutboundType OutboundType `json:"outboundType,omitempty"`
|
||||
}
|
||||
|
||||
// EncryptionAtHost represents encryption at host state
|
||||
type EncryptionAtHost string
|
||||
|
||||
// EncryptionAtHost constants
|
||||
const (
|
||||
EncryptionAtHostEnabled EncryptionAtHost = "Enabled"
|
||||
EncryptionAtHostDisabled EncryptionAtHost = "Disabled"
|
||||
)
|
||||
|
||||
// MasterProfile represents a master profile.
|
||||
type MasterProfile struct {
|
||||
// The size of the master VMs.
|
||||
VMSize VMSize `json:"vmSize,omitempty"`
|
||||
|
||||
// The Azure resource ID of the master subnet.
|
||||
SubnetID string `json:"subnetId,omitempty"`
|
||||
|
||||
// Whether master virtual machines are encrypted at host.
|
||||
EncryptionAtHost EncryptionAtHost `json:"encryptionAtHost,omitempty"`
|
||||
|
||||
// The resource ID of an associated DiskEncryptionSet, if applicable.
|
||||
DiskEncryptionSetID string `json:"diskEncryptionSetId,omitempty"`
|
||||
}
|
||||
|
||||
// VM size availability varies by region.
|
||||
// If a node contains insufficient compute resources (memory, cpu, etc.), pods might fail to run correctly.
|
||||
// For more details on restricted VM sizes, see: https://docs.microsoft.com/en-us/azure/openshift/support-policies-v4#supported-virtual-machine-sizes
|
||||
type VMSize string
|
||||
|
||||
// WorkerProfile represents a worker profile.
|
||||
type WorkerProfile struct {
|
||||
// The worker profile name.
|
||||
Name string `json:"name,omitempty"`
|
||||
|
||||
// The size of the worker VMs.
|
||||
VMSize VMSize `json:"vmSize,omitempty"`
|
||||
|
||||
// The disk size of the worker VMs.
|
||||
DiskSizeGB int `json:"diskSizeGB,omitempty"`
|
||||
|
||||
// The Azure resource ID of the worker subnet.
|
||||
SubnetID string `json:"subnetId,omitempty"`
|
||||
|
||||
// The number of worker VMs.
|
||||
Count int `json:"count,omitempty"`
|
||||
|
||||
// Whether master virtual machines are encrypted at host.
|
||||
EncryptionAtHost EncryptionAtHost `json:"encryptionAtHost,omitempty"`
|
||||
|
||||
// The resource ID of an associated DiskEncryptionSet, if applicable.
|
||||
DiskEncryptionSetID string `json:"diskEncryptionSetId,omitempty"`
|
||||
}
|
||||
|
||||
// APIServerProfile represents an API server profile.
|
||||
type APIServerProfile struct {
|
||||
// API server visibility.
|
||||
Visibility Visibility `json:"visibility,omitempty"`
|
||||
|
||||
// The URL to access the cluster API server.
|
||||
URL string `json:"url,omitempty"`
|
||||
|
||||
// The IP of the cluster API server.
|
||||
IP string `json:"ip,omitempty"`
|
||||
}
|
||||
|
||||
// Visibility represents visibility.
|
||||
type Visibility string
|
||||
|
||||
// Visibility constants
|
||||
const (
|
||||
VisibilityPublic Visibility = "Public"
|
||||
VisibilityPrivate Visibility = "Private"
|
||||
)
|
||||
|
||||
// IngressProfile represents an ingress profile.
|
||||
type IngressProfile struct {
|
||||
// The ingress profile name.
|
||||
Name string `json:"name,omitempty"`
|
||||
|
||||
// Ingress visibility.
|
||||
Visibility Visibility `json:"visibility,omitempty"`
|
||||
|
||||
// The IP of the ingress.
|
||||
IP string `json:"ip,omitempty"`
|
||||
}
|
||||
|
||||
// CreatedByType by defines user type, which executed the request
|
||||
type CreatedByType string
|
||||
|
||||
const (
|
||||
CreatedByTypeApplication CreatedByType = "Application"
|
||||
CreatedByTypeKey CreatedByType = "Key"
|
||||
CreatedByTypeManagedIdentity CreatedByType = "ManagedIdentity"
|
||||
CreatedByTypeUser CreatedByType = "User"
|
||||
)
|
||||
|
||||
// SystemData metadata pertaining to creation and last modification of the resource.
|
||||
type SystemData struct {
|
||||
// The identity that created the resource.
|
||||
CreatedBy string `json:"createdBy,omitempty"`
|
||||
// The type of identity that created the resource. Possible values include: 'User', 'Application', 'ManagedIdentity', 'Key'
|
||||
CreatedByType CreatedByType `json:"createdByType,omitempty"`
|
||||
// The timestamp of resource creation (UTC).
|
||||
CreatedAt *time.Time `json:"createdAt,omitempty"`
|
||||
// The identity that last modified the resource.
|
||||
LastModifiedBy string `json:"lastModifiedBy,omitempty"`
|
||||
// The type of identity that last modified the resource. Possible values include: 'User', 'Application', 'ManagedIdentity', 'Key'
|
||||
LastModifiedByType CreatedByType `json:"lastModifiedByType,omitempty"`
|
||||
// The type of identity that last modified the resource.
|
||||
LastModifiedAt *time.Time `json:"lastModifiedAt,omitempty"`
|
||||
}
|
|
@ -0,0 +1,185 @@
|
|||
package v20230701preview
|
||||
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the Apache License 2.0.
|
||||
|
||||
import (
|
||||
"github.com/Azure/ARO-RP/pkg/api"
|
||||
)
|
||||
|
||||
type openShiftClusterConverter struct{}
|
||||
|
||||
// ToExternal returns a new external representation of the internal object,
|
||||
// reading from the subset of the internal object's fields that appear in the
|
||||
// external representation. ToExternal does not modify its argument; there is
|
||||
// no pointer aliasing between the passed and returned objects
|
||||
func (c openShiftClusterConverter) ToExternal(oc *api.OpenShiftCluster) interface{} {
|
||||
out := &OpenShiftCluster{
|
||||
ID: oc.ID,
|
||||
Name: oc.Name,
|
||||
Type: oc.Type,
|
||||
Location: oc.Location,
|
||||
Properties: OpenShiftClusterProperties{
|
||||
ProvisioningState: ProvisioningState(oc.Properties.ProvisioningState),
|
||||
ClusterProfile: ClusterProfile{
|
||||
PullSecret: string(oc.Properties.ClusterProfile.PullSecret),
|
||||
Domain: oc.Properties.ClusterProfile.Domain,
|
||||
Version: oc.Properties.ClusterProfile.Version,
|
||||
ResourceGroupID: oc.Properties.ClusterProfile.ResourceGroupID,
|
||||
FipsValidatedModules: FipsValidatedModules(oc.Properties.ClusterProfile.FipsValidatedModules),
|
||||
},
|
||||
ConsoleProfile: ConsoleProfile{
|
||||
URL: oc.Properties.ConsoleProfile.URL,
|
||||
},
|
||||
ServicePrincipalProfile: ServicePrincipalProfile{
|
||||
ClientID: oc.Properties.ServicePrincipalProfile.ClientID,
|
||||
ClientSecret: string(oc.Properties.ServicePrincipalProfile.ClientSecret),
|
||||
},
|
||||
NetworkProfile: NetworkProfile{
|
||||
PodCIDR: oc.Properties.NetworkProfile.PodCIDR,
|
||||
ServiceCIDR: oc.Properties.NetworkProfile.ServiceCIDR,
|
||||
OutboundType: OutboundType(oc.Properties.NetworkProfile.OutboundType),
|
||||
},
|
||||
MasterProfile: MasterProfile{
|
||||
VMSize: VMSize(oc.Properties.MasterProfile.VMSize),
|
||||
SubnetID: oc.Properties.MasterProfile.SubnetID,
|
||||
EncryptionAtHost: EncryptionAtHost(oc.Properties.MasterProfile.EncryptionAtHost),
|
||||
DiskEncryptionSetID: oc.Properties.MasterProfile.DiskEncryptionSetID,
|
||||
},
|
||||
APIServerProfile: APIServerProfile{
|
||||
Visibility: Visibility(oc.Properties.APIServerProfile.Visibility),
|
||||
URL: oc.Properties.APIServerProfile.URL,
|
||||
IP: oc.Properties.APIServerProfile.IP,
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
if oc.Properties.WorkerProfiles != nil {
|
||||
out.Properties.WorkerProfiles = make([]WorkerProfile, 0, len(oc.Properties.WorkerProfiles))
|
||||
for _, p := range oc.Properties.WorkerProfiles {
|
||||
out.Properties.WorkerProfiles = append(out.Properties.WorkerProfiles, WorkerProfile{
|
||||
Name: p.Name,
|
||||
VMSize: VMSize(p.VMSize),
|
||||
DiskSizeGB: p.DiskSizeGB,
|
||||
SubnetID: p.SubnetID,
|
||||
Count: p.Count,
|
||||
EncryptionAtHost: EncryptionAtHost(p.EncryptionAtHost),
|
||||
DiskEncryptionSetID: p.DiskEncryptionSetID,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
if oc.Properties.IngressProfiles != nil {
|
||||
out.Properties.IngressProfiles = make([]IngressProfile, 0, len(oc.Properties.IngressProfiles))
|
||||
for _, p := range oc.Properties.IngressProfiles {
|
||||
out.Properties.IngressProfiles = append(out.Properties.IngressProfiles, IngressProfile{
|
||||
Name: p.Name,
|
||||
Visibility: Visibility(p.Visibility),
|
||||
IP: p.IP,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
if oc.Tags != nil {
|
||||
out.Tags = make(map[string]string, len(oc.Tags))
|
||||
for k, v := range oc.Tags {
|
||||
out.Tags[k] = v
|
||||
}
|
||||
}
|
||||
|
||||
out.SystemData = &SystemData{
|
||||
CreatedBy: oc.SystemData.CreatedBy,
|
||||
CreatedAt: oc.SystemData.CreatedAt,
|
||||
CreatedByType: CreatedByType(oc.SystemData.CreatedByType),
|
||||
LastModifiedBy: oc.SystemData.LastModifiedBy,
|
||||
LastModifiedAt: oc.SystemData.LastModifiedAt,
|
||||
LastModifiedByType: CreatedByType(oc.SystemData.LastModifiedByType),
|
||||
}
|
||||
|
||||
return out
|
||||
}
|
||||
|
||||
// ToExternalList returns a slice of external representations of the internal
|
||||
// objects
|
||||
func (c openShiftClusterConverter) ToExternalList(ocs []*api.OpenShiftCluster, nextLink string) interface{} {
|
||||
l := &OpenShiftClusterList{
|
||||
OpenShiftClusters: make([]*OpenShiftCluster, 0, len(ocs)),
|
||||
NextLink: nextLink,
|
||||
}
|
||||
|
||||
for _, oc := range ocs {
|
||||
l.OpenShiftClusters = append(l.OpenShiftClusters, c.ToExternal(oc).(*OpenShiftCluster))
|
||||
}
|
||||
|
||||
return l
|
||||
}
|
||||
|
||||
// ToInternal overwrites in place a pre-existing internal object, setting (only)
|
||||
// all mapped fields from the external representation. ToInternal modifies its
|
||||
// argument; there is no pointer aliasing between the passed and returned
|
||||
// objects
|
||||
func (c openShiftClusterConverter) ToInternal(_oc interface{}, out *api.OpenShiftCluster) {
|
||||
oc := _oc.(*OpenShiftCluster)
|
||||
|
||||
out.ID = oc.ID
|
||||
out.Name = oc.Name
|
||||
out.Type = oc.Type
|
||||
out.Location = oc.Location
|
||||
out.Tags = nil
|
||||
if oc.Tags != nil {
|
||||
out.Tags = make(map[string]string, len(oc.Tags))
|
||||
for k, v := range oc.Tags {
|
||||
out.Tags[k] = v
|
||||
}
|
||||
}
|
||||
out.Properties.ProvisioningState = api.ProvisioningState(oc.Properties.ProvisioningState)
|
||||
out.Properties.ClusterProfile.PullSecret = api.SecureString(oc.Properties.ClusterProfile.PullSecret)
|
||||
out.Properties.ClusterProfile.Domain = oc.Properties.ClusterProfile.Domain
|
||||
out.Properties.ClusterProfile.Version = oc.Properties.ClusterProfile.Version
|
||||
out.Properties.ClusterProfile.ResourceGroupID = oc.Properties.ClusterProfile.ResourceGroupID
|
||||
out.Properties.ConsoleProfile.URL = oc.Properties.ConsoleProfile.URL
|
||||
out.Properties.ClusterProfile.FipsValidatedModules = api.FipsValidatedModules(oc.Properties.ClusterProfile.FipsValidatedModules)
|
||||
out.Properties.ServicePrincipalProfile.ClientID = oc.Properties.ServicePrincipalProfile.ClientID
|
||||
out.Properties.ServicePrincipalProfile.ClientSecret = api.SecureString(oc.Properties.ServicePrincipalProfile.ClientSecret)
|
||||
out.Properties.NetworkProfile.PodCIDR = oc.Properties.NetworkProfile.PodCIDR
|
||||
out.Properties.NetworkProfile.ServiceCIDR = oc.Properties.NetworkProfile.ServiceCIDR
|
||||
out.Properties.NetworkProfile.OutboundType = api.OutboundType(oc.Properties.NetworkProfile.OutboundType)
|
||||
out.Properties.MasterProfile.VMSize = api.VMSize(oc.Properties.MasterProfile.VMSize)
|
||||
out.Properties.MasterProfile.SubnetID = oc.Properties.MasterProfile.SubnetID
|
||||
out.Properties.MasterProfile.EncryptionAtHost = api.EncryptionAtHost(oc.Properties.MasterProfile.EncryptionAtHost)
|
||||
out.Properties.MasterProfile.DiskEncryptionSetID = oc.Properties.MasterProfile.DiskEncryptionSetID
|
||||
out.Properties.WorkerProfiles = nil
|
||||
if oc.Properties.WorkerProfiles != nil {
|
||||
out.Properties.WorkerProfiles = make([]api.WorkerProfile, len(oc.Properties.WorkerProfiles))
|
||||
for i := range oc.Properties.WorkerProfiles {
|
||||
out.Properties.WorkerProfiles[i].Name = oc.Properties.WorkerProfiles[i].Name
|
||||
out.Properties.WorkerProfiles[i].VMSize = api.VMSize(oc.Properties.WorkerProfiles[i].VMSize)
|
||||
out.Properties.WorkerProfiles[i].DiskSizeGB = oc.Properties.WorkerProfiles[i].DiskSizeGB
|
||||
out.Properties.WorkerProfiles[i].SubnetID = oc.Properties.WorkerProfiles[i].SubnetID
|
||||
out.Properties.WorkerProfiles[i].Count = oc.Properties.WorkerProfiles[i].Count
|
||||
out.Properties.WorkerProfiles[i].EncryptionAtHost = api.EncryptionAtHost(oc.Properties.WorkerProfiles[i].EncryptionAtHost)
|
||||
out.Properties.WorkerProfiles[i].DiskEncryptionSetID = oc.Properties.WorkerProfiles[i].DiskEncryptionSetID
|
||||
}
|
||||
}
|
||||
out.Properties.APIServerProfile.Visibility = api.Visibility(oc.Properties.APIServerProfile.Visibility)
|
||||
out.Properties.APIServerProfile.URL = oc.Properties.APIServerProfile.URL
|
||||
out.Properties.APIServerProfile.IP = oc.Properties.APIServerProfile.IP
|
||||
out.Properties.IngressProfiles = nil
|
||||
if oc.Properties.IngressProfiles != nil {
|
||||
out.Properties.IngressProfiles = make([]api.IngressProfile, len(oc.Properties.IngressProfiles))
|
||||
for i := range oc.Properties.IngressProfiles {
|
||||
out.Properties.IngressProfiles[i].Name = oc.Properties.IngressProfiles[i].Name
|
||||
out.Properties.IngressProfiles[i].Visibility = api.Visibility(oc.Properties.IngressProfiles[i].Visibility)
|
||||
out.Properties.IngressProfiles[i].IP = oc.Properties.IngressProfiles[i].IP
|
||||
}
|
||||
}
|
||||
|
||||
out.SystemData = api.SystemData{
|
||||
CreatedBy: oc.SystemData.CreatedBy,
|
||||
CreatedAt: oc.SystemData.CreatedAt,
|
||||
CreatedByType: api.CreatedByType(oc.SystemData.CreatedByType),
|
||||
LastModifiedBy: oc.SystemData.LastModifiedBy,
|
||||
LastModifiedAt: oc.SystemData.LastModifiedAt,
|
||||
LastModifiedByType: api.CreatedByType(oc.SystemData.CreatedByType),
|
||||
}
|
||||
}
|
|
@ -0,0 +1,63 @@
|
|||
package v20230701preview
|
||||
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the Apache License 2.0.
|
||||
|
||||
import (
|
||||
"github.com/Azure/ARO-RP/pkg/api"
|
||||
)
|
||||
|
||||
func exampleOpenShiftCluster() *OpenShiftCluster {
|
||||
doc := api.ExampleOpenShiftClusterDocument()
|
||||
return (&openShiftClusterConverter{}).ToExternal(doc.OpenShiftCluster).(*OpenShiftCluster)
|
||||
}
|
||||
|
||||
// ExampleOpenShiftClusterPatchParameter returns an example OpenShiftCluster
|
||||
// object that an end-user might send to create a cluster in a PATCH request
|
||||
func ExampleOpenShiftClusterPatchParameter() interface{} {
|
||||
oc := ExampleOpenShiftClusterPutParameter().(*OpenShiftCluster)
|
||||
oc.Location = ""
|
||||
oc.SystemData = nil
|
||||
|
||||
return oc
|
||||
}
|
||||
|
||||
// ExampleOpenShiftClusterPutParameter returns an example OpenShiftCluster
|
||||
// object that an end-user might send to create a cluster in a PUT request
|
||||
func ExampleOpenShiftClusterPutParameter() interface{} {
|
||||
oc := exampleOpenShiftCluster()
|
||||
oc.ID = ""
|
||||
oc.Name = ""
|
||||
oc.Type = ""
|
||||
oc.Properties.ProvisioningState = ""
|
||||
oc.Properties.ClusterProfile.Version = ""
|
||||
oc.Properties.ClusterProfile.FipsValidatedModules = FipsValidatedModulesEnabled
|
||||
oc.Properties.ConsoleProfile.URL = ""
|
||||
oc.Properties.APIServerProfile.URL = ""
|
||||
oc.Properties.APIServerProfile.IP = ""
|
||||
oc.Properties.IngressProfiles[0].IP = ""
|
||||
oc.Properties.MasterProfile.EncryptionAtHost = EncryptionAtHostEnabled
|
||||
oc.SystemData = nil
|
||||
|
||||
return oc
|
||||
}
|
||||
|
||||
// ExampleOpenShiftClusterResponse returns an example OpenShiftCluster object
|
||||
// that the RP might return to an end-user
|
||||
func ExampleOpenShiftClusterResponse() interface{} {
|
||||
oc := exampleOpenShiftCluster()
|
||||
oc.Properties.ClusterProfile.PullSecret = ""
|
||||
oc.Properties.ServicePrincipalProfile.ClientSecret = ""
|
||||
|
||||
return oc
|
||||
}
|
||||
|
||||
// ExampleOpenShiftClusterListResponse returns an example OpenShiftClusterList
|
||||
// object that the RP might return to an end-user
|
||||
func ExampleOpenShiftClusterListResponse() interface{} {
|
||||
return &OpenShiftClusterList{
|
||||
OpenShiftClusters: []*OpenShiftCluster{
|
||||
ExampleOpenShiftClusterResponse().(*OpenShiftCluster),
|
||||
},
|
||||
}
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
package v20230701preview
|
||||
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the Apache License 2.0.
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
)
|
||||
|
||||
// UnmarshalJSON unmarshals tags. We override this to ensure that PATCH
|
||||
// behaviour overwrites an existing tags map rather than endlessly adding to it
|
||||
func (t *Tags) UnmarshalJSON(b []byte) error {
|
||||
var m map[string]string
|
||||
err := json.Unmarshal(b, &m)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
*t = m
|
||||
return nil
|
||||
}
|
|
@ -0,0 +1,365 @@
|
|||
package v20230701preview
|
||||
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the Apache License 2.0.
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net"
|
||||
"net/http"
|
||||
"net/url"
|
||||
"strings"
|
||||
|
||||
"github.com/Azure/go-autorest/autorest/azure"
|
||||
|
||||
"github.com/Azure/ARO-RP/pkg/api"
|
||||
"github.com/Azure/ARO-RP/pkg/api/validate"
|
||||
"github.com/Azure/ARO-RP/pkg/util/immutable"
|
||||
"github.com/Azure/ARO-RP/pkg/util/pullsecret"
|
||||
"github.com/Azure/ARO-RP/pkg/util/subnet"
|
||||
"github.com/Azure/ARO-RP/pkg/util/uuid"
|
||||
)
|
||||
|
||||
type openShiftClusterStaticValidator struct {
|
||||
location string
|
||||
domain string
|
||||
requireD2sV3Workers bool
|
||||
resourceID string
|
||||
|
||||
r azure.Resource
|
||||
}
|
||||
|
||||
// Validate validates an OpenShift cluster
|
||||
func (sv openShiftClusterStaticValidator) Static(_oc interface{}, _current *api.OpenShiftCluster, location, domain string, requireD2sV3Workers bool, resourceID string) error {
|
||||
sv.location = location
|
||||
sv.domain = domain
|
||||
sv.requireD2sV3Workers = requireD2sV3Workers
|
||||
sv.resourceID = resourceID
|
||||
|
||||
oc := _oc.(*OpenShiftCluster)
|
||||
|
||||
var current *OpenShiftCluster
|
||||
if _current != nil {
|
||||
current = (&openShiftClusterConverter{}).ToExternal(_current).(*OpenShiftCluster)
|
||||
}
|
||||
|
||||
var err error
|
||||
sv.r, err = azure.ParseResourceID(sv.resourceID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
err = sv.validate(oc, current == nil)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if current == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
return sv.validateDelta(oc, current)
|
||||
}
|
||||
|
||||
func (sv openShiftClusterStaticValidator) validate(oc *OpenShiftCluster, isCreate bool) error {
|
||||
if !strings.EqualFold(oc.ID, sv.resourceID) {
|
||||
return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeMismatchingResourceID, "id", "The provided resource ID '%s' did not match the name in the Url '%s'.", oc.ID, sv.resourceID)
|
||||
}
|
||||
if !strings.EqualFold(oc.Name, sv.r.ResourceName) {
|
||||
return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeMismatchingResourceName, "name", "The provided resource name '%s' did not match the name in the Url '%s'.", oc.Name, sv.r.ResourceName)
|
||||
}
|
||||
if !strings.EqualFold(oc.Type, resourceProviderNamespace+"/"+resourceType) {
|
||||
return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeMismatchingResourceType, "type", "The provided resource type '%s' did not match the name in the Url '%s'.", oc.Type, resourceProviderNamespace+"/"+resourceType)
|
||||
}
|
||||
if !strings.EqualFold(oc.Location, sv.location) {
|
||||
return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, "location", "The provided location '%s' is invalid.", oc.Location)
|
||||
}
|
||||
|
||||
return sv.validateProperties("properties", &oc.Properties, isCreate)
|
||||
}
|
||||
|
||||
func (sv openShiftClusterStaticValidator) validateProperties(path string, p *OpenShiftClusterProperties, isCreate bool) error {
|
||||
switch p.ProvisioningState {
|
||||
case ProvisioningStateCreating, ProvisioningStateUpdating,
|
||||
ProvisioningStateAdminUpdating, ProvisioningStateDeleting,
|
||||
ProvisioningStateSucceeded, ProvisioningStateFailed:
|
||||
default:
|
||||
return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, path+".provisioningState", "The provided provisioning state '%s' is invalid.", p.ProvisioningState)
|
||||
}
|
||||
if err := sv.validateClusterProfile(path+".clusterProfile", &p.ClusterProfile, isCreate); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := sv.validateConsoleProfile(path+".consoleProfile", &p.ConsoleProfile); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := sv.validateServicePrincipalProfile(path+".servicePrincipalProfile", &p.ServicePrincipalProfile); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := sv.validateNetworkProfile(path+".networkProfile", &p.NetworkProfile, p.APIServerProfile.Visibility, p.IngressProfiles[0].Visibility); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := sv.validateMasterProfile(path+".masterProfile", &p.MasterProfile); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := sv.validateAPIServerProfile(path+".apiserverProfile", &p.APIServerProfile); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if isCreate {
|
||||
if len(p.WorkerProfiles) != 1 {
|
||||
return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, path+".workerProfiles", "There should be exactly one worker profile.")
|
||||
}
|
||||
if err := sv.validateWorkerProfile(path+".workerProfiles['"+p.WorkerProfiles[0].Name+"']", &p.WorkerProfiles[0], &p.MasterProfile); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if len(p.IngressProfiles) != 1 {
|
||||
return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, path+".ingressProfiles", "There should be exactly one ingress profile.")
|
||||
}
|
||||
if err := sv.validateIngressProfile(path+".ingressProfiles['"+p.IngressProfiles[0].Name+"']", &p.IngressProfiles[0]); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (sv openShiftClusterStaticValidator) validateClusterProfile(path string, cp *ClusterProfile, isCreate bool) error {
|
||||
if pullsecret.Validate(cp.PullSecret) != nil {
|
||||
return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, path+".pullSecret", "The provided pull secret is invalid.")
|
||||
}
|
||||
if isCreate {
|
||||
if !validate.RxDomainName.MatchString(cp.Domain) {
|
||||
return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, path+".domain", "The provided domain '%s' is invalid.", cp.Domain)
|
||||
}
|
||||
} else {
|
||||
// We currently do not allow domains with a digit as a first charecter,
|
||||
// for new clusters, but we already have some existing clusters with
|
||||
// domains like this and we need to allow customers to update them.
|
||||
if !validate.RxDomainNameRFC1123.MatchString(cp.Domain) {
|
||||
return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, path+".domain", "The provided domain '%s' is invalid.", cp.Domain)
|
||||
}
|
||||
}
|
||||
// domain ends .aroapp.io, but doesn't end .<rp-location>.aroapp.io
|
||||
if strings.HasSuffix(cp.Domain, "."+strings.SplitN(sv.domain, ".", 2)[1]) &&
|
||||
!strings.HasSuffix(cp.Domain, "."+sv.domain) {
|
||||
return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, path+".domain", "The provided domain '%s' is invalid.", cp.Domain)
|
||||
}
|
||||
// domain is of form multiple.names.<rp-location>.aroapp.io
|
||||
if strings.HasSuffix(cp.Domain, "."+sv.domain) &&
|
||||
strings.ContainsRune(strings.TrimSuffix(cp.Domain, "."+sv.domain), '.') {
|
||||
return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, path+".domain", "The provided domain '%s' is invalid.", cp.Domain)
|
||||
}
|
||||
|
||||
if !validate.RxResourceGroupID.MatchString(cp.ResourceGroupID) {
|
||||
return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, path+".resourceGroupId", "The provided resource group '%s' is invalid.", cp.ResourceGroupID)
|
||||
}
|
||||
if strings.Split(cp.ResourceGroupID, "/")[2] != sv.r.SubscriptionID {
|
||||
return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, path+".resourceGroupId", "The provided resource group '%s' is invalid: must be in same subscription as cluster.", cp.ResourceGroupID)
|
||||
}
|
||||
if strings.EqualFold(cp.ResourceGroupID, fmt.Sprintf("/subscriptions/%s/resourceGroups/%s", sv.r.SubscriptionID, sv.r.ResourceGroup)) {
|
||||
return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, path+".resourceGroupId", "The provided resource group '%s' is invalid: must be different from resourceGroup of the OpenShift cluster object.", cp.ResourceGroupID)
|
||||
}
|
||||
|
||||
switch cp.FipsValidatedModules {
|
||||
case FipsValidatedModulesDisabled, FipsValidatedModulesEnabled:
|
||||
default:
|
||||
return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, path+".fipsValidatedModules", "The provided value '%s' is invalid.", cp.FipsValidatedModules)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (sv openShiftClusterStaticValidator) validateConsoleProfile(path string, cp *ConsoleProfile) error {
|
||||
if cp.URL != "" {
|
||||
if _, err := url.Parse(cp.URL); err != nil {
|
||||
return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, path+".url", "The provided console URL '%s' is invalid.", cp.URL)
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (sv openShiftClusterStaticValidator) validateServicePrincipalProfile(path string, spp *ServicePrincipalProfile) error {
|
||||
valid := uuid.IsValid(spp.ClientID)
|
||||
if !valid {
|
||||
return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, path+".clientId", "The provided client ID '%s' is invalid.", spp.ClientID)
|
||||
}
|
||||
if spp.ClientSecret == "" {
|
||||
return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, path+".clientSecret", "The provided client secret is invalid.")
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (sv openShiftClusterStaticValidator) validateNetworkProfile(path string, np *NetworkProfile, apiServerVisibility Visibility, ingressVisibility Visibility) error {
|
||||
_, pod, err := net.ParseCIDR(np.PodCIDR)
|
||||
if err != nil {
|
||||
return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, path+".podCidr", "The provided pod CIDR '%s' is invalid: '%s'.", np.PodCIDR, err)
|
||||
}
|
||||
if pod.IP.To4() == nil {
|
||||
return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, path+".podCidr", "The provided pod CIDR '%s' is invalid: must be IPv4.", np.PodCIDR)
|
||||
}
|
||||
{
|
||||
ones, _ := pod.Mask.Size()
|
||||
if ones > 18 {
|
||||
return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, path+".podCidr", "The provided vnet CIDR '%s' is invalid: must be /18 or larger.", np.PodCIDR)
|
||||
}
|
||||
}
|
||||
_, service, err := net.ParseCIDR(np.ServiceCIDR)
|
||||
if err != nil {
|
||||
return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, path+".serviceCidr", "The provided service CIDR '%s' is invalid: '%s'.", np.ServiceCIDR, err)
|
||||
}
|
||||
if service.IP.To4() == nil {
|
||||
return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, path+".serviceCidr", "The provided service CIDR '%s' is invalid: must be IPv4.", np.ServiceCIDR)
|
||||
}
|
||||
{
|
||||
ones, _ := service.Mask.Size()
|
||||
if ones > 22 {
|
||||
return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, path+".serviceCidr", "The provided vnet CIDR '%s' is invalid: must be /22 or larger.", np.ServiceCIDR)
|
||||
}
|
||||
}
|
||||
|
||||
if np.OutboundType != "" {
|
||||
if np.OutboundType != OutboundTypeLoadbalancer && np.OutboundType != OutboundTypeUserDefinedRouting {
|
||||
return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, path+".outboundType", "The provided outboundType '%s' is invalid: must be UserDefinedRouting or Loadbalancer.", np.OutboundType)
|
||||
}
|
||||
if np.OutboundType == OutboundTypeUserDefinedRouting && (apiServerVisibility != VisibilityPrivate || ingressVisibility != VisibilityPrivate) {
|
||||
return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, path+".outboundType", "The provided outboundType '%s' is invalid: cannot use UserDefinedRouting if either API Server Visibility or Ingress Visibility is public.", np.OutboundType)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (sv openShiftClusterStaticValidator) validateMasterProfile(path string, mp *MasterProfile) error {
|
||||
if !validate.VMSizeIsValid(api.VMSize(mp.VMSize), sv.requireD2sV3Workers, true) {
|
||||
return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, path+".vmSize", "The provided master VM size '%s' is invalid.", mp.VMSize)
|
||||
}
|
||||
if !validate.RxSubnetID.MatchString(mp.SubnetID) {
|
||||
return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, path+".subnetId", "The provided master VM subnet '%s' is invalid.", mp.SubnetID)
|
||||
}
|
||||
sr, err := azure.ParseResourceID(mp.SubnetID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if sr.SubscriptionID != sv.r.SubscriptionID {
|
||||
return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, path+".subnetId", "The provided master VM subnet '%s' is invalid: must be in same subscription as cluster.", mp.SubnetID)
|
||||
}
|
||||
switch mp.EncryptionAtHost {
|
||||
case EncryptionAtHostDisabled, EncryptionAtHostEnabled:
|
||||
default:
|
||||
return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, path+".encryptionAtHost", "The provided value '%s' is invalid.", mp.EncryptionAtHost)
|
||||
}
|
||||
if mp.DiskEncryptionSetID != "" {
|
||||
if !validate.RxDiskEncryptionSetID.MatchString(mp.DiskEncryptionSetID) {
|
||||
return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, path+".diskEncryptionSetId", "The provided master disk encryption set '%s' is invalid.", mp.DiskEncryptionSetID)
|
||||
}
|
||||
desr, err := azure.ParseResourceID(mp.DiskEncryptionSetID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if desr.SubscriptionID != sv.r.SubscriptionID {
|
||||
return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, path+".diskEncryptionSetId", "The provided master disk encryption set '%s' is invalid: must be in same subscription as cluster.", mp.DiskEncryptionSetID)
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (sv openShiftClusterStaticValidator) validateWorkerProfile(path string, wp *WorkerProfile, mp *MasterProfile) error {
|
||||
if wp.Name != "worker" {
|
||||
return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, path+".name", "The provided worker name '%s' is invalid.", wp.Name)
|
||||
}
|
||||
if !validate.VMSizeIsValid(api.VMSize(wp.VMSize), sv.requireD2sV3Workers, false) {
|
||||
return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, path+".vmSize", "The provided worker VM size '%s' is invalid.", wp.VMSize)
|
||||
}
|
||||
if !validate.DiskSizeIsValid(wp.DiskSizeGB) {
|
||||
return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, path+".diskSizeGB", "The provided worker disk size '%d' is invalid.", wp.DiskSizeGB)
|
||||
}
|
||||
if !validate.RxSubnetID.MatchString(wp.SubnetID) {
|
||||
return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, path+".subnetId", "The provided worker VM subnet '%s' is invalid.", wp.SubnetID)
|
||||
}
|
||||
switch wp.EncryptionAtHost {
|
||||
case EncryptionAtHostDisabled, EncryptionAtHostEnabled:
|
||||
default:
|
||||
return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, path+".encryptionAtHost", "The provided value '%s' is invalid.", wp.EncryptionAtHost)
|
||||
}
|
||||
workerVnetID, _, err := subnet.Split(wp.SubnetID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
masterVnetID, _, err := subnet.Split(mp.SubnetID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if !strings.EqualFold(masterVnetID, workerVnetID) {
|
||||
return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, path+".subnetId", "The provided worker VM subnet '%s' is invalid: must be in the same vnet as master VM subnet '%s'.", wp.SubnetID, mp.SubnetID)
|
||||
}
|
||||
if strings.EqualFold(mp.SubnetID, wp.SubnetID) {
|
||||
return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, path+".subnetId", "The provided worker VM subnet '%s' is invalid: must be different to master VM subnet '%s'.", wp.SubnetID, mp.SubnetID)
|
||||
}
|
||||
if wp.Count < 2 || wp.Count > 50 {
|
||||
return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, path+".count", "The provided worker count '%d' is invalid.", wp.Count)
|
||||
}
|
||||
if !strings.EqualFold(mp.DiskEncryptionSetID, wp.DiskEncryptionSetID) {
|
||||
return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, path+".subnetId", "The provided worker disk encryption set '%s' is invalid: must be the same as master disk encryption set '%s'.", wp.DiskEncryptionSetID, mp.DiskEncryptionSetID)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (sv openShiftClusterStaticValidator) validateAPIServerProfile(path string, ap *APIServerProfile) error {
|
||||
switch ap.Visibility {
|
||||
case VisibilityPublic, VisibilityPrivate:
|
||||
default:
|
||||
return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, path+".visibility", "The provided visibility '%s' is invalid.", ap.Visibility)
|
||||
}
|
||||
if ap.URL != "" {
|
||||
if _, err := url.Parse(ap.URL); err != nil {
|
||||
return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, path+".url", "The provided URL '%s' is invalid.", ap.URL)
|
||||
}
|
||||
}
|
||||
if ap.IP != "" {
|
||||
ip := net.ParseIP(ap.IP)
|
||||
if ip == nil {
|
||||
return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, path+".ip", "The provided IP '%s' is invalid.", ap.IP)
|
||||
}
|
||||
if ip.To4() == nil {
|
||||
return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, path+".ip", "The provided IP '%s' is invalid: must be IPv4.", ap.IP)
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (sv openShiftClusterStaticValidator) validateIngressProfile(path string, p *IngressProfile) error {
|
||||
if p.Name != "default" {
|
||||
return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, path+".name", "The provided ingress name '%s' is invalid.", p.Name)
|
||||
}
|
||||
switch p.Visibility {
|
||||
case VisibilityPublic, VisibilityPrivate:
|
||||
default:
|
||||
return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, path+".visibility", "The provided visibility '%s' is invalid.", p.Visibility)
|
||||
}
|
||||
if p.IP != "" {
|
||||
ip := net.ParseIP(p.IP)
|
||||
if ip == nil {
|
||||
return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, path+".ip", "The provided IP '%s' is invalid.", p.IP)
|
||||
}
|
||||
if ip.To4() == nil {
|
||||
return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodeInvalidParameter, path+".ip", "The provided IP '%s' is invalid: must be IPv4.", p.IP)
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (sv openShiftClusterStaticValidator) validateDelta(oc, current *OpenShiftCluster) error {
|
||||
err := immutable.Validate("", oc, current)
|
||||
if err != nil {
|
||||
err := err.(*immutable.ValidationError)
|
||||
return api.NewCloudError(http.StatusBadRequest, api.CloudErrorCodePropertyChangeNotAllowed, err.Target, err.Message)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
|
@ -0,0 +1,983 @@
|
|||
package v20230701preview
|
||||
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the Apache License 2.0.
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net/http"
|
||||
"strings"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/Azure/go-autorest/autorest/azure"
|
||||
"github.com/Azure/go-autorest/autorest/to"
|
||||
|
||||
"github.com/Azure/ARO-RP/pkg/api"
|
||||
"github.com/Azure/ARO-RP/pkg/util/uuid"
|
||||
"github.com/Azure/ARO-RP/pkg/util/version"
|
||||
"github.com/Azure/ARO-RP/test/validate"
|
||||
)
|
||||
|
||||
type validateTest struct {
|
||||
name string
|
||||
clusterName *string
|
||||
location *string
|
||||
current func(oc *OpenShiftCluster)
|
||||
modify func(oc *OpenShiftCluster)
|
||||
requireD2sV3Workers bool
|
||||
wantErr string
|
||||
}
|
||||
|
||||
type testMode string
|
||||
|
||||
const (
|
||||
testModeCreate testMode = "Create"
|
||||
testModeUpdate testMode = "Update"
|
||||
)
|
||||
|
||||
var (
|
||||
subscriptionID = "00000000-0000-0000-0000-000000000000"
|
||||
)
|
||||
|
||||
func getResourceID(clusterName string) string {
|
||||
return fmt.Sprintf("/subscriptions/%s/resourcegroups/resourceGroup/providers/microsoft.redhatopenshift/openshiftclusters/%s", subscriptionID, clusterName)
|
||||
}
|
||||
|
||||
func validOpenShiftCluster(name, location string) *OpenShiftCluster {
|
||||
timestamp, err := time.Parse(time.RFC3339, "2021-01-23T12:34:54.0000000Z")
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
oc := &OpenShiftCluster{
|
||||
ID: getResourceID(name),
|
||||
Name: name,
|
||||
Type: "Microsoft.RedHatOpenShift/OpenShiftClusters",
|
||||
Location: location,
|
||||
Tags: Tags{
|
||||
"key": "value",
|
||||
},
|
||||
SystemData: &SystemData{
|
||||
CreatedBy: "00000000-0000-0000-0000-000000000000",
|
||||
CreatedByType: CreatedByTypeApplication,
|
||||
CreatedAt: ×tamp,
|
||||
LastModifiedBy: "00000000-0000-0000-0000-000000000000",
|
||||
LastModifiedByType: CreatedByTypeApplication,
|
||||
LastModifiedAt: ×tamp,
|
||||
},
|
||||
Properties: OpenShiftClusterProperties{
|
||||
ProvisioningState: ProvisioningStateSucceeded,
|
||||
ClusterProfile: ClusterProfile{
|
||||
PullSecret: `{"auths":{"registry.connect.redhat.com":{"auth":""},"registry.redhat.io":{"auth":""}}}`,
|
||||
Domain: "cluster.location.aroapp.io",
|
||||
Version: version.DefaultInstallStream.Version.String(),
|
||||
ResourceGroupID: fmt.Sprintf("/subscriptions/%s/resourceGroups/test-cluster", subscriptionID),
|
||||
FipsValidatedModules: FipsValidatedModulesDisabled,
|
||||
},
|
||||
ConsoleProfile: ConsoleProfile{
|
||||
URL: "https://console-openshift-console.apps.cluster.location.aroapp.io/",
|
||||
},
|
||||
ServicePrincipalProfile: ServicePrincipalProfile{
|
||||
ClientSecret: "clientSecret",
|
||||
ClientID: "11111111-1111-1111-1111-111111111111",
|
||||
},
|
||||
NetworkProfile: NetworkProfile{
|
||||
PodCIDR: "10.128.0.0/14",
|
||||
ServiceCIDR: "172.30.0.0/16",
|
||||
OutboundType: OutboundTypeLoadbalancer,
|
||||
},
|
||||
MasterProfile: MasterProfile{
|
||||
VMSize: "Standard_D8s_v3",
|
||||
EncryptionAtHost: EncryptionAtHostDisabled,
|
||||
SubnetID: fmt.Sprintf("/subscriptions/%s/resourceGroups/vnet/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/master", subscriptionID),
|
||||
},
|
||||
WorkerProfiles: []WorkerProfile{
|
||||
{
|
||||
Name: "worker",
|
||||
VMSize: "Standard_D4s_v3",
|
||||
EncryptionAtHost: EncryptionAtHostDisabled,
|
||||
DiskSizeGB: 128,
|
||||
SubnetID: fmt.Sprintf("/subscriptions/%s/resourceGroups/vnet/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/worker", subscriptionID),
|
||||
Count: 3,
|
||||
},
|
||||
},
|
||||
APIServerProfile: APIServerProfile{
|
||||
Visibility: VisibilityPublic,
|
||||
URL: "https://api.cluster.location.aroapp.io:6443/",
|
||||
IP: "1.2.3.4",
|
||||
},
|
||||
IngressProfiles: []IngressProfile{
|
||||
{
|
||||
Name: "default",
|
||||
Visibility: VisibilityPublic,
|
||||
IP: "1.2.3.4",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
return oc
|
||||
}
|
||||
|
||||
func runTests(t *testing.T, mode testMode, tests []*validateTest) {
|
||||
t.Run(string(mode), func(t *testing.T) {
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
// default values if not set
|
||||
if tt.location == nil {
|
||||
tt.location = to.StringPtr("location")
|
||||
}
|
||||
|
||||
if tt.clusterName == nil {
|
||||
tt.clusterName = to.StringPtr("resourceName")
|
||||
}
|
||||
|
||||
v := &openShiftClusterStaticValidator{
|
||||
location: *tt.location,
|
||||
domain: "location.aroapp.io",
|
||||
requireD2sV3Workers: tt.requireD2sV3Workers,
|
||||
resourceID: getResourceID(*tt.clusterName),
|
||||
r: azure.Resource{
|
||||
SubscriptionID: subscriptionID,
|
||||
ResourceGroup: "resourceGroup",
|
||||
Provider: "Microsoft.RedHatOpenShift",
|
||||
ResourceType: "openshiftClusters",
|
||||
ResourceName: *tt.clusterName,
|
||||
},
|
||||
}
|
||||
|
||||
validOCForTest := func() *OpenShiftCluster {
|
||||
oc := validOpenShiftCluster(*tt.clusterName, *tt.location)
|
||||
if tt.current != nil {
|
||||
tt.current(oc)
|
||||
}
|
||||
return oc
|
||||
}
|
||||
|
||||
oc := validOCForTest()
|
||||
if tt.modify != nil {
|
||||
tt.modify(oc)
|
||||
}
|
||||
|
||||
var current *api.OpenShiftCluster
|
||||
if mode == testModeUpdate {
|
||||
current = &api.OpenShiftCluster{}
|
||||
(&openShiftClusterConverter{}).ToInternal(validOCForTest(), current)
|
||||
}
|
||||
|
||||
err := v.Static(oc, current, v.location, v.domain, tt.requireD2sV3Workers, v.resourceID)
|
||||
if err == nil {
|
||||
if tt.wantErr != "" {
|
||||
t.Error(err)
|
||||
}
|
||||
} else {
|
||||
if err.Error() != tt.wantErr {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
cloudErr := err.(*api.CloudError)
|
||||
|
||||
if cloudErr.StatusCode != http.StatusBadRequest {
|
||||
t.Error(cloudErr.StatusCode)
|
||||
}
|
||||
if cloudErr.Target == "" {
|
||||
t.Error("target is required")
|
||||
}
|
||||
|
||||
validate.CloudError(t, err)
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
func TestOpenShiftClusterStaticValidate(t *testing.T) {
|
||||
commonTests := []*validateTest{
|
||||
{
|
||||
name: "valid",
|
||||
},
|
||||
{
|
||||
name: "id wrong",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.ID = "wrong"
|
||||
},
|
||||
wantErr: "400: MismatchingResourceID: id: The provided resource ID 'wrong' did not match the name in the Url '/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resourceGroup/providers/microsoft.redhatopenshift/openshiftclusters/resourceName'.",
|
||||
},
|
||||
{
|
||||
name: "name wrong",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Name = "wrong"
|
||||
},
|
||||
wantErr: "400: MismatchingResourceName: name: The provided resource name 'wrong' did not match the name in the Url 'resourceName'.",
|
||||
},
|
||||
{
|
||||
name: "type wrong",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Type = "wrong"
|
||||
},
|
||||
wantErr: "400: MismatchingResourceType: type: The provided resource type 'wrong' did not match the name in the Url 'Microsoft.RedHatOpenShift/openShiftClusters'.",
|
||||
},
|
||||
{
|
||||
name: "location invalid",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Location = "invalid"
|
||||
},
|
||||
wantErr: "400: InvalidParameter: location: The provided location 'invalid' is invalid.",
|
||||
},
|
||||
}
|
||||
|
||||
runTests(t, testModeCreate, commonTests)
|
||||
runTests(t, testModeUpdate, commonTests)
|
||||
}
|
||||
|
||||
func TestOpenShiftClusterStaticValidateProperties(t *testing.T) {
|
||||
commonTests := []*validateTest{
|
||||
{
|
||||
name: "valid",
|
||||
},
|
||||
{
|
||||
name: "provisioningState invalid",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.ProvisioningState = "invalid"
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.provisioningState: The provided provisioning state 'invalid' is invalid.",
|
||||
},
|
||||
}
|
||||
createTests := []*validateTest{
|
||||
{
|
||||
name: "no workerProfiles invalid",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.WorkerProfiles = nil
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.workerProfiles: There should be exactly one worker profile.",
|
||||
},
|
||||
{
|
||||
name: "multiple workerProfiles invalid",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.WorkerProfiles = []WorkerProfile{{}, {}}
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.workerProfiles: There should be exactly one worker profile.",
|
||||
},
|
||||
}
|
||||
|
||||
runTests(t, testModeCreate, createTests)
|
||||
runTests(t, testModeCreate, commonTests)
|
||||
runTests(t, testModeUpdate, commonTests)
|
||||
}
|
||||
|
||||
func TestOpenShiftClusterStaticValidateClusterProfile(t *testing.T) {
|
||||
commonTests := []*validateTest{
|
||||
{
|
||||
name: "valid",
|
||||
},
|
||||
{
|
||||
name: "pull secret not a map",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.ClusterProfile.PullSecret = "1"
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.clusterProfile.pullSecret: The provided pull secret is invalid.",
|
||||
},
|
||||
{
|
||||
name: "pull secret invalid",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.ClusterProfile.PullSecret = "{"
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.clusterProfile.pullSecret: The provided pull secret is invalid.",
|
||||
},
|
||||
{
|
||||
name: "empty domain invalid",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.ClusterProfile.Domain = ""
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.clusterProfile.domain: The provided domain '' is invalid.",
|
||||
},
|
||||
{
|
||||
name: "upper case domain invalid",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.ClusterProfile.Domain = "BAD"
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.clusterProfile.domain: The provided domain 'BAD' is invalid.",
|
||||
},
|
||||
{
|
||||
name: "domain invalid",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.ClusterProfile.Domain = "!"
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.clusterProfile.domain: The provided domain '!' is invalid.",
|
||||
},
|
||||
{
|
||||
name: "wrong location managed domain invalid",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.ClusterProfile.Domain = "cluster.wronglocation.aroapp.io"
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.clusterProfile.domain: The provided domain 'cluster.wronglocation.aroapp.io' is invalid.",
|
||||
},
|
||||
{
|
||||
name: "double part managed domain invalid",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.ClusterProfile.Domain = "foo.bar.location.aroapp.io"
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.clusterProfile.domain: The provided domain 'foo.bar.location.aroapp.io' is invalid.",
|
||||
},
|
||||
{
|
||||
name: "resourceGroupId invalid",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.ClusterProfile.ResourceGroupID = "invalid"
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.clusterProfile.resourceGroupId: The provided resource group 'invalid' is invalid.",
|
||||
},
|
||||
{
|
||||
name: "cluster resource group subscriptionId not matching cluster subscriptionId",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.ClusterProfile.ResourceGroupID = "/subscriptions/7a3036d1-60a1-4605-8a41-44955e050804/resourcegroups/test-cluster"
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.clusterProfile.resourceGroupId: The provided resource group '/subscriptions/7a3036d1-60a1-4605-8a41-44955e050804/resourcegroups/test-cluster' is invalid: must be in same subscription as cluster.",
|
||||
},
|
||||
{
|
||||
name: "cluster resourceGroup and external resourceGroup equal",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.ClusterProfile.ResourceGroupID = "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resourceGroup"
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.clusterProfile.resourceGroupId: The provided resource group '/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resourceGroup' is invalid: must be different from resourceGroup of the OpenShift cluster object.",
|
||||
},
|
||||
{
|
||||
name: "fips validated modules invalid",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.ClusterProfile.FipsValidatedModules = "invalid"
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.clusterProfile.fipsValidatedModules: The provided value 'invalid' is invalid.",
|
||||
},
|
||||
{
|
||||
name: "fips validated modules empty",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.ClusterProfile.FipsValidatedModules = ""
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.clusterProfile.fipsValidatedModules: The provided value '' is invalid.",
|
||||
},
|
||||
}
|
||||
|
||||
createTests := []*validateTest{
|
||||
{
|
||||
name: "empty pull secret valid",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.ClusterProfile.PullSecret = ""
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "leading digit domain invalid",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.ClusterProfile.Domain = "4k7f9clk"
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.clusterProfile.domain: The provided domain '4k7f9clk' is invalid.",
|
||||
},
|
||||
}
|
||||
|
||||
updateTests := []*validateTest{
|
||||
{
|
||||
name: "leading digit domain valid",
|
||||
current: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.ClusterProfile.Domain = "4k7f9clk"
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
runTests(t, testModeCreate, createTests)
|
||||
runTests(t, testModeCreate, commonTests)
|
||||
runTests(t, testModeUpdate, updateTests)
|
||||
runTests(t, testModeUpdate, commonTests)
|
||||
}
|
||||
|
||||
func TestOpenShiftClusterStaticValidateConsoleProfile(t *testing.T) {
|
||||
commonTests := []*validateTest{
|
||||
{
|
||||
name: "valid",
|
||||
},
|
||||
{
|
||||
name: "console url invalid",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.ConsoleProfile.URL = "\x00"
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.consoleProfile.url: The provided console URL '\x00' is invalid.",
|
||||
},
|
||||
}
|
||||
|
||||
createTests := []*validateTest{
|
||||
{
|
||||
name: "empty console url valid",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.ConsoleProfile.URL = ""
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
runTests(t, testModeCreate, createTests)
|
||||
runTests(t, testModeCreate, commonTests)
|
||||
runTests(t, testModeUpdate, commonTests)
|
||||
}
|
||||
|
||||
func TestOpenShiftClusterStaticValidateServicePrincipalProfile(t *testing.T) {
|
||||
tests := []*validateTest{
|
||||
{
|
||||
name: "valid",
|
||||
},
|
||||
{
|
||||
name: "clientID invalid",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.ServicePrincipalProfile.ClientID = "invalid"
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.servicePrincipalProfile.clientId: The provided client ID 'invalid' is invalid.",
|
||||
},
|
||||
{
|
||||
name: "empty clientSecret invalid",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.ServicePrincipalProfile.ClientSecret = ""
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.servicePrincipalProfile.clientSecret: The provided client secret is invalid.",
|
||||
},
|
||||
}
|
||||
|
||||
runTests(t, testModeCreate, tests)
|
||||
runTests(t, testModeUpdate, tests)
|
||||
}
|
||||
|
||||
func TestOpenShiftClusterStaticValidateNetworkProfile(t *testing.T) {
|
||||
tests := []*validateTest{
|
||||
{
|
||||
name: "valid",
|
||||
},
|
||||
{
|
||||
name: "podCidr invalid",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.NetworkProfile.PodCIDR = "invalid"
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.networkProfile.podCidr: The provided pod CIDR 'invalid' is invalid: 'invalid CIDR address: invalid'.",
|
||||
},
|
||||
{
|
||||
name: "ipv6 podCidr invalid",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.NetworkProfile.PodCIDR = "::0/0"
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.networkProfile.podCidr: The provided pod CIDR '::0/0' is invalid: must be IPv4.",
|
||||
},
|
||||
{
|
||||
name: "serviceCidr invalid",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.NetworkProfile.ServiceCIDR = "invalid"
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.networkProfile.serviceCidr: The provided service CIDR 'invalid' is invalid: 'invalid CIDR address: invalid'.",
|
||||
},
|
||||
{
|
||||
name: "ipv6 serviceCidr invalid",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.NetworkProfile.ServiceCIDR = "::0/0"
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.networkProfile.serviceCidr: The provided service CIDR '::0/0' is invalid: must be IPv4.",
|
||||
},
|
||||
{
|
||||
name: "podCidr too small",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.NetworkProfile.PodCIDR = "10.0.0.0/19"
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.networkProfile.podCidr: The provided vnet CIDR '10.0.0.0/19' is invalid: must be /18 or larger.",
|
||||
},
|
||||
{
|
||||
name: "serviceCidr too small",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.NetworkProfile.ServiceCIDR = "10.0.0.0/23"
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.networkProfile.serviceCidr: The provided vnet CIDR '10.0.0.0/23' is invalid: must be /22 or larger.",
|
||||
},
|
||||
{
|
||||
name: "OutboundType is empty",
|
||||
current: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.NetworkProfile.OutboundType = ""
|
||||
},
|
||||
wantErr: "",
|
||||
},
|
||||
{
|
||||
name: "OutboundType is invalid",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.NetworkProfile.OutboundType = "invalid"
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.networkProfile.outboundType: The provided outboundType 'invalid' is invalid: must be UserDefinedRouting or Loadbalancer.",
|
||||
},
|
||||
{
|
||||
name: "OutboundType is invalid with UserDefinedRouting and public ingress",
|
||||
current: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.NetworkProfile.OutboundType = OutboundTypeUserDefinedRouting
|
||||
oc.Properties.IngressProfiles[0].Visibility = VisibilityPublic
|
||||
oc.Properties.APIServerProfile.Visibility = VisibilityPrivate
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.networkProfile.outboundType: The provided outboundType 'UserDefinedRouting' is invalid: cannot use UserDefinedRouting if either API Server Visibility or Ingress Visibility is public.",
|
||||
},
|
||||
{
|
||||
name: "OutboundType Loadbalancer is valid",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
},
|
||||
wantErr: "",
|
||||
},
|
||||
}
|
||||
|
||||
runTests(t, testModeCreate, tests)
|
||||
runTests(t, testModeUpdate, tests)
|
||||
}
|
||||
|
||||
func TestOpenShiftClusterStaticValidateMasterProfile(t *testing.T) {
|
||||
tests := []*validateTest{
|
||||
{
|
||||
name: "valid",
|
||||
},
|
||||
{
|
||||
name: "vmSize unsupported",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.MasterProfile.VMSize = "Standard_D2s_v3"
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.masterProfile.vmSize: The provided master VM size 'Standard_D2s_v3' is invalid.",
|
||||
},
|
||||
{
|
||||
name: "subnetId invalid",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.MasterProfile.SubnetID = "invalid"
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.masterProfile.subnetId: The provided master VM subnet 'invalid' is invalid.",
|
||||
},
|
||||
{
|
||||
name: "subnet subscriptionId not matching cluster subscriptionId",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.MasterProfile.SubnetID = "/subscriptions/7a3036d1-60a1-4605-8a41-44955e050804/resourcegroups/test-vnet/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/master"
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.masterProfile.subnetId: The provided master VM subnet '/subscriptions/7a3036d1-60a1-4605-8a41-44955e050804/resourcegroups/test-vnet/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/master' is invalid: must be in same subscription as cluster.",
|
||||
},
|
||||
{
|
||||
name: "disk encryption set is invalid",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.MasterProfile.DiskEncryptionSetID = "invalid"
|
||||
oc.Properties.WorkerProfiles[0].DiskEncryptionSetID = "invalid"
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.masterProfile.diskEncryptionSetId: The provided master disk encryption set 'invalid' is invalid.",
|
||||
},
|
||||
{
|
||||
name: "disk encryption set not matching cluster subscriptionId",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.MasterProfile.DiskEncryptionSetID = "/subscriptions/7a3036d1-60a1-4605-8a41-44955e050804/resourceGroups/fakeRG/providers/Microsoft.Compute/diskEncryptionSets/fakeDES1"
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.masterProfile.diskEncryptionSetId: The provided master disk encryption set '/subscriptions/7a3036d1-60a1-4605-8a41-44955e050804/resourceGroups/fakeRG/providers/Microsoft.Compute/diskEncryptionSets/fakeDES1' is invalid: must be in same subscription as cluster.",
|
||||
},
|
||||
{
|
||||
name: "encryption at host invalid",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.MasterProfile.EncryptionAtHost = "Banana"
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.masterProfile.encryptionAtHost: The provided value 'Banana' is invalid.",
|
||||
},
|
||||
{
|
||||
name: "encryption at host empty",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.MasterProfile.EncryptionAtHost = ""
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.masterProfile.encryptionAtHost: The provided value '' is invalid.",
|
||||
},
|
||||
}
|
||||
|
||||
createTests := []*validateTest{
|
||||
{
|
||||
name: "disk encryption set is valid",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
desID := fmt.Sprintf("/subscriptions/%s/resourceGroups/test-cluster/providers/Microsoft.Compute/diskEncryptionSets/test-disk-encryption-set", subscriptionID)
|
||||
oc.Properties.MasterProfile.DiskEncryptionSetID = desID
|
||||
oc.Properties.WorkerProfiles[0].DiskEncryptionSetID = desID
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
runTests(t, testModeCreate, createTests)
|
||||
runTests(t, testModeCreate, tests)
|
||||
runTests(t, testModeUpdate, tests)
|
||||
}
|
||||
|
||||
func TestOpenShiftClusterStaticValidateWorkerProfile(t *testing.T) {
|
||||
tests := []*validateTest{
|
||||
{
|
||||
name: "valid",
|
||||
},
|
||||
{
|
||||
name: "name invalid",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.WorkerProfiles[0].Name = "invalid"
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.workerProfiles['invalid'].name: The provided worker name 'invalid' is invalid.",
|
||||
},
|
||||
{
|
||||
name: "vmSize invalid",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.WorkerProfiles[0].VMSize = "invalid"
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.workerProfiles['worker'].vmSize: The provided worker VM size 'invalid' is invalid.",
|
||||
},
|
||||
{
|
||||
name: "vmSize too small (prod)",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.WorkerProfiles[0].VMSize = "Standard_D2s_v3"
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.workerProfiles['worker'].vmSize: The provided worker VM size 'Standard_D2s_v3' is invalid.",
|
||||
},
|
||||
{
|
||||
name: "vmSize too big (dev)",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.WorkerProfiles[0].VMSize = "Standard_D4s_v3"
|
||||
},
|
||||
requireD2sV3Workers: true,
|
||||
wantErr: "400: InvalidParameter: properties.workerProfiles['worker'].vmSize: The provided worker VM size 'Standard_D4s_v3' is invalid.",
|
||||
},
|
||||
{
|
||||
name: "disk too small",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.WorkerProfiles[0].DiskSizeGB = 127
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.workerProfiles['worker'].diskSizeGB: The provided worker disk size '127' is invalid.",
|
||||
},
|
||||
{
|
||||
name: "subnetId invalid",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.WorkerProfiles[0].SubnetID = "invalid"
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.workerProfiles['worker'].subnetId: The provided worker VM subnet 'invalid' is invalid.",
|
||||
},
|
||||
{
|
||||
name: "master and worker subnets not in same vnet",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.WorkerProfiles[0].SubnetID = fmt.Sprintf("/subscriptions/%s/resourceGroups/vnet/providers/Microsoft.Network/virtualNetworks/different-vnet/subnets/worker", subscriptionID)
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.workerProfiles['worker'].subnetId: The provided worker VM subnet '/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/vnet/providers/Microsoft.Network/virtualNetworks/different-vnet/subnets/worker' is invalid: must be in the same vnet as master VM subnet '/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/vnet/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/master'.",
|
||||
},
|
||||
{
|
||||
name: "master and worker subnets not different",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.WorkerProfiles[0].SubnetID = oc.Properties.MasterProfile.SubnetID
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.workerProfiles['worker'].subnetId: The provided worker VM subnet '/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/vnet/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/master' is invalid: must be different to master VM subnet '/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/vnet/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/master'.",
|
||||
},
|
||||
{
|
||||
name: "count too small",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.WorkerProfiles[0].Count = 1
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.workerProfiles['worker'].count: The provided worker count '1' is invalid.",
|
||||
},
|
||||
{
|
||||
name: "count too big",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.WorkerProfiles[0].Count = 51
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.workerProfiles['worker'].count: The provided worker count '51' is invalid.",
|
||||
},
|
||||
{
|
||||
name: "disk encryption set not matching master disk encryption set",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.MasterProfile.DiskEncryptionSetID = fmt.Sprintf("/subscriptions/%s/resourceGroups/test-cluster/providers/Microsoft.Compute/diskEncryptionSets/test-disk-encryption-set", subscriptionID)
|
||||
oc.Properties.WorkerProfiles[0].DiskEncryptionSetID = "/subscriptions/7a3036d1-60a1-4605-8a41-44955e050804/resourceGroups/fakeRG/providers/Microsoft.Compute/diskEncryptionSets/fakeDES1"
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.workerProfiles['worker'].subnetId: The provided worker disk encryption set '/subscriptions/7a3036d1-60a1-4605-8a41-44955e050804/resourceGroups/fakeRG/providers/Microsoft.Compute/diskEncryptionSets/fakeDES1' is invalid: must be the same as master disk encryption set '/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-cluster/providers/Microsoft.Compute/diskEncryptionSets/test-disk-encryption-set'.",
|
||||
},
|
||||
{
|
||||
name: "encryption at host invalid",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.WorkerProfiles[0].EncryptionAtHost = "Banana"
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.workerProfiles['worker'].encryptionAtHost: The provided value 'Banana' is invalid.",
|
||||
},
|
||||
{
|
||||
name: "encryption at host empty",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.WorkerProfiles[0].EncryptionAtHost = ""
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.workerProfiles['worker'].encryptionAtHost: The provided value '' is invalid.",
|
||||
},
|
||||
}
|
||||
|
||||
// We do not perform this validation on update
|
||||
runTests(t, testModeCreate, tests)
|
||||
}
|
||||
|
||||
func TestOpenShiftClusterStaticValidateAPIServerProfile(t *testing.T) {
|
||||
commonTests := []*validateTest{
|
||||
{
|
||||
name: "valid",
|
||||
},
|
||||
{
|
||||
name: "visibility invalid",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.APIServerProfile.Visibility = "invalid"
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.apiserverProfile.visibility: The provided visibility 'invalid' is invalid.",
|
||||
},
|
||||
{
|
||||
name: "url invalid",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.APIServerProfile.URL = "\x00"
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.apiserverProfile.url: The provided URL '\x00' is invalid.",
|
||||
},
|
||||
{
|
||||
name: "ip invalid",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.APIServerProfile.IP = "invalid"
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.apiserverProfile.ip: The provided IP 'invalid' is invalid.",
|
||||
},
|
||||
{
|
||||
name: "ipv6 ip invalid",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.APIServerProfile.IP = "::"
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.apiserverProfile.ip: The provided IP '::' is invalid: must be IPv4.",
|
||||
},
|
||||
}
|
||||
|
||||
createTests := []*validateTest{
|
||||
{
|
||||
name: "empty url valid",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.APIServerProfile.URL = ""
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "empty ip valid",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.APIServerProfile.IP = ""
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
runTests(t, testModeCreate, createTests)
|
||||
runTests(t, testModeCreate, commonTests)
|
||||
runTests(t, testModeUpdate, commonTests)
|
||||
}
|
||||
|
||||
func TestOpenShiftClusterStaticValidateIngressProfile(t *testing.T) {
|
||||
tests := []*validateTest{
|
||||
{
|
||||
name: "valid",
|
||||
},
|
||||
{
|
||||
name: "name invalid",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.IngressProfiles[0].Name = "invalid"
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.ingressProfiles['invalid'].name: The provided ingress name 'invalid' is invalid.",
|
||||
},
|
||||
{
|
||||
name: "visibility invalid",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.IngressProfiles[0].Visibility = "invalid"
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.ingressProfiles['default'].visibility: The provided visibility 'invalid' is invalid.",
|
||||
},
|
||||
{
|
||||
name: "ip invalid",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.IngressProfiles[0].IP = "invalid"
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.ingressProfiles['default'].ip: The provided IP 'invalid' is invalid.",
|
||||
},
|
||||
{
|
||||
name: "ipv6 ip invalid",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.IngressProfiles[0].IP = "::"
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.ingressProfiles['default'].ip: The provided IP '::' is invalid: must be IPv4.",
|
||||
},
|
||||
{
|
||||
name: "empty ip valid",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.IngressProfiles[0].IP = ""
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
// we don't validate this on update as all fields are immutable and will
|
||||
// be validated with "mutable" flag
|
||||
runTests(t, testModeCreate, tests)
|
||||
}
|
||||
|
||||
func TestOpenShiftClusterStaticValidateDelta(t *testing.T) {
|
||||
tests := []*validateTest{
|
||||
{
|
||||
name: "valid",
|
||||
},
|
||||
{
|
||||
name: "valid id case change",
|
||||
modify: func(oc *OpenShiftCluster) { oc.ID = strings.ToUpper(oc.ID) },
|
||||
},
|
||||
{
|
||||
name: "valid name case change",
|
||||
modify: func(oc *OpenShiftCluster) { oc.Name = strings.ToUpper(oc.Name) },
|
||||
},
|
||||
{
|
||||
name: "valid type case change",
|
||||
modify: func(oc *OpenShiftCluster) { oc.Type = strings.ToUpper(oc.Type) },
|
||||
},
|
||||
{
|
||||
name: "location change",
|
||||
modify: func(oc *OpenShiftCluster) { oc.Location = strings.ToUpper(oc.Location) },
|
||||
wantErr: "400: PropertyChangeNotAllowed: location: Changing property 'location' is not allowed.",
|
||||
},
|
||||
{
|
||||
name: "valid tags change",
|
||||
modify: func(oc *OpenShiftCluster) { oc.Tags = Tags{"new": "value"} },
|
||||
},
|
||||
{
|
||||
name: "provisioningState change",
|
||||
modify: func(oc *OpenShiftCluster) { oc.Properties.ProvisioningState = ProvisioningStateFailed },
|
||||
wantErr: "400: PropertyChangeNotAllowed: properties.provisioningState: Changing property 'properties.provisioningState' is not allowed.",
|
||||
},
|
||||
{
|
||||
name: "console url change",
|
||||
modify: func(oc *OpenShiftCluster) { oc.Properties.ConsoleProfile.URL = "invalid" },
|
||||
wantErr: "400: PropertyChangeNotAllowed: properties.consoleProfile.url: Changing property 'properties.consoleProfile.url' is not allowed.",
|
||||
},
|
||||
{
|
||||
name: "pull secret change",
|
||||
modify: func(oc *OpenShiftCluster) { oc.Properties.ClusterProfile.PullSecret = `{"auths":{}}` },
|
||||
wantErr: "400: PropertyChangeNotAllowed: properties.clusterProfile.pullSecret: Changing property 'properties.clusterProfile.pullSecret' is not allowed.",
|
||||
},
|
||||
{
|
||||
name: "domain change",
|
||||
modify: func(oc *OpenShiftCluster) { oc.Properties.ClusterProfile.Domain = "invalid" },
|
||||
wantErr: "400: PropertyChangeNotAllowed: properties.clusterProfile.domain: Changing property 'properties.clusterProfile.domain' is not allowed.",
|
||||
},
|
||||
{
|
||||
name: "version change",
|
||||
modify: func(oc *OpenShiftCluster) { oc.Properties.ClusterProfile.Version = "4.3.999" },
|
||||
wantErr: "400: PropertyChangeNotAllowed: properties.clusterProfile.version: Changing property 'properties.clusterProfile.version' is not allowed.",
|
||||
},
|
||||
{
|
||||
name: "resource group change",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.ClusterProfile.ResourceGroupID = oc.Properties.ClusterProfile.ResourceGroupID[:strings.LastIndexByte(oc.Properties.ClusterProfile.ResourceGroupID, '/')] + "/changed"
|
||||
},
|
||||
wantErr: "400: PropertyChangeNotAllowed: properties.clusterProfile.resourceGroupId: Changing property 'properties.clusterProfile.resourceGroupId' is not allowed.",
|
||||
},
|
||||
{
|
||||
name: "apiServer private change",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.APIServerProfile.Visibility = VisibilityPrivate
|
||||
},
|
||||
wantErr: "400: PropertyChangeNotAllowed: properties.apiserverProfile.visibility: Changing property 'properties.apiserverProfile.visibility' is not allowed.",
|
||||
},
|
||||
{
|
||||
name: "apiServer url change",
|
||||
modify: func(oc *OpenShiftCluster) { oc.Properties.APIServerProfile.URL = "invalid" },
|
||||
wantErr: "400: PropertyChangeNotAllowed: properties.apiserverProfile.url: Changing property 'properties.apiserverProfile.url' is not allowed.",
|
||||
},
|
||||
{
|
||||
name: "apiServer ip change",
|
||||
modify: func(oc *OpenShiftCluster) { oc.Properties.APIServerProfile.IP = "2.3.4.5" },
|
||||
wantErr: "400: PropertyChangeNotAllowed: properties.apiserverProfile.ip: Changing property 'properties.apiserverProfile.ip' is not allowed.",
|
||||
},
|
||||
{
|
||||
name: "ingress private change",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.IngressProfiles[0].Visibility = VisibilityPrivate
|
||||
},
|
||||
wantErr: "400: PropertyChangeNotAllowed: properties.ingressProfiles['default'].visibility: Changing property 'properties.ingressProfiles['default'].visibility' is not allowed.",
|
||||
},
|
||||
{
|
||||
name: "ingress ip change",
|
||||
modify: func(oc *OpenShiftCluster) { oc.Properties.IngressProfiles[0].IP = "2.3.4.5" },
|
||||
wantErr: "400: PropertyChangeNotAllowed: properties.ingressProfiles['default'].ip: Changing property 'properties.ingressProfiles['default'].ip' is not allowed.",
|
||||
},
|
||||
{
|
||||
name: "clientId change",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.ServicePrincipalProfile.ClientID = uuid.DefaultGenerator.Generate()
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "clientSecret change",
|
||||
modify: func(oc *OpenShiftCluster) { oc.Properties.ServicePrincipalProfile.ClientSecret = "invalid" },
|
||||
},
|
||||
{
|
||||
name: "podCidr change",
|
||||
modify: func(oc *OpenShiftCluster) { oc.Properties.NetworkProfile.PodCIDR = "0.0.0.0/0" },
|
||||
wantErr: "400: PropertyChangeNotAllowed: properties.networkProfile.podCidr: Changing property 'properties.networkProfile.podCidr' is not allowed.",
|
||||
},
|
||||
{
|
||||
name: "serviceCidr change",
|
||||
modify: func(oc *OpenShiftCluster) { oc.Properties.NetworkProfile.ServiceCIDR = "0.0.0.0/0" },
|
||||
wantErr: "400: PropertyChangeNotAllowed: properties.networkProfile.serviceCidr: Changing property 'properties.networkProfile.serviceCidr' is not allowed.",
|
||||
},
|
||||
{
|
||||
name: "outboundType change",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.NetworkProfile.OutboundType = OutboundTypeUserDefinedRouting
|
||||
},
|
||||
wantErr: "400: InvalidParameter: properties.networkProfile.outboundType: The provided outboundType 'UserDefinedRouting' is invalid: cannot use UserDefinedRouting if either API Server Visibility or Ingress Visibility is public.",
|
||||
},
|
||||
{
|
||||
name: "master subnetId change",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.MasterProfile.SubnetID = oc.Properties.MasterProfile.SubnetID[:strings.LastIndexByte(oc.Properties.MasterProfile.SubnetID, '/')] + "/changed"
|
||||
},
|
||||
wantErr: "400: PropertyChangeNotAllowed: properties.masterProfile.subnetId: Changing property 'properties.masterProfile.subnetId' is not allowed.",
|
||||
},
|
||||
{
|
||||
name: "worker name change",
|
||||
modify: func(oc *OpenShiftCluster) { oc.Properties.WorkerProfiles[0].Name = "new-name" },
|
||||
wantErr: "400: PropertyChangeNotAllowed: properties.workerProfiles['new-name'].name: Changing property 'properties.workerProfiles['new-name'].name' is not allowed.",
|
||||
},
|
||||
{
|
||||
name: "worker vmSize change",
|
||||
modify: func(oc *OpenShiftCluster) { oc.Properties.WorkerProfiles[0].VMSize = "Standard_D8s_v3" },
|
||||
wantErr: "400: PropertyChangeNotAllowed: properties.workerProfiles['worker'].vmSize: Changing property 'properties.workerProfiles['worker'].vmSize' is not allowed.",
|
||||
},
|
||||
{
|
||||
name: "worker diskSizeGB change",
|
||||
modify: func(oc *OpenShiftCluster) { oc.Properties.WorkerProfiles[0].DiskSizeGB++ },
|
||||
wantErr: "400: PropertyChangeNotAllowed: properties.workerProfiles['worker'].diskSizeGB: Changing property 'properties.workerProfiles['worker'].diskSizeGB' is not allowed.",
|
||||
},
|
||||
{
|
||||
name: "worker subnetId change",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.WorkerProfiles[0].SubnetID = oc.Properties.WorkerProfiles[0].SubnetID[:strings.LastIndexByte(oc.Properties.WorkerProfiles[0].SubnetID, '/')] + "/changed"
|
||||
},
|
||||
wantErr: "400: PropertyChangeNotAllowed: properties.workerProfiles['worker'].subnetId: Changing property 'properties.workerProfiles['worker'].subnetId' is not allowed.",
|
||||
},
|
||||
{
|
||||
name: "workerProfiles count change",
|
||||
modify: func(oc *OpenShiftCluster) { oc.Properties.WorkerProfiles[0].Count++ },
|
||||
wantErr: "400: PropertyChangeNotAllowed: properties.workerProfiles['worker'].count: Changing property 'properties.workerProfiles['worker'].count' is not allowed.",
|
||||
},
|
||||
{
|
||||
name: "number of workerProfiles changes",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.WorkerProfiles = []WorkerProfile{{}, {}}
|
||||
},
|
||||
wantErr: "400: PropertyChangeNotAllowed: properties.workerProfiles: Changing property 'properties.workerProfiles' is not allowed.",
|
||||
},
|
||||
{
|
||||
name: "workerProfiles set to nil",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.Properties.WorkerProfiles = nil
|
||||
},
|
||||
wantErr: "400: PropertyChangeNotAllowed: properties.workerProfiles: Changing property 'properties.workerProfiles' is not allowed.",
|
||||
},
|
||||
{
|
||||
name: "systemData set to empty",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.SystemData = &SystemData{}
|
||||
},
|
||||
wantErr: "400: PropertyChangeNotAllowed: systemData.createdBy: Changing property 'systemData.createdBy' is not allowed.",
|
||||
},
|
||||
{
|
||||
name: "systemData LastUpdated changed",
|
||||
modify: func(oc *OpenShiftCluster) {
|
||||
oc.SystemData.LastModifiedBy = "Bob"
|
||||
},
|
||||
wantErr: "400: PropertyChangeNotAllowed: systemData.lastModifiedBy: Changing property 'systemData.lastModifiedBy' is not allowed.",
|
||||
},
|
||||
}
|
||||
|
||||
runTests(t, testModeUpdate, tests)
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
package v20230701preview
|
||||
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the Apache License 2.0.
|
||||
|
||||
// OpenShiftClusterAdminKubeconfig represents an OpenShift cluster's admin kubeconfig.
|
||||
type OpenShiftClusterAdminKubeconfig struct {
|
||||
// The base64-encoded kubeconfig file.
|
||||
Kubeconfig []byte `json:"kubeconfig,omitempty"`
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
package v20230701preview
|
||||
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the Apache License 2.0.
|
||||
|
||||
import (
|
||||
"github.com/Azure/ARO-RP/pkg/api"
|
||||
)
|
||||
|
||||
type openShiftClusterAdminKubeconfigConverter struct{}
|
||||
|
||||
// openShiftClusterAdminKubeconfigConverter returns a new external representation
|
||||
// of the internal object, reading from the subset of the internal object's
|
||||
// fields that appear in the external representation. ToExternal does not
|
||||
// modify its argument; there is no pointer aliasing between the passed and
|
||||
// returned objects.
|
||||
func (openShiftClusterAdminKubeconfigConverter) ToExternal(oc *api.OpenShiftCluster) interface{} {
|
||||
return &OpenShiftClusterAdminKubeconfig{
|
||||
Kubeconfig: oc.Properties.UserAdminKubeconfig,
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
package v20230701preview
|
||||
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the Apache License 2.0.
|
||||
|
||||
// ExampleOpenShiftClusterAdminKubeconfigResponse returns an example
|
||||
// OpenShiftClusterAdminKubeconfig object that the RP might return to an end-user
|
||||
func ExampleOpenShiftClusterAdminKubeconfigResponse() interface{} {
|
||||
return &OpenShiftClusterAdminKubeconfig{
|
||||
Kubeconfig: []byte("{}"),
|
||||
}
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
package v20230701preview
|
||||
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the Apache License 2.0.
|
||||
|
||||
// OpenShiftClusterCredentials represents an OpenShift cluster's credentials.
|
||||
type OpenShiftClusterCredentials struct {
|
||||
// The username for the kubeadmin user.
|
||||
KubeadminUsername string `json:"kubeadminUsername,omitempty"`
|
||||
|
||||
// The password for the kubeadmin user.
|
||||
KubeadminPassword string `json:"kubeadminPassword,omitempty"`
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
package v20230701preview
|
||||
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the Apache License 2.0.
|
||||
|
||||
import (
|
||||
"github.com/Azure/ARO-RP/pkg/api"
|
||||
)
|
||||
|
||||
type openShiftClusterCredentialsConverter struct{}
|
||||
|
||||
// OpenShiftClusterCredentialsToExternal returns a new external representation
|
||||
// of the internal object, reading from the subset of the internal object's
|
||||
// fields that appear in the external representation. ToExternal does not
|
||||
// modify its argument; there is no pointer aliasing between the passed and
|
||||
// returned objects.
|
||||
func (openShiftClusterCredentialsConverter) ToExternal(oc *api.OpenShiftCluster) interface{} {
|
||||
out := &OpenShiftClusterCredentials{
|
||||
KubeadminUsername: "kubeadmin",
|
||||
KubeadminPassword: string(oc.Properties.KubeadminPassword),
|
||||
}
|
||||
|
||||
return out
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
package v20230701preview
|
||||
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the Apache License 2.0.
|
||||
|
||||
// ExampleOpenShiftClusterCredentialsResponse returns an example
|
||||
// OpenShiftClusterCredentials object that the RP might return to an end-user
|
||||
func ExampleOpenShiftClusterCredentialsResponse() interface{} {
|
||||
return &OpenShiftClusterCredentials{
|
||||
KubeadminUsername: "kubeadmin",
|
||||
KubeadminPassword: "password",
|
||||
}
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
package v20230701preview
|
||||
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the Apache License 2.0.
|
||||
|
||||
// OpenShiftVersionList represents a List of available versions.
|
||||
type OpenShiftVersionList struct {
|
||||
// The List of available versions.
|
||||
OpenShiftVersions []*OpenShiftVersion `json:"value"`
|
||||
|
||||
// Next Link to next operation.
|
||||
NextLink string `json:"nextLink,omitempty"`
|
||||
}
|
||||
|
||||
// OpenShiftVersion represents an OpenShift version that can be installed.
|
||||
type OpenShiftVersion struct {
|
||||
proxyResource bool
|
||||
|
||||
// The ID for the resource.
|
||||
ID string `json:"id,omitempty" mutable:"case"`
|
||||
|
||||
// Name of the resource.
|
||||
Name string `json:"name,omitempty" mutable:"case"`
|
||||
|
||||
// The resource type.
|
||||
Type string `json:"type,omitempty" mutable:"case"`
|
||||
|
||||
// The properties for the OpenShiftVersion resource.
|
||||
Properties OpenShiftVersionProperties `json:"properties,omitempty"`
|
||||
}
|
||||
|
||||
// OpenShiftVersionProperties represents the properties of an OpenShiftVersion.
|
||||
type OpenShiftVersionProperties struct {
|
||||
// Version represents the version to create the cluster at.
|
||||
Version string `json:"version,omitempty"`
|
||||
}
|
|
@ -0,0 +1,50 @@
|
|||
package v20230701preview
|
||||
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the Apache License 2.0.
|
||||
|
||||
import (
|
||||
"github.com/Azure/ARO-RP/pkg/api"
|
||||
)
|
||||
|
||||
type openShiftVersionConverter struct{}
|
||||
|
||||
// openShiftVersionConverter.ToExternal returns a new external representation
|
||||
// of the internal object, reading from the subset of the internal object's
|
||||
// fields that appear in the external representation. ToExternal does not
|
||||
// modify its argument; there is no pointer aliasing between the passed and
|
||||
// returned objects.
|
||||
func (openShiftVersionConverter) ToExternal(v *api.OpenShiftVersion) interface{} {
|
||||
out := &OpenShiftVersion{
|
||||
ID: v.ID,
|
||||
proxyResource: true,
|
||||
Properties: OpenShiftVersionProperties{
|
||||
Version: v.Properties.Version,
|
||||
},
|
||||
}
|
||||
|
||||
return out
|
||||
}
|
||||
|
||||
// ToExternalList returns a slice of external representations of the internal
|
||||
// objects
|
||||
func (c openShiftVersionConverter) ToExternalList(vers []*api.OpenShiftVersion) interface{} {
|
||||
l := &OpenShiftVersionList{
|
||||
OpenShiftVersions: make([]*OpenShiftVersion, 0, len(vers)),
|
||||
}
|
||||
|
||||
for _, ver := range vers {
|
||||
l.OpenShiftVersions = append(l.OpenShiftVersions, c.ToExternal(ver).(*OpenShiftVersion))
|
||||
}
|
||||
|
||||
return l
|
||||
}
|
||||
|
||||
// ToInternal overwrites in place a pre-existing internal object, setting (only)
|
||||
// all mapped fields from the external representation. ToInternal modifies its
|
||||
// argument; there is no pointer aliasing between the passed and returned
|
||||
// objects
|
||||
func (c openShiftVersionConverter) ToInternal(_new interface{}, out *api.OpenShiftVersion) {
|
||||
new := _new.(*OpenShiftVersion)
|
||||
out.Properties.Version = new.Properties.Version
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
package v20230701preview
|
||||
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the Apache License 2.0.
|
||||
|
||||
import "github.com/Azure/ARO-RP/pkg/api"
|
||||
|
||||
func exampleOpenShiftVersion() *OpenShiftVersion {
|
||||
doc := api.ExampleOpenShiftVersionDocument()
|
||||
ext := (&openShiftVersionConverter{}).ToExternal(doc.OpenShiftVersion)
|
||||
return ext.(*OpenShiftVersion)
|
||||
}
|
||||
|
||||
func ExampleOpenShiftVersionResponse() interface{} {
|
||||
return exampleOpenShiftVersion()
|
||||
}
|
||||
|
||||
func ExampleOpenShiftVersionListResponse() interface{} {
|
||||
return &OpenShiftVersionList{
|
||||
OpenShiftVersions: []*OpenShiftVersion{
|
||||
ExampleOpenShiftVersionResponse().(*OpenShiftVersion),
|
||||
},
|
||||
}
|
||||
}
|
|
@ -0,0 +1,54 @@
|
|||
package v20230701preview
|
||||
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the Apache License 2.0.
|
||||
|
||||
import (
|
||||
"github.com/Azure/ARO-RP/pkg/api"
|
||||
)
|
||||
|
||||
// APIVersion contains a version string as it will be used by clients
|
||||
const APIVersion = "2023-07-01-preview"
|
||||
|
||||
const (
|
||||
resourceProviderNamespace = "Microsoft.RedHatOpenShift"
|
||||
resourceType = "openShiftClusters"
|
||||
)
|
||||
|
||||
func init() {
|
||||
api.APIs[APIVersion] = &api.Version{
|
||||
OpenShiftClusterConverter: openShiftClusterConverter{},
|
||||
OpenShiftClusterStaticValidator: openShiftClusterStaticValidator{},
|
||||
OpenShiftClusterCredentialsConverter: openShiftClusterCredentialsConverter{},
|
||||
OpenShiftClusterAdminKubeconfigConverter: openShiftClusterAdminKubeconfigConverter{},
|
||||
OpenShiftVersionConverter: openShiftVersionConverter{},
|
||||
OperationList: api.OperationList{
|
||||
Operations: []api.Operation{
|
||||
api.OperationResultsRead,
|
||||
api.OperationStatusRead,
|
||||
api.OperationRead,
|
||||
api.OperationOpenShiftClusterRead,
|
||||
api.OperationOpenShiftClusterWrite,
|
||||
api.OperationOpenShiftClusterDelete,
|
||||
api.OperationOpenShiftClusterListCredentials,
|
||||
api.OperationOpenShiftClusterListAdminCredentials,
|
||||
api.OperationListInstallVersions,
|
||||
api.OperationSyncSetsRead,
|
||||
api.OperationSyncSetsWrite,
|
||||
api.OperationSyncSetsDelete,
|
||||
api.OperationMachinePoolsRead,
|
||||
api.OperationMachinePoolsWrite,
|
||||
api.OperationMachinePoolsDelete,
|
||||
api.OperationSyncIdentityProvidersRead,
|
||||
api.OperationSyncIdentityProvidersWrite,
|
||||
api.OperationSyncIdentityProvidersDelete,
|
||||
api.OperationOpenShiftClusterGetDetectors,
|
||||
},
|
||||
},
|
||||
SyncSetConverter: syncSetConverter{},
|
||||
MachinePoolConverter: machinePoolConverter{},
|
||||
SyncIdentityProviderConverter: syncIdentityProviderConverter{},
|
||||
SecretConverter: secretConverter{},
|
||||
ClusterManagerStaticValidator: clusterManagerStaticValidator{},
|
||||
}
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
package v20230701preview
|
||||
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the Apache License 2.0.
|
||||
|
||||
import (
|
||||
"github.com/Azure/ARO-RP/pkg/api"
|
||||
)
|
||||
|
||||
type secretConverter struct{}
|
||||
|
||||
func (c secretConverter) ToExternal(s *api.Secret) interface{} {
|
||||
out := new(Secret)
|
||||
out.proxyResource = true
|
||||
out.ID = s.ID
|
||||
out.Name = s.Name
|
||||
out.Type = s.Type
|
||||
return out
|
||||
}
|
||||
|
||||
func (c secretConverter) ToInternal(_s interface{}, out *api.Secret) {
|
||||
ocm := _s.(*api.Secret)
|
||||
out.ID = ocm.ID
|
||||
}
|
||||
|
||||
// ToExternalList returns a slice of external representations of the internal objects
|
||||
func (c secretConverter) ToExternalList(s []*api.Secret) interface{} {
|
||||
l := &SecretList{
|
||||
Secrets: make([]*Secret, 0, len(s)),
|
||||
}
|
||||
|
||||
for _, secrets := range s {
|
||||
c := c.ToExternal(secrets)
|
||||
l.Secrets = append(l.Secrets, c.(*Secret))
|
||||
}
|
||||
|
||||
return l
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
package v20230701preview
|
||||
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the Apache License 2.0.
|
||||
|
||||
import (
|
||||
"github.com/Azure/ARO-RP/pkg/api"
|
||||
)
|
||||
|
||||
func exampleSecret() *Secret {
|
||||
doc := api.ExampleClusterManagerConfigurationDocumentSecret()
|
||||
ext := (&secretConverter{}).ToExternal(doc.Secret)
|
||||
return ext.(*Secret)
|
||||
}
|
||||
|
||||
func ExampleSecretPutParameter() interface{} {
|
||||
s := exampleSecret()
|
||||
s.ID = ""
|
||||
s.Type = ""
|
||||
s.Name = ""
|
||||
return s
|
||||
}
|
||||
|
||||
func ExampleSecretPatchParameter() interface{} {
|
||||
return ExampleSecretPutParameter()
|
||||
}
|
||||
|
||||
func ExampleSecretResponse() interface{} {
|
||||
return exampleSecret()
|
||||
}
|
||||
|
||||
func ExampleSecretListResponse() interface{} {
|
||||
return &SecretList{
|
||||
Secrets: []*Secret{
|
||||
ExampleSecretResponse().(*Secret),
|
||||
},
|
||||
}
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
package v20230701preview
|
||||
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the Apache License 2.0.
|
||||
|
||||
import (
|
||||
"github.com/Azure/ARO-RP/pkg/api"
|
||||
)
|
||||
|
||||
type syncIdentityProviderConverter struct{}
|
||||
|
||||
func (c syncIdentityProviderConverter) ToExternal(sip *api.SyncIdentityProvider) interface{} {
|
||||
out := new(SyncIdentityProvider)
|
||||
out.proxyResource = true
|
||||
out.ID = sip.ID
|
||||
out.Name = sip.Name
|
||||
out.Type = sip.Type
|
||||
out.Properties.Resources = sip.Properties.Resources
|
||||
return out
|
||||
}
|
||||
|
||||
func (c syncIdentityProviderConverter) ToInternal(_sip interface{}, out *api.SyncIdentityProvider) {
|
||||
ocm := _sip.(*api.SyncIdentityProvider)
|
||||
out.ID = ocm.ID
|
||||
}
|
||||
|
||||
// ToExternalList returns a slice of external representations of the internal objects
|
||||
func (c syncIdentityProviderConverter) ToExternalList(sip []*api.SyncIdentityProvider) interface{} {
|
||||
l := &SyncIdentityProviderList{
|
||||
SyncIdentityProviders: make([]*SyncIdentityProvider, 0, len(sip)),
|
||||
}
|
||||
|
||||
for _, syncidentityproviders := range sip {
|
||||
c := c.ToExternal(syncidentityproviders)
|
||||
l.SyncIdentityProviders = append(l.SyncIdentityProviders, c.(*SyncIdentityProvider))
|
||||
}
|
||||
|
||||
return l
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
package v20230701preview
|
||||
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the Apache License 2.0.
|
||||
|
||||
import (
|
||||
"github.com/Azure/ARO-RP/pkg/api"
|
||||
)
|
||||
|
||||
func exampleSyncIdentityProvider() *SyncIdentityProvider {
|
||||
doc := api.ExampleClusterManagerConfigurationDocumentSyncIdentityProvider()
|
||||
ext := (&syncIdentityProviderConverter{}).ToExternal(doc.SyncIdentityProvider)
|
||||
return ext.(*SyncIdentityProvider)
|
||||
}
|
||||
|
||||
func ExampleSyncIdentityProviderPutParameter() interface{} {
|
||||
sip := exampleSyncIdentityProvider()
|
||||
sip.ID = ""
|
||||
sip.Type = ""
|
||||
sip.Name = ""
|
||||
return sip
|
||||
}
|
||||
|
||||
func ExampleSyncIdentityProviderPatchParameter() interface{} {
|
||||
return ExampleSyncIdentityProviderPutParameter()
|
||||
}
|
||||
|
||||
func ExampleSyncIdentityProviderResponse() interface{} {
|
||||
return exampleSyncIdentityProvider()
|
||||
}
|
||||
|
||||
func ExampleSyncIdentityProviderListResponse() interface{} {
|
||||
return &SyncIdentityProviderList{
|
||||
SyncIdentityProviders: []*SyncIdentityProvider{
|
||||
ExampleSyncIdentityProviderResponse().(*SyncIdentityProvider),
|
||||
},
|
||||
}
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
package v20230701preview
|
||||
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the Apache License 2.0.
|
||||
|
||||
import (
|
||||
"github.com/Azure/ARO-RP/pkg/api"
|
||||
)
|
||||
|
||||
type syncSetConverter struct{}
|
||||
|
||||
func (c syncSetConverter) ToExternal(ss *api.SyncSet) interface{} {
|
||||
out := new(SyncSet)
|
||||
out.proxyResource = true
|
||||
out.ID = ss.ID
|
||||
out.Name = ss.Name
|
||||
out.Type = ss.Type
|
||||
out.Properties.Resources = ss.Properties.Resources
|
||||
return out
|
||||
}
|
||||
|
||||
func (c syncSetConverter) ToInternal(_ss interface{}, out *api.SyncSet) {
|
||||
ocm := _ss.(*api.SyncSet)
|
||||
out.ID = ocm.ID
|
||||
}
|
||||
|
||||
// ToExternalList returns a slice of external representations of the internal objects
|
||||
func (c syncSetConverter) ToExternalList(ss []*api.SyncSet) interface{} {
|
||||
l := &SyncSetList{
|
||||
SyncSets: make([]*SyncSet, 0, len(ss)),
|
||||
}
|
||||
|
||||
for _, syncset := range ss {
|
||||
c := c.ToExternal(syncset)
|
||||
l.SyncSets = append(l.SyncSets, c.(*SyncSet))
|
||||
}
|
||||
|
||||
return l
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
package v20230701preview
|
||||
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the Apache License 2.0.
|
||||
|
||||
import (
|
||||
"github.com/Azure/ARO-RP/pkg/api"
|
||||
)
|
||||
|
||||
func exampleSyncSet() *SyncSet {
|
||||
doc := api.ExampleClusterManagerConfigurationDocumentSyncSet()
|
||||
ext := (&syncSetConverter{}).ToExternal(doc.SyncSet)
|
||||
return ext.(*SyncSet)
|
||||
}
|
||||
|
||||
func ExampleSyncSetPutParameter() interface{} {
|
||||
ss := exampleSyncSet()
|
||||
ss.ID = ""
|
||||
ss.Type = ""
|
||||
ss.Name = ""
|
||||
return ss
|
||||
}
|
||||
|
||||
func ExampleSyncSetPatchParameter() interface{} {
|
||||
return ExampleSyncSetPutParameter()
|
||||
}
|
||||
|
||||
func ExampleSyncSetResponse() interface{} {
|
||||
return exampleSyncSet()
|
||||
}
|
||||
|
||||
func ExampleSyncSetListResponse() interface{} {
|
||||
return &SyncSetList{
|
||||
SyncSets: []*SyncSet{
|
||||
ExampleSyncSetResponse().(*SyncSet),
|
||||
},
|
||||
}
|
||||
}
|
|
@ -0,0 +1,52 @@
|
|||
// Package redhatopenshift implements the Azure ARM Redhatopenshift service API version 2023-07-01-preview.
|
||||
//
|
||||
// Rest API for Azure Red Hat OpenShift 4
|
||||
package redhatopenshift
|
||||
|
||||
// Copyright (c) Microsoft and contributors. All rights reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
//
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
// Code generated by Microsoft (R) AutoRest Code Generator.
|
||||
// Changes may cause incorrect behavior and will be lost if the code is regenerated.
|
||||
|
||||
import (
|
||||
"github.com/Azure/go-autorest/autorest"
|
||||
)
|
||||
|
||||
const (
|
||||
// DefaultBaseURI is the default URI used for the service Redhatopenshift
|
||||
DefaultBaseURI = "https://management.azure.com"
|
||||
)
|
||||
|
||||
// BaseClient is the base client for Redhatopenshift.
|
||||
type BaseClient struct {
|
||||
autorest.Client
|
||||
BaseURI string
|
||||
SubscriptionID string
|
||||
}
|
||||
|
||||
// New creates an instance of the BaseClient client.
|
||||
func New(subscriptionID string) BaseClient {
|
||||
return NewWithBaseURI(DefaultBaseURI, subscriptionID)
|
||||
}
|
||||
|
||||
// NewWithBaseURI creates an instance of the BaseClient client using a custom endpoint. Use this when interacting with
|
||||
// an Azure cloud that uses a non-standard base URI (sovereign clouds, Azure stack).
|
||||
func NewWithBaseURI(baseURI string, subscriptionID string) BaseClient {
|
||||
return BaseClient{
|
||||
Client: autorest.NewClientWithUserAgent(UserAgent()),
|
||||
BaseURI: baseURI,
|
||||
SubscriptionID: subscriptionID,
|
||||
}
|
||||
}
|
|
@ -0,0 +1,120 @@
|
|||
package redhatopenshift
|
||||
|
||||
// Copyright (c) Microsoft and contributors. All rights reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
//
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
// Code generated by Microsoft (R) AutoRest Code Generator.
|
||||
// Changes may cause incorrect behavior and will be lost if the code is regenerated.
|
||||
|
||||
// CreatedByType enumerates the values for created by type.
|
||||
type CreatedByType string
|
||||
|
||||
const (
|
||||
// Application ...
|
||||
Application CreatedByType = "Application"
|
||||
// Key ...
|
||||
Key CreatedByType = "Key"
|
||||
// ManagedIdentity ...
|
||||
ManagedIdentity CreatedByType = "ManagedIdentity"
|
||||
// User ...
|
||||
User CreatedByType = "User"
|
||||
)
|
||||
|
||||
// PossibleCreatedByTypeValues returns an array of possible values for the CreatedByType const type.
|
||||
func PossibleCreatedByTypeValues() []CreatedByType {
|
||||
return []CreatedByType{Application, Key, ManagedIdentity, User}
|
||||
}
|
||||
|
||||
// EncryptionAtHost enumerates the values for encryption at host.
|
||||
type EncryptionAtHost string
|
||||
|
||||
const (
|
||||
// Disabled ...
|
||||
Disabled EncryptionAtHost = "Disabled"
|
||||
// Enabled ...
|
||||
Enabled EncryptionAtHost = "Enabled"
|
||||
)
|
||||
|
||||
// PossibleEncryptionAtHostValues returns an array of possible values for the EncryptionAtHost const type.
|
||||
func PossibleEncryptionAtHostValues() []EncryptionAtHost {
|
||||
return []EncryptionAtHost{Disabled, Enabled}
|
||||
}
|
||||
|
||||
// FipsValidatedModules enumerates the values for fips validated modules.
|
||||
type FipsValidatedModules string
|
||||
|
||||
const (
|
||||
// FipsValidatedModulesDisabled ...
|
||||
FipsValidatedModulesDisabled FipsValidatedModules = "Disabled"
|
||||
// FipsValidatedModulesEnabled ...
|
||||
FipsValidatedModulesEnabled FipsValidatedModules = "Enabled"
|
||||
)
|
||||
|
||||
// PossibleFipsValidatedModulesValues returns an array of possible values for the FipsValidatedModules const type.
|
||||
func PossibleFipsValidatedModulesValues() []FipsValidatedModules {
|
||||
return []FipsValidatedModules{FipsValidatedModulesDisabled, FipsValidatedModulesEnabled}
|
||||
}
|
||||
|
||||
// OutboundType enumerates the values for outbound type.
|
||||
type OutboundType string
|
||||
|
||||
const (
|
||||
// Loadbalancer ...
|
||||
Loadbalancer OutboundType = "Loadbalancer"
|
||||
// UserDefinedRouting ...
|
||||
UserDefinedRouting OutboundType = "UserDefinedRouting"
|
||||
)
|
||||
|
||||
// PossibleOutboundTypeValues returns an array of possible values for the OutboundType const type.
|
||||
func PossibleOutboundTypeValues() []OutboundType {
|
||||
return []OutboundType{Loadbalancer, UserDefinedRouting}
|
||||
}
|
||||
|
||||
// ProvisioningState enumerates the values for provisioning state.
|
||||
type ProvisioningState string
|
||||
|
||||
const (
|
||||
// AdminUpdating ...
|
||||
AdminUpdating ProvisioningState = "AdminUpdating"
|
||||
// Creating ...
|
||||
Creating ProvisioningState = "Creating"
|
||||
// Deleting ...
|
||||
Deleting ProvisioningState = "Deleting"
|
||||
// Failed ...
|
||||
Failed ProvisioningState = "Failed"
|
||||
// Succeeded ...
|
||||
Succeeded ProvisioningState = "Succeeded"
|
||||
// Updating ...
|
||||
Updating ProvisioningState = "Updating"
|
||||
)
|
||||
|
||||
// PossibleProvisioningStateValues returns an array of possible values for the ProvisioningState const type.
|
||||
func PossibleProvisioningStateValues() []ProvisioningState {
|
||||
return []ProvisioningState{AdminUpdating, Creating, Deleting, Failed, Succeeded, Updating}
|
||||
}
|
||||
|
||||
// Visibility enumerates the values for visibility.
|
||||
type Visibility string
|
||||
|
||||
const (
|
||||
// Private ...
|
||||
Private Visibility = "Private"
|
||||
// Public ...
|
||||
Public Visibility = "Public"
|
||||
)
|
||||
|
||||
// PossibleVisibilityValues returns an array of possible values for the Visibility const type.
|
||||
func PossibleVisibilityValues() []Visibility {
|
||||
return []Visibility{Private, Public}
|
||||
}
|
|
@ -0,0 +1,561 @@
|
|||
package redhatopenshift
|
||||
|
||||
// Copyright (c) Microsoft and contributors. All rights reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
//
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
// Code generated by Microsoft (R) AutoRest Code Generator.
|
||||
// Changes may cause incorrect behavior and will be lost if the code is regenerated.
|
||||
|
||||
import (
|
||||
"context"
|
||||
"net/http"
|
||||
|
||||
"github.com/Azure/go-autorest/autorest"
|
||||
"github.com/Azure/go-autorest/autorest/azure"
|
||||
"github.com/Azure/go-autorest/autorest/validation"
|
||||
"github.com/Azure/go-autorest/tracing"
|
||||
)
|
||||
|
||||
// MachinePoolsClient is the rest API for Azure Red Hat OpenShift 4
|
||||
type MachinePoolsClient struct {
|
||||
BaseClient
|
||||
}
|
||||
|
||||
// NewMachinePoolsClient creates an instance of the MachinePoolsClient client.
|
||||
func NewMachinePoolsClient(subscriptionID string) MachinePoolsClient {
|
||||
return NewMachinePoolsClientWithBaseURI(DefaultBaseURI, subscriptionID)
|
||||
}
|
||||
|
||||
// NewMachinePoolsClientWithBaseURI creates an instance of the MachinePoolsClient client using a custom endpoint. Use
|
||||
// this when interacting with an Azure cloud that uses a non-standard base URI (sovereign clouds, Azure stack).
|
||||
func NewMachinePoolsClientWithBaseURI(baseURI string, subscriptionID string) MachinePoolsClient {
|
||||
return MachinePoolsClient{NewWithBaseURI(baseURI, subscriptionID)}
|
||||
}
|
||||
|
||||
// CreateOrUpdate the operation returns properties of a MachinePool.
|
||||
// Parameters:
|
||||
// resourceGroupName - the name of the resource group. The name is case insensitive.
|
||||
// resourceName - the name of the OpenShift cluster resource.
|
||||
// childResourceName - the name of the MachinePool resource.
|
||||
// parameters - the MachinePool resource.
|
||||
func (client MachinePoolsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, resourceName string, childResourceName string, parameters MachinePool) (result MachinePool, err error) {
|
||||
if tracing.IsEnabled() {
|
||||
ctx = tracing.StartSpan(ctx, fqdn+"/MachinePoolsClient.CreateOrUpdate")
|
||||
defer func() {
|
||||
sc := -1
|
||||
if result.Response.Response != nil {
|
||||
sc = result.Response.Response.StatusCode
|
||||
}
|
||||
tracing.EndSpan(ctx, sc, err)
|
||||
}()
|
||||
}
|
||||
if err := validation.Validate([]validation.Validation{
|
||||
{TargetValue: client.SubscriptionID,
|
||||
Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}},
|
||||
{TargetValue: resourceGroupName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
|
||||
{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}},
|
||||
{TargetValue: resourceName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceName", Name: validation.MaxLength, Rule: 63, Chain: nil},
|
||||
{Target: "resourceName", Name: validation.MinLength, Rule: 1, Chain: nil},
|
||||
{Target: "resourceName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$`, Chain: nil}}},
|
||||
{TargetValue: childResourceName,
|
||||
Constraints: []validation.Constraint{{Target: "childResourceName", Name: validation.MaxLength, Rule: 63, Chain: nil},
|
||||
{Target: "childResourceName", Name: validation.MinLength, Rule: 1, Chain: nil},
|
||||
{Target: "childResourceName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$`, Chain: nil}}}}); err != nil {
|
||||
return result, validation.NewError("redhatopenshift.MachinePoolsClient", "CreateOrUpdate", err.Error())
|
||||
}
|
||||
|
||||
req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, resourceName, childResourceName, parameters)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.MachinePoolsClient", "CreateOrUpdate", nil, "Failure preparing request")
|
||||
return
|
||||
}
|
||||
|
||||
resp, err := client.CreateOrUpdateSender(req)
|
||||
if err != nil {
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.MachinePoolsClient", "CreateOrUpdate", resp, "Failure sending request")
|
||||
return
|
||||
}
|
||||
|
||||
result, err = client.CreateOrUpdateResponder(resp)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.MachinePoolsClient", "CreateOrUpdate", resp, "Failure responding to request")
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// CreateOrUpdatePreparer prepares the CreateOrUpdate request.
|
||||
func (client MachinePoolsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, resourceName string, childResourceName string, parameters MachinePool) (*http.Request, error) {
|
||||
pathParameters := map[string]interface{}{
|
||||
"childResourceName": autorest.Encode("path", childResourceName),
|
||||
"resourceGroupName": autorest.Encode("path", resourceGroupName),
|
||||
"resourceName": autorest.Encode("path", resourceName),
|
||||
"subscriptionId": autorest.Encode("path", client.SubscriptionID),
|
||||
}
|
||||
|
||||
const APIVersion = "2023-07-01-preview"
|
||||
queryParameters := map[string]interface{}{
|
||||
"api-version": APIVersion,
|
||||
}
|
||||
|
||||
preparer := autorest.CreatePreparer(
|
||||
autorest.AsContentType("application/json; charset=utf-8"),
|
||||
autorest.AsPut(),
|
||||
autorest.WithBaseURL(client.BaseURI),
|
||||
autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openshiftclusters/{resourceName}/machinePool/{childResourceName}", pathParameters),
|
||||
autorest.WithJSON(parameters),
|
||||
autorest.WithQueryParameters(queryParameters))
|
||||
return preparer.Prepare((&http.Request{}).WithContext(ctx))
|
||||
}
|
||||
|
||||
// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the
|
||||
// http.Response Body if it receives an error.
|
||||
func (client MachinePoolsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) {
|
||||
return client.Send(req, azure.DoRetryWithRegistration(client.Client))
|
||||
}
|
||||
|
||||
// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always
|
||||
// closes the http.Response Body.
|
||||
func (client MachinePoolsClient) CreateOrUpdateResponder(resp *http.Response) (result MachinePool, err error) {
|
||||
err = autorest.Respond(
|
||||
resp,
|
||||
azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated),
|
||||
autorest.ByUnmarshallingJSON(&result),
|
||||
autorest.ByClosing())
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
return
|
||||
}
|
||||
|
||||
// Delete the operation returns nothing.
|
||||
// Parameters:
|
||||
// resourceGroupName - the name of the resource group. The name is case insensitive.
|
||||
// resourceName - the name of the OpenShift cluster resource.
|
||||
// childResourceName - the name of the MachinePool resource.
|
||||
func (client MachinePoolsClient) Delete(ctx context.Context, resourceGroupName string, resourceName string, childResourceName string) (result autorest.Response, err error) {
|
||||
if tracing.IsEnabled() {
|
||||
ctx = tracing.StartSpan(ctx, fqdn+"/MachinePoolsClient.Delete")
|
||||
defer func() {
|
||||
sc := -1
|
||||
if result.Response != nil {
|
||||
sc = result.Response.StatusCode
|
||||
}
|
||||
tracing.EndSpan(ctx, sc, err)
|
||||
}()
|
||||
}
|
||||
if err := validation.Validate([]validation.Validation{
|
||||
{TargetValue: client.SubscriptionID,
|
||||
Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}},
|
||||
{TargetValue: resourceGroupName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
|
||||
{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}},
|
||||
{TargetValue: resourceName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceName", Name: validation.MaxLength, Rule: 63, Chain: nil},
|
||||
{Target: "resourceName", Name: validation.MinLength, Rule: 1, Chain: nil},
|
||||
{Target: "resourceName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$`, Chain: nil}}},
|
||||
{TargetValue: childResourceName,
|
||||
Constraints: []validation.Constraint{{Target: "childResourceName", Name: validation.MaxLength, Rule: 63, Chain: nil},
|
||||
{Target: "childResourceName", Name: validation.MinLength, Rule: 1, Chain: nil},
|
||||
{Target: "childResourceName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$`, Chain: nil}}}}); err != nil {
|
||||
return result, validation.NewError("redhatopenshift.MachinePoolsClient", "Delete", err.Error())
|
||||
}
|
||||
|
||||
req, err := client.DeletePreparer(ctx, resourceGroupName, resourceName, childResourceName)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.MachinePoolsClient", "Delete", nil, "Failure preparing request")
|
||||
return
|
||||
}
|
||||
|
||||
resp, err := client.DeleteSender(req)
|
||||
if err != nil {
|
||||
result.Response = resp
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.MachinePoolsClient", "Delete", resp, "Failure sending request")
|
||||
return
|
||||
}
|
||||
|
||||
result, err = client.DeleteResponder(resp)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.MachinePoolsClient", "Delete", resp, "Failure responding to request")
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// DeletePreparer prepares the Delete request.
|
||||
func (client MachinePoolsClient) DeletePreparer(ctx context.Context, resourceGroupName string, resourceName string, childResourceName string) (*http.Request, error) {
|
||||
pathParameters := map[string]interface{}{
|
||||
"childResourceName": autorest.Encode("path", childResourceName),
|
||||
"resourceGroupName": autorest.Encode("path", resourceGroupName),
|
||||
"resourceName": autorest.Encode("path", resourceName),
|
||||
"subscriptionId": autorest.Encode("path", client.SubscriptionID),
|
||||
}
|
||||
|
||||
const APIVersion = "2023-07-01-preview"
|
||||
queryParameters := map[string]interface{}{
|
||||
"api-version": APIVersion,
|
||||
}
|
||||
|
||||
preparer := autorest.CreatePreparer(
|
||||
autorest.AsDelete(),
|
||||
autorest.WithBaseURL(client.BaseURI),
|
||||
autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openshiftclusters/{resourceName}/machinePool/{childResourceName}", pathParameters),
|
||||
autorest.WithQueryParameters(queryParameters))
|
||||
return preparer.Prepare((&http.Request{}).WithContext(ctx))
|
||||
}
|
||||
|
||||
// DeleteSender sends the Delete request. The method will close the
|
||||
// http.Response Body if it receives an error.
|
||||
func (client MachinePoolsClient) DeleteSender(req *http.Request) (*http.Response, error) {
|
||||
return client.Send(req, azure.DoRetryWithRegistration(client.Client))
|
||||
}
|
||||
|
||||
// DeleteResponder handles the response to the Delete request. The method always
|
||||
// closes the http.Response Body.
|
||||
func (client MachinePoolsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) {
|
||||
err = autorest.Respond(
|
||||
resp,
|
||||
azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent),
|
||||
autorest.ByClosing())
|
||||
result.Response = resp
|
||||
return
|
||||
}
|
||||
|
||||
// Get the operation returns properties of a MachinePool.
|
||||
// Parameters:
|
||||
// resourceGroupName - the name of the resource group. The name is case insensitive.
|
||||
// resourceName - the name of the OpenShift cluster resource.
|
||||
// childResourceName - the name of the MachinePool resource.
|
||||
func (client MachinePoolsClient) Get(ctx context.Context, resourceGroupName string, resourceName string, childResourceName string) (result MachinePool, err error) {
|
||||
if tracing.IsEnabled() {
|
||||
ctx = tracing.StartSpan(ctx, fqdn+"/MachinePoolsClient.Get")
|
||||
defer func() {
|
||||
sc := -1
|
||||
if result.Response.Response != nil {
|
||||
sc = result.Response.Response.StatusCode
|
||||
}
|
||||
tracing.EndSpan(ctx, sc, err)
|
||||
}()
|
||||
}
|
||||
if err := validation.Validate([]validation.Validation{
|
||||
{TargetValue: client.SubscriptionID,
|
||||
Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}},
|
||||
{TargetValue: resourceGroupName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
|
||||
{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}},
|
||||
{TargetValue: resourceName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceName", Name: validation.MaxLength, Rule: 63, Chain: nil},
|
||||
{Target: "resourceName", Name: validation.MinLength, Rule: 1, Chain: nil},
|
||||
{Target: "resourceName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$`, Chain: nil}}},
|
||||
{TargetValue: childResourceName,
|
||||
Constraints: []validation.Constraint{{Target: "childResourceName", Name: validation.MaxLength, Rule: 63, Chain: nil},
|
||||
{Target: "childResourceName", Name: validation.MinLength, Rule: 1, Chain: nil},
|
||||
{Target: "childResourceName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$`, Chain: nil}}}}); err != nil {
|
||||
return result, validation.NewError("redhatopenshift.MachinePoolsClient", "Get", err.Error())
|
||||
}
|
||||
|
||||
req, err := client.GetPreparer(ctx, resourceGroupName, resourceName, childResourceName)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.MachinePoolsClient", "Get", nil, "Failure preparing request")
|
||||
return
|
||||
}
|
||||
|
||||
resp, err := client.GetSender(req)
|
||||
if err != nil {
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.MachinePoolsClient", "Get", resp, "Failure sending request")
|
||||
return
|
||||
}
|
||||
|
||||
result, err = client.GetResponder(resp)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.MachinePoolsClient", "Get", resp, "Failure responding to request")
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// GetPreparer prepares the Get request.
|
||||
func (client MachinePoolsClient) GetPreparer(ctx context.Context, resourceGroupName string, resourceName string, childResourceName string) (*http.Request, error) {
|
||||
pathParameters := map[string]interface{}{
|
||||
"childResourceName": autorest.Encode("path", childResourceName),
|
||||
"resourceGroupName": autorest.Encode("path", resourceGroupName),
|
||||
"resourceName": autorest.Encode("path", resourceName),
|
||||
"subscriptionId": autorest.Encode("path", client.SubscriptionID),
|
||||
}
|
||||
|
||||
const APIVersion = "2023-07-01-preview"
|
||||
queryParameters := map[string]interface{}{
|
||||
"api-version": APIVersion,
|
||||
}
|
||||
|
||||
preparer := autorest.CreatePreparer(
|
||||
autorest.AsGet(),
|
||||
autorest.WithBaseURL(client.BaseURI),
|
||||
autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openshiftclusters/{resourceName}/machinePool/{childResourceName}", pathParameters),
|
||||
autorest.WithQueryParameters(queryParameters))
|
||||
return preparer.Prepare((&http.Request{}).WithContext(ctx))
|
||||
}
|
||||
|
||||
// GetSender sends the Get request. The method will close the
|
||||
// http.Response Body if it receives an error.
|
||||
func (client MachinePoolsClient) GetSender(req *http.Request) (*http.Response, error) {
|
||||
return client.Send(req, azure.DoRetryWithRegistration(client.Client))
|
||||
}
|
||||
|
||||
// GetResponder handles the response to the Get request. The method always
|
||||
// closes the http.Response Body.
|
||||
func (client MachinePoolsClient) GetResponder(resp *http.Response) (result MachinePool, err error) {
|
||||
err = autorest.Respond(
|
||||
resp,
|
||||
azure.WithErrorUnlessStatusCode(http.StatusOK),
|
||||
autorest.ByUnmarshallingJSON(&result),
|
||||
autorest.ByClosing())
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
return
|
||||
}
|
||||
|
||||
// List the operation returns properties of each MachinePool.
|
||||
// Parameters:
|
||||
// resourceGroupName - the name of the resource group. The name is case insensitive.
|
||||
// resourceName - the name of the OpenShift cluster resource.
|
||||
func (client MachinePoolsClient) List(ctx context.Context, resourceGroupName string, resourceName string) (result MachinePoolListPage, err error) {
|
||||
if tracing.IsEnabled() {
|
||||
ctx = tracing.StartSpan(ctx, fqdn+"/MachinePoolsClient.List")
|
||||
defer func() {
|
||||
sc := -1
|
||||
if result.mpl.Response.Response != nil {
|
||||
sc = result.mpl.Response.Response.StatusCode
|
||||
}
|
||||
tracing.EndSpan(ctx, sc, err)
|
||||
}()
|
||||
}
|
||||
if err := validation.Validate([]validation.Validation{
|
||||
{TargetValue: client.SubscriptionID,
|
||||
Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}},
|
||||
{TargetValue: resourceGroupName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
|
||||
{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}},
|
||||
{TargetValue: resourceName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceName", Name: validation.MaxLength, Rule: 63, Chain: nil},
|
||||
{Target: "resourceName", Name: validation.MinLength, Rule: 1, Chain: nil},
|
||||
{Target: "resourceName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$`, Chain: nil}}}}); err != nil {
|
||||
return result, validation.NewError("redhatopenshift.MachinePoolsClient", "List", err.Error())
|
||||
}
|
||||
|
||||
result.fn = client.listNextResults
|
||||
req, err := client.ListPreparer(ctx, resourceGroupName, resourceName)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.MachinePoolsClient", "List", nil, "Failure preparing request")
|
||||
return
|
||||
}
|
||||
|
||||
resp, err := client.ListSender(req)
|
||||
if err != nil {
|
||||
result.mpl.Response = autorest.Response{Response: resp}
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.MachinePoolsClient", "List", resp, "Failure sending request")
|
||||
return
|
||||
}
|
||||
|
||||
result.mpl, err = client.ListResponder(resp)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.MachinePoolsClient", "List", resp, "Failure responding to request")
|
||||
return
|
||||
}
|
||||
if result.mpl.hasNextLink() && result.mpl.IsEmpty() {
|
||||
err = result.NextWithContext(ctx)
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// ListPreparer prepares the List request.
|
||||
func (client MachinePoolsClient) ListPreparer(ctx context.Context, resourceGroupName string, resourceName string) (*http.Request, error) {
|
||||
pathParameters := map[string]interface{}{
|
||||
"resourceGroupName": autorest.Encode("path", resourceGroupName),
|
||||
"resourceName": autorest.Encode("path", resourceName),
|
||||
"subscriptionId": autorest.Encode("path", client.SubscriptionID),
|
||||
}
|
||||
|
||||
const APIVersion = "2023-07-01-preview"
|
||||
queryParameters := map[string]interface{}{
|
||||
"api-version": APIVersion,
|
||||
}
|
||||
|
||||
preparer := autorest.CreatePreparer(
|
||||
autorest.AsGet(),
|
||||
autorest.WithBaseURL(client.BaseURI),
|
||||
autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openShiftCluster/{resourceName}/machinePools", pathParameters),
|
||||
autorest.WithQueryParameters(queryParameters))
|
||||
return preparer.Prepare((&http.Request{}).WithContext(ctx))
|
||||
}
|
||||
|
||||
// ListSender sends the List request. The method will close the
|
||||
// http.Response Body if it receives an error.
|
||||
func (client MachinePoolsClient) ListSender(req *http.Request) (*http.Response, error) {
|
||||
return client.Send(req, azure.DoRetryWithRegistration(client.Client))
|
||||
}
|
||||
|
||||
// ListResponder handles the response to the List request. The method always
|
||||
// closes the http.Response Body.
|
||||
func (client MachinePoolsClient) ListResponder(resp *http.Response) (result MachinePoolList, err error) {
|
||||
err = autorest.Respond(
|
||||
resp,
|
||||
azure.WithErrorUnlessStatusCode(http.StatusOK),
|
||||
autorest.ByUnmarshallingJSON(&result),
|
||||
autorest.ByClosing())
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
return
|
||||
}
|
||||
|
||||
// listNextResults retrieves the next set of results, if any.
|
||||
func (client MachinePoolsClient) listNextResults(ctx context.Context, lastResults MachinePoolList) (result MachinePoolList, err error) {
|
||||
req, err := lastResults.machinePoolListPreparer(ctx)
|
||||
if err != nil {
|
||||
return result, autorest.NewErrorWithError(err, "redhatopenshift.MachinePoolsClient", "listNextResults", nil, "Failure preparing next results request")
|
||||
}
|
||||
if req == nil {
|
||||
return
|
||||
}
|
||||
resp, err := client.ListSender(req)
|
||||
if err != nil {
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
return result, autorest.NewErrorWithError(err, "redhatopenshift.MachinePoolsClient", "listNextResults", resp, "Failure sending next results request")
|
||||
}
|
||||
result, err = client.ListResponder(resp)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.MachinePoolsClient", "listNextResults", resp, "Failure responding to next results request")
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// ListComplete enumerates all values, automatically crossing page boundaries as required.
|
||||
func (client MachinePoolsClient) ListComplete(ctx context.Context, resourceGroupName string, resourceName string) (result MachinePoolListIterator, err error) {
|
||||
if tracing.IsEnabled() {
|
||||
ctx = tracing.StartSpan(ctx, fqdn+"/MachinePoolsClient.List")
|
||||
defer func() {
|
||||
sc := -1
|
||||
if result.Response().Response.Response != nil {
|
||||
sc = result.page.Response().Response.Response.StatusCode
|
||||
}
|
||||
tracing.EndSpan(ctx, sc, err)
|
||||
}()
|
||||
}
|
||||
result.page, err = client.List(ctx, resourceGroupName, resourceName)
|
||||
return
|
||||
}
|
||||
|
||||
// Update the operation returns properties of a MachinePool.
|
||||
// Parameters:
|
||||
// resourceGroupName - the name of the resource group. The name is case insensitive.
|
||||
// resourceName - the name of the OpenShift cluster resource.
|
||||
// childResourceName - the name of the MachinePool resource.
|
||||
// parameters - the MachinePool resource.
|
||||
func (client MachinePoolsClient) Update(ctx context.Context, resourceGroupName string, resourceName string, childResourceName string, parameters MachinePoolUpdate) (result MachinePool, err error) {
|
||||
if tracing.IsEnabled() {
|
||||
ctx = tracing.StartSpan(ctx, fqdn+"/MachinePoolsClient.Update")
|
||||
defer func() {
|
||||
sc := -1
|
||||
if result.Response.Response != nil {
|
||||
sc = result.Response.Response.StatusCode
|
||||
}
|
||||
tracing.EndSpan(ctx, sc, err)
|
||||
}()
|
||||
}
|
||||
if err := validation.Validate([]validation.Validation{
|
||||
{TargetValue: client.SubscriptionID,
|
||||
Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}},
|
||||
{TargetValue: resourceGroupName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
|
||||
{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}},
|
||||
{TargetValue: resourceName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceName", Name: validation.MaxLength, Rule: 63, Chain: nil},
|
||||
{Target: "resourceName", Name: validation.MinLength, Rule: 1, Chain: nil},
|
||||
{Target: "resourceName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$`, Chain: nil}}},
|
||||
{TargetValue: childResourceName,
|
||||
Constraints: []validation.Constraint{{Target: "childResourceName", Name: validation.MaxLength, Rule: 63, Chain: nil},
|
||||
{Target: "childResourceName", Name: validation.MinLength, Rule: 1, Chain: nil},
|
||||
{Target: "childResourceName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$`, Chain: nil}}}}); err != nil {
|
||||
return result, validation.NewError("redhatopenshift.MachinePoolsClient", "Update", err.Error())
|
||||
}
|
||||
|
||||
req, err := client.UpdatePreparer(ctx, resourceGroupName, resourceName, childResourceName, parameters)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.MachinePoolsClient", "Update", nil, "Failure preparing request")
|
||||
return
|
||||
}
|
||||
|
||||
resp, err := client.UpdateSender(req)
|
||||
if err != nil {
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.MachinePoolsClient", "Update", resp, "Failure sending request")
|
||||
return
|
||||
}
|
||||
|
||||
result, err = client.UpdateResponder(resp)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.MachinePoolsClient", "Update", resp, "Failure responding to request")
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// UpdatePreparer prepares the Update request.
|
||||
func (client MachinePoolsClient) UpdatePreparer(ctx context.Context, resourceGroupName string, resourceName string, childResourceName string, parameters MachinePoolUpdate) (*http.Request, error) {
|
||||
pathParameters := map[string]interface{}{
|
||||
"childResourceName": autorest.Encode("path", childResourceName),
|
||||
"resourceGroupName": autorest.Encode("path", resourceGroupName),
|
||||
"resourceName": autorest.Encode("path", resourceName),
|
||||
"subscriptionId": autorest.Encode("path", client.SubscriptionID),
|
||||
}
|
||||
|
||||
const APIVersion = "2023-07-01-preview"
|
||||
queryParameters := map[string]interface{}{
|
||||
"api-version": APIVersion,
|
||||
}
|
||||
|
||||
parameters.SystemData = nil
|
||||
preparer := autorest.CreatePreparer(
|
||||
autorest.AsContentType("application/json; charset=utf-8"),
|
||||
autorest.AsPatch(),
|
||||
autorest.WithBaseURL(client.BaseURI),
|
||||
autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openshiftclusters/{resourceName}/machinePool/{childResourceName}", pathParameters),
|
||||
autorest.WithJSON(parameters),
|
||||
autorest.WithQueryParameters(queryParameters))
|
||||
return preparer.Prepare((&http.Request{}).WithContext(ctx))
|
||||
}
|
||||
|
||||
// UpdateSender sends the Update request. The method will close the
|
||||
// http.Response Body if it receives an error.
|
||||
func (client MachinePoolsClient) UpdateSender(req *http.Request) (*http.Response, error) {
|
||||
return client.Send(req, azure.DoRetryWithRegistration(client.Client))
|
||||
}
|
||||
|
||||
// UpdateResponder handles the response to the Update request. The method always
|
||||
// closes the http.Response Body.
|
||||
func (client MachinePoolsClient) UpdateResponder(resp *http.Response) (result MachinePool, err error) {
|
||||
err = autorest.Respond(
|
||||
resp,
|
||||
azure.WithErrorUnlessStatusCode(http.StatusOK),
|
||||
autorest.ByUnmarshallingJSON(&result),
|
||||
autorest.ByClosing())
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
return
|
||||
}
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -0,0 +1,814 @@
|
|||
package redhatopenshift
|
||||
|
||||
// Copyright (c) Microsoft and contributors. All rights reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
//
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
// Code generated by Microsoft (R) AutoRest Code Generator.
|
||||
// Changes may cause incorrect behavior and will be lost if the code is regenerated.
|
||||
|
||||
import (
|
||||
"context"
|
||||
"net/http"
|
||||
|
||||
"github.com/Azure/go-autorest/autorest"
|
||||
"github.com/Azure/go-autorest/autorest/azure"
|
||||
"github.com/Azure/go-autorest/autorest/validation"
|
||||
"github.com/Azure/go-autorest/tracing"
|
||||
)
|
||||
|
||||
// OpenShiftClustersClient is the rest API for Azure Red Hat OpenShift 4
|
||||
type OpenShiftClustersClient struct {
|
||||
BaseClient
|
||||
}
|
||||
|
||||
// NewOpenShiftClustersClient creates an instance of the OpenShiftClustersClient client.
|
||||
func NewOpenShiftClustersClient(subscriptionID string) OpenShiftClustersClient {
|
||||
return NewOpenShiftClustersClientWithBaseURI(DefaultBaseURI, subscriptionID)
|
||||
}
|
||||
|
||||
// NewOpenShiftClustersClientWithBaseURI creates an instance of the OpenShiftClustersClient client using a custom
|
||||
// endpoint. Use this when interacting with an Azure cloud that uses a non-standard base URI (sovereign clouds, Azure
|
||||
// stack).
|
||||
func NewOpenShiftClustersClientWithBaseURI(baseURI string, subscriptionID string) OpenShiftClustersClient {
|
||||
return OpenShiftClustersClient{NewWithBaseURI(baseURI, subscriptionID)}
|
||||
}
|
||||
|
||||
// CreateOrUpdate the operation returns properties of a OpenShift cluster.
|
||||
// Parameters:
|
||||
// resourceGroupName - the name of the resource group. The name is case insensitive.
|
||||
// resourceName - the name of the OpenShift cluster resource.
|
||||
// parameters - the OpenShift cluster resource.
|
||||
func (client OpenShiftClustersClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, resourceName string, parameters OpenShiftCluster) (result OpenShiftClustersCreateOrUpdateFuture, err error) {
|
||||
if tracing.IsEnabled() {
|
||||
ctx = tracing.StartSpan(ctx, fqdn+"/OpenShiftClustersClient.CreateOrUpdate")
|
||||
defer func() {
|
||||
sc := -1
|
||||
if result.FutureAPI != nil && result.FutureAPI.Response() != nil {
|
||||
sc = result.FutureAPI.Response().StatusCode
|
||||
}
|
||||
tracing.EndSpan(ctx, sc, err)
|
||||
}()
|
||||
}
|
||||
if err := validation.Validate([]validation.Validation{
|
||||
{TargetValue: client.SubscriptionID,
|
||||
Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}},
|
||||
{TargetValue: resourceGroupName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
|
||||
{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil {
|
||||
return result, validation.NewError("redhatopenshift.OpenShiftClustersClient", "CreateOrUpdate", err.Error())
|
||||
}
|
||||
|
||||
req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, resourceName, parameters)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.OpenShiftClustersClient", "CreateOrUpdate", nil, "Failure preparing request")
|
||||
return
|
||||
}
|
||||
|
||||
result, err = client.CreateOrUpdateSender(req)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.OpenShiftClustersClient", "CreateOrUpdate", result.Response(), "Failure sending request")
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// CreateOrUpdatePreparer prepares the CreateOrUpdate request.
|
||||
func (client OpenShiftClustersClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, resourceName string, parameters OpenShiftCluster) (*http.Request, error) {
|
||||
pathParameters := map[string]interface{}{
|
||||
"resourceGroupName": autorest.Encode("path", resourceGroupName),
|
||||
"resourceName": autorest.Encode("path", resourceName),
|
||||
"subscriptionId": autorest.Encode("path", client.SubscriptionID),
|
||||
}
|
||||
|
||||
const APIVersion = "2023-07-01-preview"
|
||||
queryParameters := map[string]interface{}{
|
||||
"api-version": APIVersion,
|
||||
}
|
||||
|
||||
preparer := autorest.CreatePreparer(
|
||||
autorest.AsContentType("application/json; charset=utf-8"),
|
||||
autorest.AsPut(),
|
||||
autorest.WithBaseURL(client.BaseURI),
|
||||
autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openShiftClusters/{resourceName}", pathParameters),
|
||||
autorest.WithJSON(parameters),
|
||||
autorest.WithQueryParameters(queryParameters))
|
||||
return preparer.Prepare((&http.Request{}).WithContext(ctx))
|
||||
}
|
||||
|
||||
// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the
|
||||
// http.Response Body if it receives an error.
|
||||
func (client OpenShiftClustersClient) CreateOrUpdateSender(req *http.Request) (future OpenShiftClustersCreateOrUpdateFuture, err error) {
|
||||
var resp *http.Response
|
||||
future.FutureAPI = &azure.Future{}
|
||||
resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client))
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
var azf azure.Future
|
||||
azf, err = azure.NewFutureFromResponse(resp)
|
||||
future.FutureAPI = &azf
|
||||
future.Result = future.result
|
||||
return
|
||||
}
|
||||
|
||||
// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always
|
||||
// closes the http.Response Body.
|
||||
func (client OpenShiftClustersClient) CreateOrUpdateResponder(resp *http.Response) (result OpenShiftCluster, err error) {
|
||||
err = autorest.Respond(
|
||||
resp,
|
||||
azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated),
|
||||
autorest.ByUnmarshallingJSON(&result),
|
||||
autorest.ByClosing())
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
return
|
||||
}
|
||||
|
||||
// Delete the operation returns nothing.
|
||||
// Parameters:
|
||||
// resourceGroupName - the name of the resource group. The name is case insensitive.
|
||||
// resourceName - the name of the OpenShift cluster resource.
|
||||
func (client OpenShiftClustersClient) Delete(ctx context.Context, resourceGroupName string, resourceName string) (result OpenShiftClustersDeleteFuture, err error) {
|
||||
if tracing.IsEnabled() {
|
||||
ctx = tracing.StartSpan(ctx, fqdn+"/OpenShiftClustersClient.Delete")
|
||||
defer func() {
|
||||
sc := -1
|
||||
if result.FutureAPI != nil && result.FutureAPI.Response() != nil {
|
||||
sc = result.FutureAPI.Response().StatusCode
|
||||
}
|
||||
tracing.EndSpan(ctx, sc, err)
|
||||
}()
|
||||
}
|
||||
if err := validation.Validate([]validation.Validation{
|
||||
{TargetValue: client.SubscriptionID,
|
||||
Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}},
|
||||
{TargetValue: resourceGroupName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
|
||||
{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil {
|
||||
return result, validation.NewError("redhatopenshift.OpenShiftClustersClient", "Delete", err.Error())
|
||||
}
|
||||
|
||||
req, err := client.DeletePreparer(ctx, resourceGroupName, resourceName)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.OpenShiftClustersClient", "Delete", nil, "Failure preparing request")
|
||||
return
|
||||
}
|
||||
|
||||
result, err = client.DeleteSender(req)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.OpenShiftClustersClient", "Delete", result.Response(), "Failure sending request")
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// DeletePreparer prepares the Delete request.
|
||||
func (client OpenShiftClustersClient) DeletePreparer(ctx context.Context, resourceGroupName string, resourceName string) (*http.Request, error) {
|
||||
pathParameters := map[string]interface{}{
|
||||
"resourceGroupName": autorest.Encode("path", resourceGroupName),
|
||||
"resourceName": autorest.Encode("path", resourceName),
|
||||
"subscriptionId": autorest.Encode("path", client.SubscriptionID),
|
||||
}
|
||||
|
||||
const APIVersion = "2023-07-01-preview"
|
||||
queryParameters := map[string]interface{}{
|
||||
"api-version": APIVersion,
|
||||
}
|
||||
|
||||
preparer := autorest.CreatePreparer(
|
||||
autorest.AsDelete(),
|
||||
autorest.WithBaseURL(client.BaseURI),
|
||||
autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openShiftClusters/{resourceName}", pathParameters),
|
||||
autorest.WithQueryParameters(queryParameters))
|
||||
return preparer.Prepare((&http.Request{}).WithContext(ctx))
|
||||
}
|
||||
|
||||
// DeleteSender sends the Delete request. The method will close the
|
||||
// http.Response Body if it receives an error.
|
||||
func (client OpenShiftClustersClient) DeleteSender(req *http.Request) (future OpenShiftClustersDeleteFuture, err error) {
|
||||
var resp *http.Response
|
||||
future.FutureAPI = &azure.Future{}
|
||||
resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client))
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
var azf azure.Future
|
||||
azf, err = azure.NewFutureFromResponse(resp)
|
||||
future.FutureAPI = &azf
|
||||
future.Result = future.result
|
||||
return
|
||||
}
|
||||
|
||||
// DeleteResponder handles the response to the Delete request. The method always
|
||||
// closes the http.Response Body.
|
||||
func (client OpenShiftClustersClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) {
|
||||
err = autorest.Respond(
|
||||
resp,
|
||||
azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent),
|
||||
autorest.ByClosing())
|
||||
result.Response = resp
|
||||
return
|
||||
}
|
||||
|
||||
// Get the operation returns properties of a OpenShift cluster.
|
||||
// Parameters:
|
||||
// resourceGroupName - the name of the resource group. The name is case insensitive.
|
||||
// resourceName - the name of the OpenShift cluster resource.
|
||||
func (client OpenShiftClustersClient) Get(ctx context.Context, resourceGroupName string, resourceName string) (result OpenShiftCluster, err error) {
|
||||
if tracing.IsEnabled() {
|
||||
ctx = tracing.StartSpan(ctx, fqdn+"/OpenShiftClustersClient.Get")
|
||||
defer func() {
|
||||
sc := -1
|
||||
if result.Response.Response != nil {
|
||||
sc = result.Response.Response.StatusCode
|
||||
}
|
||||
tracing.EndSpan(ctx, sc, err)
|
||||
}()
|
||||
}
|
||||
if err := validation.Validate([]validation.Validation{
|
||||
{TargetValue: client.SubscriptionID,
|
||||
Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}},
|
||||
{TargetValue: resourceGroupName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
|
||||
{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil {
|
||||
return result, validation.NewError("redhatopenshift.OpenShiftClustersClient", "Get", err.Error())
|
||||
}
|
||||
|
||||
req, err := client.GetPreparer(ctx, resourceGroupName, resourceName)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.OpenShiftClustersClient", "Get", nil, "Failure preparing request")
|
||||
return
|
||||
}
|
||||
|
||||
resp, err := client.GetSender(req)
|
||||
if err != nil {
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.OpenShiftClustersClient", "Get", resp, "Failure sending request")
|
||||
return
|
||||
}
|
||||
|
||||
result, err = client.GetResponder(resp)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.OpenShiftClustersClient", "Get", resp, "Failure responding to request")
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// GetPreparer prepares the Get request.
|
||||
func (client OpenShiftClustersClient) GetPreparer(ctx context.Context, resourceGroupName string, resourceName string) (*http.Request, error) {
|
||||
pathParameters := map[string]interface{}{
|
||||
"resourceGroupName": autorest.Encode("path", resourceGroupName),
|
||||
"resourceName": autorest.Encode("path", resourceName),
|
||||
"subscriptionId": autorest.Encode("path", client.SubscriptionID),
|
||||
}
|
||||
|
||||
const APIVersion = "2023-07-01-preview"
|
||||
queryParameters := map[string]interface{}{
|
||||
"api-version": APIVersion,
|
||||
}
|
||||
|
||||
preparer := autorest.CreatePreparer(
|
||||
autorest.AsGet(),
|
||||
autorest.WithBaseURL(client.BaseURI),
|
||||
autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openShiftClusters/{resourceName}", pathParameters),
|
||||
autorest.WithQueryParameters(queryParameters))
|
||||
return preparer.Prepare((&http.Request{}).WithContext(ctx))
|
||||
}
|
||||
|
||||
// GetSender sends the Get request. The method will close the
|
||||
// http.Response Body if it receives an error.
|
||||
func (client OpenShiftClustersClient) GetSender(req *http.Request) (*http.Response, error) {
|
||||
return client.Send(req, azure.DoRetryWithRegistration(client.Client))
|
||||
}
|
||||
|
||||
// GetResponder handles the response to the Get request. The method always
|
||||
// closes the http.Response Body.
|
||||
func (client OpenShiftClustersClient) GetResponder(resp *http.Response) (result OpenShiftCluster, err error) {
|
||||
err = autorest.Respond(
|
||||
resp,
|
||||
azure.WithErrorUnlessStatusCode(http.StatusOK),
|
||||
autorest.ByUnmarshallingJSON(&result),
|
||||
autorest.ByClosing())
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
return
|
||||
}
|
||||
|
||||
// List the operation returns properties of each OpenShift cluster.
|
||||
func (client OpenShiftClustersClient) List(ctx context.Context) (result OpenShiftClusterListPage, err error) {
|
||||
if tracing.IsEnabled() {
|
||||
ctx = tracing.StartSpan(ctx, fqdn+"/OpenShiftClustersClient.List")
|
||||
defer func() {
|
||||
sc := -1
|
||||
if result.oscl.Response.Response != nil {
|
||||
sc = result.oscl.Response.Response.StatusCode
|
||||
}
|
||||
tracing.EndSpan(ctx, sc, err)
|
||||
}()
|
||||
}
|
||||
if err := validation.Validate([]validation.Validation{
|
||||
{TargetValue: client.SubscriptionID,
|
||||
Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil {
|
||||
return result, validation.NewError("redhatopenshift.OpenShiftClustersClient", "List", err.Error())
|
||||
}
|
||||
|
||||
result.fn = client.listNextResults
|
||||
req, err := client.ListPreparer(ctx)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.OpenShiftClustersClient", "List", nil, "Failure preparing request")
|
||||
return
|
||||
}
|
||||
|
||||
resp, err := client.ListSender(req)
|
||||
if err != nil {
|
||||
result.oscl.Response = autorest.Response{Response: resp}
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.OpenShiftClustersClient", "List", resp, "Failure sending request")
|
||||
return
|
||||
}
|
||||
|
||||
result.oscl, err = client.ListResponder(resp)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.OpenShiftClustersClient", "List", resp, "Failure responding to request")
|
||||
return
|
||||
}
|
||||
if result.oscl.hasNextLink() && result.oscl.IsEmpty() {
|
||||
err = result.NextWithContext(ctx)
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// ListPreparer prepares the List request.
|
||||
func (client OpenShiftClustersClient) ListPreparer(ctx context.Context) (*http.Request, error) {
|
||||
pathParameters := map[string]interface{}{
|
||||
"subscriptionId": autorest.Encode("path", client.SubscriptionID),
|
||||
}
|
||||
|
||||
const APIVersion = "2023-07-01-preview"
|
||||
queryParameters := map[string]interface{}{
|
||||
"api-version": APIVersion,
|
||||
}
|
||||
|
||||
preparer := autorest.CreatePreparer(
|
||||
autorest.AsGet(),
|
||||
autorest.WithBaseURL(client.BaseURI),
|
||||
autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.RedHatOpenShift/openShiftClusters", pathParameters),
|
||||
autorest.WithQueryParameters(queryParameters))
|
||||
return preparer.Prepare((&http.Request{}).WithContext(ctx))
|
||||
}
|
||||
|
||||
// ListSender sends the List request. The method will close the
|
||||
// http.Response Body if it receives an error.
|
||||
func (client OpenShiftClustersClient) ListSender(req *http.Request) (*http.Response, error) {
|
||||
return client.Send(req, azure.DoRetryWithRegistration(client.Client))
|
||||
}
|
||||
|
||||
// ListResponder handles the response to the List request. The method always
|
||||
// closes the http.Response Body.
|
||||
func (client OpenShiftClustersClient) ListResponder(resp *http.Response) (result OpenShiftClusterList, err error) {
|
||||
err = autorest.Respond(
|
||||
resp,
|
||||
azure.WithErrorUnlessStatusCode(http.StatusOK),
|
||||
autorest.ByUnmarshallingJSON(&result),
|
||||
autorest.ByClosing())
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
return
|
||||
}
|
||||
|
||||
// listNextResults retrieves the next set of results, if any.
|
||||
func (client OpenShiftClustersClient) listNextResults(ctx context.Context, lastResults OpenShiftClusterList) (result OpenShiftClusterList, err error) {
|
||||
req, err := lastResults.openShiftClusterListPreparer(ctx)
|
||||
if err != nil {
|
||||
return result, autorest.NewErrorWithError(err, "redhatopenshift.OpenShiftClustersClient", "listNextResults", nil, "Failure preparing next results request")
|
||||
}
|
||||
if req == nil {
|
||||
return
|
||||
}
|
||||
resp, err := client.ListSender(req)
|
||||
if err != nil {
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
return result, autorest.NewErrorWithError(err, "redhatopenshift.OpenShiftClustersClient", "listNextResults", resp, "Failure sending next results request")
|
||||
}
|
||||
result, err = client.ListResponder(resp)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.OpenShiftClustersClient", "listNextResults", resp, "Failure responding to next results request")
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// ListComplete enumerates all values, automatically crossing page boundaries as required.
|
||||
func (client OpenShiftClustersClient) ListComplete(ctx context.Context) (result OpenShiftClusterListIterator, err error) {
|
||||
if tracing.IsEnabled() {
|
||||
ctx = tracing.StartSpan(ctx, fqdn+"/OpenShiftClustersClient.List")
|
||||
defer func() {
|
||||
sc := -1
|
||||
if result.Response().Response.Response != nil {
|
||||
sc = result.page.Response().Response.Response.StatusCode
|
||||
}
|
||||
tracing.EndSpan(ctx, sc, err)
|
||||
}()
|
||||
}
|
||||
result.page, err = client.List(ctx)
|
||||
return
|
||||
}
|
||||
|
||||
// ListAdminCredentials the operation returns the admin kubeconfig.
|
||||
// Parameters:
|
||||
// resourceGroupName - the name of the resource group. The name is case insensitive.
|
||||
// resourceName - the name of the OpenShift cluster resource.
|
||||
func (client OpenShiftClustersClient) ListAdminCredentials(ctx context.Context, resourceGroupName string, resourceName string) (result OpenShiftClusterAdminKubeconfig, err error) {
|
||||
if tracing.IsEnabled() {
|
||||
ctx = tracing.StartSpan(ctx, fqdn+"/OpenShiftClustersClient.ListAdminCredentials")
|
||||
defer func() {
|
||||
sc := -1
|
||||
if result.Response.Response != nil {
|
||||
sc = result.Response.Response.StatusCode
|
||||
}
|
||||
tracing.EndSpan(ctx, sc, err)
|
||||
}()
|
||||
}
|
||||
if err := validation.Validate([]validation.Validation{
|
||||
{TargetValue: client.SubscriptionID,
|
||||
Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}},
|
||||
{TargetValue: resourceGroupName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
|
||||
{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil {
|
||||
return result, validation.NewError("redhatopenshift.OpenShiftClustersClient", "ListAdminCredentials", err.Error())
|
||||
}
|
||||
|
||||
req, err := client.ListAdminCredentialsPreparer(ctx, resourceGroupName, resourceName)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.OpenShiftClustersClient", "ListAdminCredentials", nil, "Failure preparing request")
|
||||
return
|
||||
}
|
||||
|
||||
resp, err := client.ListAdminCredentialsSender(req)
|
||||
if err != nil {
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.OpenShiftClustersClient", "ListAdminCredentials", resp, "Failure sending request")
|
||||
return
|
||||
}
|
||||
|
||||
result, err = client.ListAdminCredentialsResponder(resp)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.OpenShiftClustersClient", "ListAdminCredentials", resp, "Failure responding to request")
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// ListAdminCredentialsPreparer prepares the ListAdminCredentials request.
|
||||
func (client OpenShiftClustersClient) ListAdminCredentialsPreparer(ctx context.Context, resourceGroupName string, resourceName string) (*http.Request, error) {
|
||||
pathParameters := map[string]interface{}{
|
||||
"resourceGroupName": autorest.Encode("path", resourceGroupName),
|
||||
"resourceName": autorest.Encode("path", resourceName),
|
||||
"subscriptionId": autorest.Encode("path", client.SubscriptionID),
|
||||
}
|
||||
|
||||
const APIVersion = "2023-07-01-preview"
|
||||
queryParameters := map[string]interface{}{
|
||||
"api-version": APIVersion,
|
||||
}
|
||||
|
||||
preparer := autorest.CreatePreparer(
|
||||
autorest.AsPost(),
|
||||
autorest.WithBaseURL(client.BaseURI),
|
||||
autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openShiftClusters/{resourceName}/listAdminCredentials", pathParameters),
|
||||
autorest.WithQueryParameters(queryParameters))
|
||||
return preparer.Prepare((&http.Request{}).WithContext(ctx))
|
||||
}
|
||||
|
||||
// ListAdminCredentialsSender sends the ListAdminCredentials request. The method will close the
|
||||
// http.Response Body if it receives an error.
|
||||
func (client OpenShiftClustersClient) ListAdminCredentialsSender(req *http.Request) (*http.Response, error) {
|
||||
return client.Send(req, azure.DoRetryWithRegistration(client.Client))
|
||||
}
|
||||
|
||||
// ListAdminCredentialsResponder handles the response to the ListAdminCredentials request. The method always
|
||||
// closes the http.Response Body.
|
||||
func (client OpenShiftClustersClient) ListAdminCredentialsResponder(resp *http.Response) (result OpenShiftClusterAdminKubeconfig, err error) {
|
||||
err = autorest.Respond(
|
||||
resp,
|
||||
azure.WithErrorUnlessStatusCode(http.StatusOK),
|
||||
autorest.ByUnmarshallingJSON(&result),
|
||||
autorest.ByClosing())
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
return
|
||||
}
|
||||
|
||||
// ListByResourceGroup the operation returns properties of each OpenShift cluster.
|
||||
// Parameters:
|
||||
// resourceGroupName - the name of the resource group. The name is case insensitive.
|
||||
func (client OpenShiftClustersClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result OpenShiftClusterListPage, err error) {
|
||||
if tracing.IsEnabled() {
|
||||
ctx = tracing.StartSpan(ctx, fqdn+"/OpenShiftClustersClient.ListByResourceGroup")
|
||||
defer func() {
|
||||
sc := -1
|
||||
if result.oscl.Response.Response != nil {
|
||||
sc = result.oscl.Response.Response.StatusCode
|
||||
}
|
||||
tracing.EndSpan(ctx, sc, err)
|
||||
}()
|
||||
}
|
||||
if err := validation.Validate([]validation.Validation{
|
||||
{TargetValue: client.SubscriptionID,
|
||||
Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}},
|
||||
{TargetValue: resourceGroupName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
|
||||
{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil {
|
||||
return result, validation.NewError("redhatopenshift.OpenShiftClustersClient", "ListByResourceGroup", err.Error())
|
||||
}
|
||||
|
||||
result.fn = client.listByResourceGroupNextResults
|
||||
req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.OpenShiftClustersClient", "ListByResourceGroup", nil, "Failure preparing request")
|
||||
return
|
||||
}
|
||||
|
||||
resp, err := client.ListByResourceGroupSender(req)
|
||||
if err != nil {
|
||||
result.oscl.Response = autorest.Response{Response: resp}
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.OpenShiftClustersClient", "ListByResourceGroup", resp, "Failure sending request")
|
||||
return
|
||||
}
|
||||
|
||||
result.oscl, err = client.ListByResourceGroupResponder(resp)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.OpenShiftClustersClient", "ListByResourceGroup", resp, "Failure responding to request")
|
||||
return
|
||||
}
|
||||
if result.oscl.hasNextLink() && result.oscl.IsEmpty() {
|
||||
err = result.NextWithContext(ctx)
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// ListByResourceGroupPreparer prepares the ListByResourceGroup request.
|
||||
func (client OpenShiftClustersClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) {
|
||||
pathParameters := map[string]interface{}{
|
||||
"resourceGroupName": autorest.Encode("path", resourceGroupName),
|
||||
"subscriptionId": autorest.Encode("path", client.SubscriptionID),
|
||||
}
|
||||
|
||||
const APIVersion = "2023-07-01-preview"
|
||||
queryParameters := map[string]interface{}{
|
||||
"api-version": APIVersion,
|
||||
}
|
||||
|
||||
preparer := autorest.CreatePreparer(
|
||||
autorest.AsGet(),
|
||||
autorest.WithBaseURL(client.BaseURI),
|
||||
autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openShiftClusters", pathParameters),
|
||||
autorest.WithQueryParameters(queryParameters))
|
||||
return preparer.Prepare((&http.Request{}).WithContext(ctx))
|
||||
}
|
||||
|
||||
// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the
|
||||
// http.Response Body if it receives an error.
|
||||
func (client OpenShiftClustersClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) {
|
||||
return client.Send(req, azure.DoRetryWithRegistration(client.Client))
|
||||
}
|
||||
|
||||
// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always
|
||||
// closes the http.Response Body.
|
||||
func (client OpenShiftClustersClient) ListByResourceGroupResponder(resp *http.Response) (result OpenShiftClusterList, err error) {
|
||||
err = autorest.Respond(
|
||||
resp,
|
||||
azure.WithErrorUnlessStatusCode(http.StatusOK),
|
||||
autorest.ByUnmarshallingJSON(&result),
|
||||
autorest.ByClosing())
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
return
|
||||
}
|
||||
|
||||
// listByResourceGroupNextResults retrieves the next set of results, if any.
|
||||
func (client OpenShiftClustersClient) listByResourceGroupNextResults(ctx context.Context, lastResults OpenShiftClusterList) (result OpenShiftClusterList, err error) {
|
||||
req, err := lastResults.openShiftClusterListPreparer(ctx)
|
||||
if err != nil {
|
||||
return result, autorest.NewErrorWithError(err, "redhatopenshift.OpenShiftClustersClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request")
|
||||
}
|
||||
if req == nil {
|
||||
return
|
||||
}
|
||||
resp, err := client.ListByResourceGroupSender(req)
|
||||
if err != nil {
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
return result, autorest.NewErrorWithError(err, "redhatopenshift.OpenShiftClustersClient", "listByResourceGroupNextResults", resp, "Failure sending next results request")
|
||||
}
|
||||
result, err = client.ListByResourceGroupResponder(resp)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.OpenShiftClustersClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request")
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required.
|
||||
func (client OpenShiftClustersClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result OpenShiftClusterListIterator, err error) {
|
||||
if tracing.IsEnabled() {
|
||||
ctx = tracing.StartSpan(ctx, fqdn+"/OpenShiftClustersClient.ListByResourceGroup")
|
||||
defer func() {
|
||||
sc := -1
|
||||
if result.Response().Response.Response != nil {
|
||||
sc = result.page.Response().Response.Response.StatusCode
|
||||
}
|
||||
tracing.EndSpan(ctx, sc, err)
|
||||
}()
|
||||
}
|
||||
result.page, err = client.ListByResourceGroup(ctx, resourceGroupName)
|
||||
return
|
||||
}
|
||||
|
||||
// ListCredentials the operation returns the credentials.
|
||||
// Parameters:
|
||||
// resourceGroupName - the name of the resource group. The name is case insensitive.
|
||||
// resourceName - the name of the OpenShift cluster resource.
|
||||
func (client OpenShiftClustersClient) ListCredentials(ctx context.Context, resourceGroupName string, resourceName string) (result OpenShiftClusterCredentials, err error) {
|
||||
if tracing.IsEnabled() {
|
||||
ctx = tracing.StartSpan(ctx, fqdn+"/OpenShiftClustersClient.ListCredentials")
|
||||
defer func() {
|
||||
sc := -1
|
||||
if result.Response.Response != nil {
|
||||
sc = result.Response.Response.StatusCode
|
||||
}
|
||||
tracing.EndSpan(ctx, sc, err)
|
||||
}()
|
||||
}
|
||||
if err := validation.Validate([]validation.Validation{
|
||||
{TargetValue: client.SubscriptionID,
|
||||
Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}},
|
||||
{TargetValue: resourceGroupName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
|
||||
{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil {
|
||||
return result, validation.NewError("redhatopenshift.OpenShiftClustersClient", "ListCredentials", err.Error())
|
||||
}
|
||||
|
||||
req, err := client.ListCredentialsPreparer(ctx, resourceGroupName, resourceName)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.OpenShiftClustersClient", "ListCredentials", nil, "Failure preparing request")
|
||||
return
|
||||
}
|
||||
|
||||
resp, err := client.ListCredentialsSender(req)
|
||||
if err != nil {
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.OpenShiftClustersClient", "ListCredentials", resp, "Failure sending request")
|
||||
return
|
||||
}
|
||||
|
||||
result, err = client.ListCredentialsResponder(resp)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.OpenShiftClustersClient", "ListCredentials", resp, "Failure responding to request")
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// ListCredentialsPreparer prepares the ListCredentials request.
|
||||
func (client OpenShiftClustersClient) ListCredentialsPreparer(ctx context.Context, resourceGroupName string, resourceName string) (*http.Request, error) {
|
||||
pathParameters := map[string]interface{}{
|
||||
"resourceGroupName": autorest.Encode("path", resourceGroupName),
|
||||
"resourceName": autorest.Encode("path", resourceName),
|
||||
"subscriptionId": autorest.Encode("path", client.SubscriptionID),
|
||||
}
|
||||
|
||||
const APIVersion = "2023-07-01-preview"
|
||||
queryParameters := map[string]interface{}{
|
||||
"api-version": APIVersion,
|
||||
}
|
||||
|
||||
preparer := autorest.CreatePreparer(
|
||||
autorest.AsPost(),
|
||||
autorest.WithBaseURL(client.BaseURI),
|
||||
autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openShiftClusters/{resourceName}/listCredentials", pathParameters),
|
||||
autorest.WithQueryParameters(queryParameters))
|
||||
return preparer.Prepare((&http.Request{}).WithContext(ctx))
|
||||
}
|
||||
|
||||
// ListCredentialsSender sends the ListCredentials request. The method will close the
|
||||
// http.Response Body if it receives an error.
|
||||
func (client OpenShiftClustersClient) ListCredentialsSender(req *http.Request) (*http.Response, error) {
|
||||
return client.Send(req, azure.DoRetryWithRegistration(client.Client))
|
||||
}
|
||||
|
||||
// ListCredentialsResponder handles the response to the ListCredentials request. The method always
|
||||
// closes the http.Response Body.
|
||||
func (client OpenShiftClustersClient) ListCredentialsResponder(resp *http.Response) (result OpenShiftClusterCredentials, err error) {
|
||||
err = autorest.Respond(
|
||||
resp,
|
||||
azure.WithErrorUnlessStatusCode(http.StatusOK),
|
||||
autorest.ByUnmarshallingJSON(&result),
|
||||
autorest.ByClosing())
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
return
|
||||
}
|
||||
|
||||
// Update the operation returns properties of a OpenShift cluster.
|
||||
// Parameters:
|
||||
// resourceGroupName - the name of the resource group. The name is case insensitive.
|
||||
// resourceName - the name of the OpenShift cluster resource.
|
||||
// parameters - the OpenShift cluster resource.
|
||||
func (client OpenShiftClustersClient) Update(ctx context.Context, resourceGroupName string, resourceName string, parameters OpenShiftClusterUpdate) (result OpenShiftClustersUpdateFuture, err error) {
|
||||
if tracing.IsEnabled() {
|
||||
ctx = tracing.StartSpan(ctx, fqdn+"/OpenShiftClustersClient.Update")
|
||||
defer func() {
|
||||
sc := -1
|
||||
if result.FutureAPI != nil && result.FutureAPI.Response() != nil {
|
||||
sc = result.FutureAPI.Response().StatusCode
|
||||
}
|
||||
tracing.EndSpan(ctx, sc, err)
|
||||
}()
|
||||
}
|
||||
if err := validation.Validate([]validation.Validation{
|
||||
{TargetValue: client.SubscriptionID,
|
||||
Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}},
|
||||
{TargetValue: resourceGroupName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
|
||||
{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil {
|
||||
return result, validation.NewError("redhatopenshift.OpenShiftClustersClient", "Update", err.Error())
|
||||
}
|
||||
|
||||
req, err := client.UpdatePreparer(ctx, resourceGroupName, resourceName, parameters)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.OpenShiftClustersClient", "Update", nil, "Failure preparing request")
|
||||
return
|
||||
}
|
||||
|
||||
result, err = client.UpdateSender(req)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.OpenShiftClustersClient", "Update", result.Response(), "Failure sending request")
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// UpdatePreparer prepares the Update request.
|
||||
func (client OpenShiftClustersClient) UpdatePreparer(ctx context.Context, resourceGroupName string, resourceName string, parameters OpenShiftClusterUpdate) (*http.Request, error) {
|
||||
pathParameters := map[string]interface{}{
|
||||
"resourceGroupName": autorest.Encode("path", resourceGroupName),
|
||||
"resourceName": autorest.Encode("path", resourceName),
|
||||
"subscriptionId": autorest.Encode("path", client.SubscriptionID),
|
||||
}
|
||||
|
||||
const APIVersion = "2023-07-01-preview"
|
||||
queryParameters := map[string]interface{}{
|
||||
"api-version": APIVersion,
|
||||
}
|
||||
|
||||
parameters.SystemData = nil
|
||||
preparer := autorest.CreatePreparer(
|
||||
autorest.AsContentType("application/json; charset=utf-8"),
|
||||
autorest.AsPatch(),
|
||||
autorest.WithBaseURL(client.BaseURI),
|
||||
autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openShiftClusters/{resourceName}", pathParameters),
|
||||
autorest.WithJSON(parameters),
|
||||
autorest.WithQueryParameters(queryParameters))
|
||||
return preparer.Prepare((&http.Request{}).WithContext(ctx))
|
||||
}
|
||||
|
||||
// UpdateSender sends the Update request. The method will close the
|
||||
// http.Response Body if it receives an error.
|
||||
func (client OpenShiftClustersClient) UpdateSender(req *http.Request) (future OpenShiftClustersUpdateFuture, err error) {
|
||||
var resp *http.Response
|
||||
future.FutureAPI = &azure.Future{}
|
||||
resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client))
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
var azf azure.Future
|
||||
azf, err = azure.NewFutureFromResponse(resp)
|
||||
future.FutureAPI = &azf
|
||||
future.Result = future.result
|
||||
return
|
||||
}
|
||||
|
||||
// UpdateResponder handles the response to the Update request. The method always
|
||||
// closes the http.Response Body.
|
||||
func (client OpenShiftClustersClient) UpdateResponder(resp *http.Response) (result OpenShiftCluster, err error) {
|
||||
err = autorest.Respond(
|
||||
resp,
|
||||
azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated),
|
||||
autorest.ByUnmarshallingJSON(&result),
|
||||
autorest.ByClosing())
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
return
|
||||
}
|
|
@ -0,0 +1,169 @@
|
|||
package redhatopenshift
|
||||
|
||||
// Copyright (c) Microsoft and contributors. All rights reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
//
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
// Code generated by Microsoft (R) AutoRest Code Generator.
|
||||
// Changes may cause incorrect behavior and will be lost if the code is regenerated.
|
||||
|
||||
import (
|
||||
"context"
|
||||
"net/http"
|
||||
|
||||
"github.com/Azure/go-autorest/autorest"
|
||||
"github.com/Azure/go-autorest/autorest/azure"
|
||||
"github.com/Azure/go-autorest/autorest/validation"
|
||||
"github.com/Azure/go-autorest/tracing"
|
||||
)
|
||||
|
||||
// OpenShiftVersionsClient is the rest API for Azure Red Hat OpenShift 4
|
||||
type OpenShiftVersionsClient struct {
|
||||
BaseClient
|
||||
}
|
||||
|
||||
// NewOpenShiftVersionsClient creates an instance of the OpenShiftVersionsClient client.
|
||||
func NewOpenShiftVersionsClient(subscriptionID string) OpenShiftVersionsClient {
|
||||
return NewOpenShiftVersionsClientWithBaseURI(DefaultBaseURI, subscriptionID)
|
||||
}
|
||||
|
||||
// NewOpenShiftVersionsClientWithBaseURI creates an instance of the OpenShiftVersionsClient client using a custom
|
||||
// endpoint. Use this when interacting with an Azure cloud that uses a non-standard base URI (sovereign clouds, Azure
|
||||
// stack).
|
||||
func NewOpenShiftVersionsClientWithBaseURI(baseURI string, subscriptionID string) OpenShiftVersionsClient {
|
||||
return OpenShiftVersionsClient{NewWithBaseURI(baseURI, subscriptionID)}
|
||||
}
|
||||
|
||||
// List the operation returns the installable OpenShift versions as strings.
|
||||
// Parameters:
|
||||
// location - the name of Azure region.
|
||||
func (client OpenShiftVersionsClient) List(ctx context.Context, location string) (result OpenShiftVersionListPage, err error) {
|
||||
if tracing.IsEnabled() {
|
||||
ctx = tracing.StartSpan(ctx, fqdn+"/OpenShiftVersionsClient.List")
|
||||
defer func() {
|
||||
sc := -1
|
||||
if result.osvl.Response.Response != nil {
|
||||
sc = result.osvl.Response.Response.StatusCode
|
||||
}
|
||||
tracing.EndSpan(ctx, sc, err)
|
||||
}()
|
||||
}
|
||||
if err := validation.Validate([]validation.Validation{
|
||||
{TargetValue: client.SubscriptionID,
|
||||
Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}},
|
||||
{TargetValue: location,
|
||||
Constraints: []validation.Constraint{{Target: "location", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil {
|
||||
return result, validation.NewError("redhatopenshift.OpenShiftVersionsClient", "List", err.Error())
|
||||
}
|
||||
|
||||
result.fn = client.listNextResults
|
||||
req, err := client.ListPreparer(ctx, location)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.OpenShiftVersionsClient", "List", nil, "Failure preparing request")
|
||||
return
|
||||
}
|
||||
|
||||
resp, err := client.ListSender(req)
|
||||
if err != nil {
|
||||
result.osvl.Response = autorest.Response{Response: resp}
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.OpenShiftVersionsClient", "List", resp, "Failure sending request")
|
||||
return
|
||||
}
|
||||
|
||||
result.osvl, err = client.ListResponder(resp)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.OpenShiftVersionsClient", "List", resp, "Failure responding to request")
|
||||
return
|
||||
}
|
||||
if result.osvl.hasNextLink() && result.osvl.IsEmpty() {
|
||||
err = result.NextWithContext(ctx)
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// ListPreparer prepares the List request.
|
||||
func (client OpenShiftVersionsClient) ListPreparer(ctx context.Context, location string) (*http.Request, error) {
|
||||
pathParameters := map[string]interface{}{
|
||||
"location": autorest.Encode("path", location),
|
||||
"subscriptionId": autorest.Encode("path", client.SubscriptionID),
|
||||
}
|
||||
|
||||
const APIVersion = "2023-07-01-preview"
|
||||
queryParameters := map[string]interface{}{
|
||||
"api-version": APIVersion,
|
||||
}
|
||||
|
||||
preparer := autorest.CreatePreparer(
|
||||
autorest.AsGet(),
|
||||
autorest.WithBaseURL(client.BaseURI),
|
||||
autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.RedHatOpenShift/locations/{location}/openshiftversions", pathParameters),
|
||||
autorest.WithQueryParameters(queryParameters))
|
||||
return preparer.Prepare((&http.Request{}).WithContext(ctx))
|
||||
}
|
||||
|
||||
// ListSender sends the List request. The method will close the
|
||||
// http.Response Body if it receives an error.
|
||||
func (client OpenShiftVersionsClient) ListSender(req *http.Request) (*http.Response, error) {
|
||||
return client.Send(req, azure.DoRetryWithRegistration(client.Client))
|
||||
}
|
||||
|
||||
// ListResponder handles the response to the List request. The method always
|
||||
// closes the http.Response Body.
|
||||
func (client OpenShiftVersionsClient) ListResponder(resp *http.Response) (result OpenShiftVersionList, err error) {
|
||||
err = autorest.Respond(
|
||||
resp,
|
||||
azure.WithErrorUnlessStatusCode(http.StatusOK),
|
||||
autorest.ByUnmarshallingJSON(&result),
|
||||
autorest.ByClosing())
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
return
|
||||
}
|
||||
|
||||
// listNextResults retrieves the next set of results, if any.
|
||||
func (client OpenShiftVersionsClient) listNextResults(ctx context.Context, lastResults OpenShiftVersionList) (result OpenShiftVersionList, err error) {
|
||||
req, err := lastResults.openShiftVersionListPreparer(ctx)
|
||||
if err != nil {
|
||||
return result, autorest.NewErrorWithError(err, "redhatopenshift.OpenShiftVersionsClient", "listNextResults", nil, "Failure preparing next results request")
|
||||
}
|
||||
if req == nil {
|
||||
return
|
||||
}
|
||||
resp, err := client.ListSender(req)
|
||||
if err != nil {
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
return result, autorest.NewErrorWithError(err, "redhatopenshift.OpenShiftVersionsClient", "listNextResults", resp, "Failure sending next results request")
|
||||
}
|
||||
result, err = client.ListResponder(resp)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.OpenShiftVersionsClient", "listNextResults", resp, "Failure responding to next results request")
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// ListComplete enumerates all values, automatically crossing page boundaries as required.
|
||||
func (client OpenShiftVersionsClient) ListComplete(ctx context.Context, location string) (result OpenShiftVersionListIterator, err error) {
|
||||
if tracing.IsEnabled() {
|
||||
ctx = tracing.StartSpan(ctx, fqdn+"/OpenShiftVersionsClient.List")
|
||||
defer func() {
|
||||
sc := -1
|
||||
if result.Response().Response.Response != nil {
|
||||
sc = result.page.Response().Response.Response.StatusCode
|
||||
}
|
||||
tracing.EndSpan(ctx, sc, err)
|
||||
}()
|
||||
}
|
||||
result.page, err = client.List(ctx, location)
|
||||
return
|
||||
}
|
|
@ -0,0 +1,152 @@
|
|||
package redhatopenshift
|
||||
|
||||
// Copyright (c) Microsoft and contributors. All rights reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
//
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
// Code generated by Microsoft (R) AutoRest Code Generator.
|
||||
// Changes may cause incorrect behavior and will be lost if the code is regenerated.
|
||||
|
||||
import (
|
||||
"context"
|
||||
"net/http"
|
||||
|
||||
"github.com/Azure/go-autorest/autorest"
|
||||
"github.com/Azure/go-autorest/autorest/azure"
|
||||
"github.com/Azure/go-autorest/tracing"
|
||||
)
|
||||
|
||||
// OperationsClient is the rest API for Azure Red Hat OpenShift 4
|
||||
type OperationsClient struct {
|
||||
BaseClient
|
||||
}
|
||||
|
||||
// NewOperationsClient creates an instance of the OperationsClient client.
|
||||
func NewOperationsClient(subscriptionID string) OperationsClient {
|
||||
return NewOperationsClientWithBaseURI(DefaultBaseURI, subscriptionID)
|
||||
}
|
||||
|
||||
// NewOperationsClientWithBaseURI creates an instance of the OperationsClient client using a custom endpoint. Use this
|
||||
// when interacting with an Azure cloud that uses a non-standard base URI (sovereign clouds, Azure stack).
|
||||
func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient {
|
||||
return OperationsClient{NewWithBaseURI(baseURI, subscriptionID)}
|
||||
}
|
||||
|
||||
// List the operation returns the RP operations.
|
||||
func (client OperationsClient) List(ctx context.Context) (result OperationListPage, err error) {
|
||||
if tracing.IsEnabled() {
|
||||
ctx = tracing.StartSpan(ctx, fqdn+"/OperationsClient.List")
|
||||
defer func() {
|
||||
sc := -1
|
||||
if result.ol.Response.Response != nil {
|
||||
sc = result.ol.Response.Response.StatusCode
|
||||
}
|
||||
tracing.EndSpan(ctx, sc, err)
|
||||
}()
|
||||
}
|
||||
result.fn = client.listNextResults
|
||||
req, err := client.ListPreparer(ctx)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.OperationsClient", "List", nil, "Failure preparing request")
|
||||
return
|
||||
}
|
||||
|
||||
resp, err := client.ListSender(req)
|
||||
if err != nil {
|
||||
result.ol.Response = autorest.Response{Response: resp}
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.OperationsClient", "List", resp, "Failure sending request")
|
||||
return
|
||||
}
|
||||
|
||||
result.ol, err = client.ListResponder(resp)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.OperationsClient", "List", resp, "Failure responding to request")
|
||||
return
|
||||
}
|
||||
if result.ol.hasNextLink() && result.ol.IsEmpty() {
|
||||
err = result.NextWithContext(ctx)
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// ListPreparer prepares the List request.
|
||||
func (client OperationsClient) ListPreparer(ctx context.Context) (*http.Request, error) {
|
||||
const APIVersion = "2023-07-01-preview"
|
||||
queryParameters := map[string]interface{}{
|
||||
"api-version": APIVersion,
|
||||
}
|
||||
|
||||
preparer := autorest.CreatePreparer(
|
||||
autorest.AsGet(),
|
||||
autorest.WithBaseURL(client.BaseURI),
|
||||
autorest.WithPath("/providers/Microsoft.RedHatOpenShift/operations"),
|
||||
autorest.WithQueryParameters(queryParameters))
|
||||
return preparer.Prepare((&http.Request{}).WithContext(ctx))
|
||||
}
|
||||
|
||||
// ListSender sends the List request. The method will close the
|
||||
// http.Response Body if it receives an error.
|
||||
func (client OperationsClient) ListSender(req *http.Request) (*http.Response, error) {
|
||||
return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
|
||||
}
|
||||
|
||||
// ListResponder handles the response to the List request. The method always
|
||||
// closes the http.Response Body.
|
||||
func (client OperationsClient) ListResponder(resp *http.Response) (result OperationList, err error) {
|
||||
err = autorest.Respond(
|
||||
resp,
|
||||
azure.WithErrorUnlessStatusCode(http.StatusOK),
|
||||
autorest.ByUnmarshallingJSON(&result),
|
||||
autorest.ByClosing())
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
return
|
||||
}
|
||||
|
||||
// listNextResults retrieves the next set of results, if any.
|
||||
func (client OperationsClient) listNextResults(ctx context.Context, lastResults OperationList) (result OperationList, err error) {
|
||||
req, err := lastResults.operationListPreparer(ctx)
|
||||
if err != nil {
|
||||
return result, autorest.NewErrorWithError(err, "redhatopenshift.OperationsClient", "listNextResults", nil, "Failure preparing next results request")
|
||||
}
|
||||
if req == nil {
|
||||
return
|
||||
}
|
||||
resp, err := client.ListSender(req)
|
||||
if err != nil {
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
return result, autorest.NewErrorWithError(err, "redhatopenshift.OperationsClient", "listNextResults", resp, "Failure sending next results request")
|
||||
}
|
||||
result, err = client.ListResponder(resp)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.OperationsClient", "listNextResults", resp, "Failure responding to next results request")
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// ListComplete enumerates all values, automatically crossing page boundaries as required.
|
||||
func (client OperationsClient) ListComplete(ctx context.Context) (result OperationListIterator, err error) {
|
||||
if tracing.IsEnabled() {
|
||||
ctx = tracing.StartSpan(ctx, fqdn+"/OperationsClient.List")
|
||||
defer func() {
|
||||
sc := -1
|
||||
if result.Response().Response.Response != nil {
|
||||
sc = result.page.Response().Response.Response.StatusCode
|
||||
}
|
||||
tracing.EndSpan(ctx, sc, err)
|
||||
}()
|
||||
}
|
||||
result.page, err = client.List(ctx)
|
||||
return
|
||||
}
|
|
@ -0,0 +1,106 @@
|
|||
package redhatopenshiftapi
|
||||
|
||||
// Copyright (c) Microsoft and contributors. All rights reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
//
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
// Code generated by Microsoft (R) AutoRest Code Generator.
|
||||
// Changes may cause incorrect behavior and will be lost if the code is regenerated.
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/Azure/go-autorest/autorest"
|
||||
|
||||
"github.com/Azure/ARO-RP/pkg/client/services/redhatopenshift/mgmt/2023-07-01-preview/redhatopenshift"
|
||||
)
|
||||
|
||||
// OperationsClientAPI contains the set of methods on the OperationsClient type.
|
||||
type OperationsClientAPI interface {
|
||||
List(ctx context.Context) (result redhatopenshift.OperationListPage, err error)
|
||||
ListComplete(ctx context.Context) (result redhatopenshift.OperationListIterator, err error)
|
||||
}
|
||||
|
||||
var _ OperationsClientAPI = (*redhatopenshift.OperationsClient)(nil)
|
||||
|
||||
// OpenShiftVersionsClientAPI contains the set of methods on the OpenShiftVersionsClient type.
|
||||
type OpenShiftVersionsClientAPI interface {
|
||||
List(ctx context.Context, location string) (result redhatopenshift.OpenShiftVersionListPage, err error)
|
||||
ListComplete(ctx context.Context, location string) (result redhatopenshift.OpenShiftVersionListIterator, err error)
|
||||
}
|
||||
|
||||
var _ OpenShiftVersionsClientAPI = (*redhatopenshift.OpenShiftVersionsClient)(nil)
|
||||
|
||||
// OpenShiftClustersClientAPI contains the set of methods on the OpenShiftClustersClient type.
|
||||
type OpenShiftClustersClientAPI interface {
|
||||
CreateOrUpdate(ctx context.Context, resourceGroupName string, resourceName string, parameters redhatopenshift.OpenShiftCluster) (result redhatopenshift.OpenShiftClustersCreateOrUpdateFuture, err error)
|
||||
Delete(ctx context.Context, resourceGroupName string, resourceName string) (result redhatopenshift.OpenShiftClustersDeleteFuture, err error)
|
||||
Get(ctx context.Context, resourceGroupName string, resourceName string) (result redhatopenshift.OpenShiftCluster, err error)
|
||||
List(ctx context.Context) (result redhatopenshift.OpenShiftClusterListPage, err error)
|
||||
ListComplete(ctx context.Context) (result redhatopenshift.OpenShiftClusterListIterator, err error)
|
||||
ListAdminCredentials(ctx context.Context, resourceGroupName string, resourceName string) (result redhatopenshift.OpenShiftClusterAdminKubeconfig, err error)
|
||||
ListByResourceGroup(ctx context.Context, resourceGroupName string) (result redhatopenshift.OpenShiftClusterListPage, err error)
|
||||
ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result redhatopenshift.OpenShiftClusterListIterator, err error)
|
||||
ListCredentials(ctx context.Context, resourceGroupName string, resourceName string) (result redhatopenshift.OpenShiftClusterCredentials, err error)
|
||||
Update(ctx context.Context, resourceGroupName string, resourceName string, parameters redhatopenshift.OpenShiftClusterUpdate) (result redhatopenshift.OpenShiftClustersUpdateFuture, err error)
|
||||
}
|
||||
|
||||
var _ OpenShiftClustersClientAPI = (*redhatopenshift.OpenShiftClustersClient)(nil)
|
||||
|
||||
// MachinePoolsClientAPI contains the set of methods on the MachinePoolsClient type.
|
||||
type MachinePoolsClientAPI interface {
|
||||
CreateOrUpdate(ctx context.Context, resourceGroupName string, resourceName string, childResourceName string, parameters redhatopenshift.MachinePool) (result redhatopenshift.MachinePool, err error)
|
||||
Delete(ctx context.Context, resourceGroupName string, resourceName string, childResourceName string) (result autorest.Response, err error)
|
||||
Get(ctx context.Context, resourceGroupName string, resourceName string, childResourceName string) (result redhatopenshift.MachinePool, err error)
|
||||
List(ctx context.Context, resourceGroupName string, resourceName string) (result redhatopenshift.MachinePoolListPage, err error)
|
||||
ListComplete(ctx context.Context, resourceGroupName string, resourceName string) (result redhatopenshift.MachinePoolListIterator, err error)
|
||||
Update(ctx context.Context, resourceGroupName string, resourceName string, childResourceName string, parameters redhatopenshift.MachinePoolUpdate) (result redhatopenshift.MachinePool, err error)
|
||||
}
|
||||
|
||||
var _ MachinePoolsClientAPI = (*redhatopenshift.MachinePoolsClient)(nil)
|
||||
|
||||
// SecretsClientAPI contains the set of methods on the SecretsClient type.
|
||||
type SecretsClientAPI interface {
|
||||
CreateOrUpdate(ctx context.Context, resourceGroupName string, resourceName string, childResourceName string, parameters redhatopenshift.Secret) (result redhatopenshift.Secret, err error)
|
||||
Delete(ctx context.Context, resourceGroupName string, resourceName string, childResourceName string) (result autorest.Response, err error)
|
||||
Get(ctx context.Context, resourceGroupName string, resourceName string, childResourceName string) (result redhatopenshift.Secret, err error)
|
||||
List(ctx context.Context, resourceGroupName string, resourceName string) (result redhatopenshift.SecretListPage, err error)
|
||||
ListComplete(ctx context.Context, resourceGroupName string, resourceName string) (result redhatopenshift.SecretListIterator, err error)
|
||||
Update(ctx context.Context, resourceGroupName string, resourceName string, childResourceName string, parameters redhatopenshift.SecretUpdate) (result redhatopenshift.Secret, err error)
|
||||
}
|
||||
|
||||
var _ SecretsClientAPI = (*redhatopenshift.SecretsClient)(nil)
|
||||
|
||||
// SyncIdentityProvidersClientAPI contains the set of methods on the SyncIdentityProvidersClient type.
|
||||
type SyncIdentityProvidersClientAPI interface {
|
||||
CreateOrUpdate(ctx context.Context, resourceGroupName string, resourceName string, childResourceName string, parameters redhatopenshift.SyncIdentityProvider) (result redhatopenshift.SyncIdentityProvider, err error)
|
||||
Delete(ctx context.Context, resourceGroupName string, resourceName string, childResourceName string) (result autorest.Response, err error)
|
||||
Get(ctx context.Context, resourceGroupName string, resourceName string, childResourceName string) (result redhatopenshift.SyncIdentityProvider, err error)
|
||||
List(ctx context.Context, resourceGroupName string, resourceName string) (result redhatopenshift.SyncIdentityProviderListPage, err error)
|
||||
ListComplete(ctx context.Context, resourceGroupName string, resourceName string) (result redhatopenshift.SyncIdentityProviderListIterator, err error)
|
||||
Update(ctx context.Context, resourceGroupName string, resourceName string, childResourceName string, parameters redhatopenshift.SyncIdentityProviderUpdate) (result redhatopenshift.SyncIdentityProvider, err error)
|
||||
}
|
||||
|
||||
var _ SyncIdentityProvidersClientAPI = (*redhatopenshift.SyncIdentityProvidersClient)(nil)
|
||||
|
||||
// SyncSetsClientAPI contains the set of methods on the SyncSetsClient type.
|
||||
type SyncSetsClientAPI interface {
|
||||
CreateOrUpdate(ctx context.Context, resourceGroupName string, resourceName string, childResourceName string, parameters redhatopenshift.SyncSet) (result redhatopenshift.SyncSet, err error)
|
||||
Delete(ctx context.Context, resourceGroupName string, resourceName string, childResourceName string) (result autorest.Response, err error)
|
||||
Get(ctx context.Context, resourceGroupName string, resourceName string, childResourceName string) (result redhatopenshift.SyncSet, err error)
|
||||
List(ctx context.Context, resourceGroupName string, resourceName string) (result redhatopenshift.SyncSetListPage, err error)
|
||||
ListComplete(ctx context.Context, resourceGroupName string, resourceName string) (result redhatopenshift.SyncSetListIterator, err error)
|
||||
Update(ctx context.Context, resourceGroupName string, resourceName string, childResourceName string, parameters redhatopenshift.SyncSetUpdate) (result redhatopenshift.SyncSet, err error)
|
||||
}
|
||||
|
||||
var _ SyncSetsClientAPI = (*redhatopenshift.SyncSetsClient)(nil)
|
|
@ -0,0 +1,561 @@
|
|||
package redhatopenshift
|
||||
|
||||
// Copyright (c) Microsoft and contributors. All rights reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
//
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
// Code generated by Microsoft (R) AutoRest Code Generator.
|
||||
// Changes may cause incorrect behavior and will be lost if the code is regenerated.
|
||||
|
||||
import (
|
||||
"context"
|
||||
"net/http"
|
||||
|
||||
"github.com/Azure/go-autorest/autorest"
|
||||
"github.com/Azure/go-autorest/autorest/azure"
|
||||
"github.com/Azure/go-autorest/autorest/validation"
|
||||
"github.com/Azure/go-autorest/tracing"
|
||||
)
|
||||
|
||||
// SecretsClient is the rest API for Azure Red Hat OpenShift 4
|
||||
type SecretsClient struct {
|
||||
BaseClient
|
||||
}
|
||||
|
||||
// NewSecretsClient creates an instance of the SecretsClient client.
|
||||
func NewSecretsClient(subscriptionID string) SecretsClient {
|
||||
return NewSecretsClientWithBaseURI(DefaultBaseURI, subscriptionID)
|
||||
}
|
||||
|
||||
// NewSecretsClientWithBaseURI creates an instance of the SecretsClient client using a custom endpoint. Use this when
|
||||
// interacting with an Azure cloud that uses a non-standard base URI (sovereign clouds, Azure stack).
|
||||
func NewSecretsClientWithBaseURI(baseURI string, subscriptionID string) SecretsClient {
|
||||
return SecretsClient{NewWithBaseURI(baseURI, subscriptionID)}
|
||||
}
|
||||
|
||||
// CreateOrUpdate the operation returns properties of a Secret.
|
||||
// Parameters:
|
||||
// resourceGroupName - the name of the resource group. The name is case insensitive.
|
||||
// resourceName - the name of the OpenShift cluster resource.
|
||||
// childResourceName - the name of the Secret resource.
|
||||
// parameters - the Secret resource.
|
||||
func (client SecretsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, resourceName string, childResourceName string, parameters Secret) (result Secret, err error) {
|
||||
if tracing.IsEnabled() {
|
||||
ctx = tracing.StartSpan(ctx, fqdn+"/SecretsClient.CreateOrUpdate")
|
||||
defer func() {
|
||||
sc := -1
|
||||
if result.Response.Response != nil {
|
||||
sc = result.Response.Response.StatusCode
|
||||
}
|
||||
tracing.EndSpan(ctx, sc, err)
|
||||
}()
|
||||
}
|
||||
if err := validation.Validate([]validation.Validation{
|
||||
{TargetValue: client.SubscriptionID,
|
||||
Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}},
|
||||
{TargetValue: resourceGroupName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
|
||||
{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}},
|
||||
{TargetValue: resourceName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceName", Name: validation.MaxLength, Rule: 63, Chain: nil},
|
||||
{Target: "resourceName", Name: validation.MinLength, Rule: 1, Chain: nil},
|
||||
{Target: "resourceName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$`, Chain: nil}}},
|
||||
{TargetValue: childResourceName,
|
||||
Constraints: []validation.Constraint{{Target: "childResourceName", Name: validation.MaxLength, Rule: 63, Chain: nil},
|
||||
{Target: "childResourceName", Name: validation.MinLength, Rule: 1, Chain: nil},
|
||||
{Target: "childResourceName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$`, Chain: nil}}}}); err != nil {
|
||||
return result, validation.NewError("redhatopenshift.SecretsClient", "CreateOrUpdate", err.Error())
|
||||
}
|
||||
|
||||
req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, resourceName, childResourceName, parameters)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.SecretsClient", "CreateOrUpdate", nil, "Failure preparing request")
|
||||
return
|
||||
}
|
||||
|
||||
resp, err := client.CreateOrUpdateSender(req)
|
||||
if err != nil {
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.SecretsClient", "CreateOrUpdate", resp, "Failure sending request")
|
||||
return
|
||||
}
|
||||
|
||||
result, err = client.CreateOrUpdateResponder(resp)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.SecretsClient", "CreateOrUpdate", resp, "Failure responding to request")
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// CreateOrUpdatePreparer prepares the CreateOrUpdate request.
|
||||
func (client SecretsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, resourceName string, childResourceName string, parameters Secret) (*http.Request, error) {
|
||||
pathParameters := map[string]interface{}{
|
||||
"childResourceName": autorest.Encode("path", childResourceName),
|
||||
"resourceGroupName": autorest.Encode("path", resourceGroupName),
|
||||
"resourceName": autorest.Encode("path", resourceName),
|
||||
"subscriptionId": autorest.Encode("path", client.SubscriptionID),
|
||||
}
|
||||
|
||||
const APIVersion = "2023-07-01-preview"
|
||||
queryParameters := map[string]interface{}{
|
||||
"api-version": APIVersion,
|
||||
}
|
||||
|
||||
preparer := autorest.CreatePreparer(
|
||||
autorest.AsContentType("application/json; charset=utf-8"),
|
||||
autorest.AsPut(),
|
||||
autorest.WithBaseURL(client.BaseURI),
|
||||
autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openshiftclusters/{resourceName}/secret/{childResourceName}", pathParameters),
|
||||
autorest.WithJSON(parameters),
|
||||
autorest.WithQueryParameters(queryParameters))
|
||||
return preparer.Prepare((&http.Request{}).WithContext(ctx))
|
||||
}
|
||||
|
||||
// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the
|
||||
// http.Response Body if it receives an error.
|
||||
func (client SecretsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) {
|
||||
return client.Send(req, azure.DoRetryWithRegistration(client.Client))
|
||||
}
|
||||
|
||||
// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always
|
||||
// closes the http.Response Body.
|
||||
func (client SecretsClient) CreateOrUpdateResponder(resp *http.Response) (result Secret, err error) {
|
||||
err = autorest.Respond(
|
||||
resp,
|
||||
azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated),
|
||||
autorest.ByUnmarshallingJSON(&result),
|
||||
autorest.ByClosing())
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
return
|
||||
}
|
||||
|
||||
// Delete the operation returns nothing.
|
||||
// Parameters:
|
||||
// resourceGroupName - the name of the resource group. The name is case insensitive.
|
||||
// resourceName - the name of the OpenShift cluster resource.
|
||||
// childResourceName - the name of the Secret resource.
|
||||
func (client SecretsClient) Delete(ctx context.Context, resourceGroupName string, resourceName string, childResourceName string) (result autorest.Response, err error) {
|
||||
if tracing.IsEnabled() {
|
||||
ctx = tracing.StartSpan(ctx, fqdn+"/SecretsClient.Delete")
|
||||
defer func() {
|
||||
sc := -1
|
||||
if result.Response != nil {
|
||||
sc = result.Response.StatusCode
|
||||
}
|
||||
tracing.EndSpan(ctx, sc, err)
|
||||
}()
|
||||
}
|
||||
if err := validation.Validate([]validation.Validation{
|
||||
{TargetValue: client.SubscriptionID,
|
||||
Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}},
|
||||
{TargetValue: resourceGroupName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
|
||||
{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}},
|
||||
{TargetValue: resourceName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceName", Name: validation.MaxLength, Rule: 63, Chain: nil},
|
||||
{Target: "resourceName", Name: validation.MinLength, Rule: 1, Chain: nil},
|
||||
{Target: "resourceName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$`, Chain: nil}}},
|
||||
{TargetValue: childResourceName,
|
||||
Constraints: []validation.Constraint{{Target: "childResourceName", Name: validation.MaxLength, Rule: 63, Chain: nil},
|
||||
{Target: "childResourceName", Name: validation.MinLength, Rule: 1, Chain: nil},
|
||||
{Target: "childResourceName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$`, Chain: nil}}}}); err != nil {
|
||||
return result, validation.NewError("redhatopenshift.SecretsClient", "Delete", err.Error())
|
||||
}
|
||||
|
||||
req, err := client.DeletePreparer(ctx, resourceGroupName, resourceName, childResourceName)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.SecretsClient", "Delete", nil, "Failure preparing request")
|
||||
return
|
||||
}
|
||||
|
||||
resp, err := client.DeleteSender(req)
|
||||
if err != nil {
|
||||
result.Response = resp
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.SecretsClient", "Delete", resp, "Failure sending request")
|
||||
return
|
||||
}
|
||||
|
||||
result, err = client.DeleteResponder(resp)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.SecretsClient", "Delete", resp, "Failure responding to request")
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// DeletePreparer prepares the Delete request.
|
||||
func (client SecretsClient) DeletePreparer(ctx context.Context, resourceGroupName string, resourceName string, childResourceName string) (*http.Request, error) {
|
||||
pathParameters := map[string]interface{}{
|
||||
"childResourceName": autorest.Encode("path", childResourceName),
|
||||
"resourceGroupName": autorest.Encode("path", resourceGroupName),
|
||||
"resourceName": autorest.Encode("path", resourceName),
|
||||
"subscriptionId": autorest.Encode("path", client.SubscriptionID),
|
||||
}
|
||||
|
||||
const APIVersion = "2023-07-01-preview"
|
||||
queryParameters := map[string]interface{}{
|
||||
"api-version": APIVersion,
|
||||
}
|
||||
|
||||
preparer := autorest.CreatePreparer(
|
||||
autorest.AsDelete(),
|
||||
autorest.WithBaseURL(client.BaseURI),
|
||||
autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openshiftclusters/{resourceName}/secret/{childResourceName}", pathParameters),
|
||||
autorest.WithQueryParameters(queryParameters))
|
||||
return preparer.Prepare((&http.Request{}).WithContext(ctx))
|
||||
}
|
||||
|
||||
// DeleteSender sends the Delete request. The method will close the
|
||||
// http.Response Body if it receives an error.
|
||||
func (client SecretsClient) DeleteSender(req *http.Request) (*http.Response, error) {
|
||||
return client.Send(req, azure.DoRetryWithRegistration(client.Client))
|
||||
}
|
||||
|
||||
// DeleteResponder handles the response to the Delete request. The method always
|
||||
// closes the http.Response Body.
|
||||
func (client SecretsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) {
|
||||
err = autorest.Respond(
|
||||
resp,
|
||||
azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent),
|
||||
autorest.ByClosing())
|
||||
result.Response = resp
|
||||
return
|
||||
}
|
||||
|
||||
// Get the operation returns properties of a Secret.
|
||||
// Parameters:
|
||||
// resourceGroupName - the name of the resource group. The name is case insensitive.
|
||||
// resourceName - the name of the OpenShift cluster resource.
|
||||
// childResourceName - the name of the Secret resource.
|
||||
func (client SecretsClient) Get(ctx context.Context, resourceGroupName string, resourceName string, childResourceName string) (result Secret, err error) {
|
||||
if tracing.IsEnabled() {
|
||||
ctx = tracing.StartSpan(ctx, fqdn+"/SecretsClient.Get")
|
||||
defer func() {
|
||||
sc := -1
|
||||
if result.Response.Response != nil {
|
||||
sc = result.Response.Response.StatusCode
|
||||
}
|
||||
tracing.EndSpan(ctx, sc, err)
|
||||
}()
|
||||
}
|
||||
if err := validation.Validate([]validation.Validation{
|
||||
{TargetValue: client.SubscriptionID,
|
||||
Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}},
|
||||
{TargetValue: resourceGroupName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
|
||||
{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}},
|
||||
{TargetValue: resourceName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceName", Name: validation.MaxLength, Rule: 63, Chain: nil},
|
||||
{Target: "resourceName", Name: validation.MinLength, Rule: 1, Chain: nil},
|
||||
{Target: "resourceName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$`, Chain: nil}}},
|
||||
{TargetValue: childResourceName,
|
||||
Constraints: []validation.Constraint{{Target: "childResourceName", Name: validation.MaxLength, Rule: 63, Chain: nil},
|
||||
{Target: "childResourceName", Name: validation.MinLength, Rule: 1, Chain: nil},
|
||||
{Target: "childResourceName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$`, Chain: nil}}}}); err != nil {
|
||||
return result, validation.NewError("redhatopenshift.SecretsClient", "Get", err.Error())
|
||||
}
|
||||
|
||||
req, err := client.GetPreparer(ctx, resourceGroupName, resourceName, childResourceName)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.SecretsClient", "Get", nil, "Failure preparing request")
|
||||
return
|
||||
}
|
||||
|
||||
resp, err := client.GetSender(req)
|
||||
if err != nil {
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.SecretsClient", "Get", resp, "Failure sending request")
|
||||
return
|
||||
}
|
||||
|
||||
result, err = client.GetResponder(resp)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.SecretsClient", "Get", resp, "Failure responding to request")
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// GetPreparer prepares the Get request.
|
||||
func (client SecretsClient) GetPreparer(ctx context.Context, resourceGroupName string, resourceName string, childResourceName string) (*http.Request, error) {
|
||||
pathParameters := map[string]interface{}{
|
||||
"childResourceName": autorest.Encode("path", childResourceName),
|
||||
"resourceGroupName": autorest.Encode("path", resourceGroupName),
|
||||
"resourceName": autorest.Encode("path", resourceName),
|
||||
"subscriptionId": autorest.Encode("path", client.SubscriptionID),
|
||||
}
|
||||
|
||||
const APIVersion = "2023-07-01-preview"
|
||||
queryParameters := map[string]interface{}{
|
||||
"api-version": APIVersion,
|
||||
}
|
||||
|
||||
preparer := autorest.CreatePreparer(
|
||||
autorest.AsGet(),
|
||||
autorest.WithBaseURL(client.BaseURI),
|
||||
autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openshiftclusters/{resourceName}/secret/{childResourceName}", pathParameters),
|
||||
autorest.WithQueryParameters(queryParameters))
|
||||
return preparer.Prepare((&http.Request{}).WithContext(ctx))
|
||||
}
|
||||
|
||||
// GetSender sends the Get request. The method will close the
|
||||
// http.Response Body if it receives an error.
|
||||
func (client SecretsClient) GetSender(req *http.Request) (*http.Response, error) {
|
||||
return client.Send(req, azure.DoRetryWithRegistration(client.Client))
|
||||
}
|
||||
|
||||
// GetResponder handles the response to the Get request. The method always
|
||||
// closes the http.Response Body.
|
||||
func (client SecretsClient) GetResponder(resp *http.Response) (result Secret, err error) {
|
||||
err = autorest.Respond(
|
||||
resp,
|
||||
azure.WithErrorUnlessStatusCode(http.StatusOK),
|
||||
autorest.ByUnmarshallingJSON(&result),
|
||||
autorest.ByClosing())
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
return
|
||||
}
|
||||
|
||||
// List the operation returns properties of each Secret.
|
||||
// Parameters:
|
||||
// resourceGroupName - the name of the resource group. The name is case insensitive.
|
||||
// resourceName - the name of the OpenShift cluster resource.
|
||||
func (client SecretsClient) List(ctx context.Context, resourceGroupName string, resourceName string) (result SecretListPage, err error) {
|
||||
if tracing.IsEnabled() {
|
||||
ctx = tracing.StartSpan(ctx, fqdn+"/SecretsClient.List")
|
||||
defer func() {
|
||||
sc := -1
|
||||
if result.sl.Response.Response != nil {
|
||||
sc = result.sl.Response.Response.StatusCode
|
||||
}
|
||||
tracing.EndSpan(ctx, sc, err)
|
||||
}()
|
||||
}
|
||||
if err := validation.Validate([]validation.Validation{
|
||||
{TargetValue: client.SubscriptionID,
|
||||
Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}},
|
||||
{TargetValue: resourceGroupName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
|
||||
{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}},
|
||||
{TargetValue: resourceName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceName", Name: validation.MaxLength, Rule: 63, Chain: nil},
|
||||
{Target: "resourceName", Name: validation.MinLength, Rule: 1, Chain: nil},
|
||||
{Target: "resourceName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$`, Chain: nil}}}}); err != nil {
|
||||
return result, validation.NewError("redhatopenshift.SecretsClient", "List", err.Error())
|
||||
}
|
||||
|
||||
result.fn = client.listNextResults
|
||||
req, err := client.ListPreparer(ctx, resourceGroupName, resourceName)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.SecretsClient", "List", nil, "Failure preparing request")
|
||||
return
|
||||
}
|
||||
|
||||
resp, err := client.ListSender(req)
|
||||
if err != nil {
|
||||
result.sl.Response = autorest.Response{Response: resp}
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.SecretsClient", "List", resp, "Failure sending request")
|
||||
return
|
||||
}
|
||||
|
||||
result.sl, err = client.ListResponder(resp)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.SecretsClient", "List", resp, "Failure responding to request")
|
||||
return
|
||||
}
|
||||
if result.sl.hasNextLink() && result.sl.IsEmpty() {
|
||||
err = result.NextWithContext(ctx)
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// ListPreparer prepares the List request.
|
||||
func (client SecretsClient) ListPreparer(ctx context.Context, resourceGroupName string, resourceName string) (*http.Request, error) {
|
||||
pathParameters := map[string]interface{}{
|
||||
"resourceGroupName": autorest.Encode("path", resourceGroupName),
|
||||
"resourceName": autorest.Encode("path", resourceName),
|
||||
"subscriptionId": autorest.Encode("path", client.SubscriptionID),
|
||||
}
|
||||
|
||||
const APIVersion = "2023-07-01-preview"
|
||||
queryParameters := map[string]interface{}{
|
||||
"api-version": APIVersion,
|
||||
}
|
||||
|
||||
preparer := autorest.CreatePreparer(
|
||||
autorest.AsGet(),
|
||||
autorest.WithBaseURL(client.BaseURI),
|
||||
autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openShiftCluster/{resourceName}/secrets", pathParameters),
|
||||
autorest.WithQueryParameters(queryParameters))
|
||||
return preparer.Prepare((&http.Request{}).WithContext(ctx))
|
||||
}
|
||||
|
||||
// ListSender sends the List request. The method will close the
|
||||
// http.Response Body if it receives an error.
|
||||
func (client SecretsClient) ListSender(req *http.Request) (*http.Response, error) {
|
||||
return client.Send(req, azure.DoRetryWithRegistration(client.Client))
|
||||
}
|
||||
|
||||
// ListResponder handles the response to the List request. The method always
|
||||
// closes the http.Response Body.
|
||||
func (client SecretsClient) ListResponder(resp *http.Response) (result SecretList, err error) {
|
||||
err = autorest.Respond(
|
||||
resp,
|
||||
azure.WithErrorUnlessStatusCode(http.StatusOK),
|
||||
autorest.ByUnmarshallingJSON(&result),
|
||||
autorest.ByClosing())
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
return
|
||||
}
|
||||
|
||||
// listNextResults retrieves the next set of results, if any.
|
||||
func (client SecretsClient) listNextResults(ctx context.Context, lastResults SecretList) (result SecretList, err error) {
|
||||
req, err := lastResults.secretListPreparer(ctx)
|
||||
if err != nil {
|
||||
return result, autorest.NewErrorWithError(err, "redhatopenshift.SecretsClient", "listNextResults", nil, "Failure preparing next results request")
|
||||
}
|
||||
if req == nil {
|
||||
return
|
||||
}
|
||||
resp, err := client.ListSender(req)
|
||||
if err != nil {
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
return result, autorest.NewErrorWithError(err, "redhatopenshift.SecretsClient", "listNextResults", resp, "Failure sending next results request")
|
||||
}
|
||||
result, err = client.ListResponder(resp)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.SecretsClient", "listNextResults", resp, "Failure responding to next results request")
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// ListComplete enumerates all values, automatically crossing page boundaries as required.
|
||||
func (client SecretsClient) ListComplete(ctx context.Context, resourceGroupName string, resourceName string) (result SecretListIterator, err error) {
|
||||
if tracing.IsEnabled() {
|
||||
ctx = tracing.StartSpan(ctx, fqdn+"/SecretsClient.List")
|
||||
defer func() {
|
||||
sc := -1
|
||||
if result.Response().Response.Response != nil {
|
||||
sc = result.page.Response().Response.Response.StatusCode
|
||||
}
|
||||
tracing.EndSpan(ctx, sc, err)
|
||||
}()
|
||||
}
|
||||
result.page, err = client.List(ctx, resourceGroupName, resourceName)
|
||||
return
|
||||
}
|
||||
|
||||
// Update the operation returns properties of a Secret.
|
||||
// Parameters:
|
||||
// resourceGroupName - the name of the resource group. The name is case insensitive.
|
||||
// resourceName - the name of the OpenShift cluster resource.
|
||||
// childResourceName - the name of the Secret resource.
|
||||
// parameters - the Secret resource.
|
||||
func (client SecretsClient) Update(ctx context.Context, resourceGroupName string, resourceName string, childResourceName string, parameters SecretUpdate) (result Secret, err error) {
|
||||
if tracing.IsEnabled() {
|
||||
ctx = tracing.StartSpan(ctx, fqdn+"/SecretsClient.Update")
|
||||
defer func() {
|
||||
sc := -1
|
||||
if result.Response.Response != nil {
|
||||
sc = result.Response.Response.StatusCode
|
||||
}
|
||||
tracing.EndSpan(ctx, sc, err)
|
||||
}()
|
||||
}
|
||||
if err := validation.Validate([]validation.Validation{
|
||||
{TargetValue: client.SubscriptionID,
|
||||
Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}},
|
||||
{TargetValue: resourceGroupName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
|
||||
{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}},
|
||||
{TargetValue: resourceName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceName", Name: validation.MaxLength, Rule: 63, Chain: nil},
|
||||
{Target: "resourceName", Name: validation.MinLength, Rule: 1, Chain: nil},
|
||||
{Target: "resourceName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$`, Chain: nil}}},
|
||||
{TargetValue: childResourceName,
|
||||
Constraints: []validation.Constraint{{Target: "childResourceName", Name: validation.MaxLength, Rule: 63, Chain: nil},
|
||||
{Target: "childResourceName", Name: validation.MinLength, Rule: 1, Chain: nil},
|
||||
{Target: "childResourceName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$`, Chain: nil}}}}); err != nil {
|
||||
return result, validation.NewError("redhatopenshift.SecretsClient", "Update", err.Error())
|
||||
}
|
||||
|
||||
req, err := client.UpdatePreparer(ctx, resourceGroupName, resourceName, childResourceName, parameters)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.SecretsClient", "Update", nil, "Failure preparing request")
|
||||
return
|
||||
}
|
||||
|
||||
resp, err := client.UpdateSender(req)
|
||||
if err != nil {
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.SecretsClient", "Update", resp, "Failure sending request")
|
||||
return
|
||||
}
|
||||
|
||||
result, err = client.UpdateResponder(resp)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.SecretsClient", "Update", resp, "Failure responding to request")
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// UpdatePreparer prepares the Update request.
|
||||
func (client SecretsClient) UpdatePreparer(ctx context.Context, resourceGroupName string, resourceName string, childResourceName string, parameters SecretUpdate) (*http.Request, error) {
|
||||
pathParameters := map[string]interface{}{
|
||||
"childResourceName": autorest.Encode("path", childResourceName),
|
||||
"resourceGroupName": autorest.Encode("path", resourceGroupName),
|
||||
"resourceName": autorest.Encode("path", resourceName),
|
||||
"subscriptionId": autorest.Encode("path", client.SubscriptionID),
|
||||
}
|
||||
|
||||
const APIVersion = "2023-07-01-preview"
|
||||
queryParameters := map[string]interface{}{
|
||||
"api-version": APIVersion,
|
||||
}
|
||||
|
||||
parameters.SystemData = nil
|
||||
preparer := autorest.CreatePreparer(
|
||||
autorest.AsContentType("application/json; charset=utf-8"),
|
||||
autorest.AsPatch(),
|
||||
autorest.WithBaseURL(client.BaseURI),
|
||||
autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openshiftclusters/{resourceName}/secret/{childResourceName}", pathParameters),
|
||||
autorest.WithJSON(parameters),
|
||||
autorest.WithQueryParameters(queryParameters))
|
||||
return preparer.Prepare((&http.Request{}).WithContext(ctx))
|
||||
}
|
||||
|
||||
// UpdateSender sends the Update request. The method will close the
|
||||
// http.Response Body if it receives an error.
|
||||
func (client SecretsClient) UpdateSender(req *http.Request) (*http.Response, error) {
|
||||
return client.Send(req, azure.DoRetryWithRegistration(client.Client))
|
||||
}
|
||||
|
||||
// UpdateResponder handles the response to the Update request. The method always
|
||||
// closes the http.Response Body.
|
||||
func (client SecretsClient) UpdateResponder(resp *http.Response) (result Secret, err error) {
|
||||
err = autorest.Respond(
|
||||
resp,
|
||||
azure.WithErrorUnlessStatusCode(http.StatusOK),
|
||||
autorest.ByUnmarshallingJSON(&result),
|
||||
autorest.ByClosing())
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
return
|
||||
}
|
|
@ -0,0 +1,562 @@
|
|||
package redhatopenshift
|
||||
|
||||
// Copyright (c) Microsoft and contributors. All rights reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
//
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
// Code generated by Microsoft (R) AutoRest Code Generator.
|
||||
// Changes may cause incorrect behavior and will be lost if the code is regenerated.
|
||||
|
||||
import (
|
||||
"context"
|
||||
"net/http"
|
||||
|
||||
"github.com/Azure/go-autorest/autorest"
|
||||
"github.com/Azure/go-autorest/autorest/azure"
|
||||
"github.com/Azure/go-autorest/autorest/validation"
|
||||
"github.com/Azure/go-autorest/tracing"
|
||||
)
|
||||
|
||||
// SyncIdentityProvidersClient is the rest API for Azure Red Hat OpenShift 4
|
||||
type SyncIdentityProvidersClient struct {
|
||||
BaseClient
|
||||
}
|
||||
|
||||
// NewSyncIdentityProvidersClient creates an instance of the SyncIdentityProvidersClient client.
|
||||
func NewSyncIdentityProvidersClient(subscriptionID string) SyncIdentityProvidersClient {
|
||||
return NewSyncIdentityProvidersClientWithBaseURI(DefaultBaseURI, subscriptionID)
|
||||
}
|
||||
|
||||
// NewSyncIdentityProvidersClientWithBaseURI creates an instance of the SyncIdentityProvidersClient client using a
|
||||
// custom endpoint. Use this when interacting with an Azure cloud that uses a non-standard base URI (sovereign clouds,
|
||||
// Azure stack).
|
||||
func NewSyncIdentityProvidersClientWithBaseURI(baseURI string, subscriptionID string) SyncIdentityProvidersClient {
|
||||
return SyncIdentityProvidersClient{NewWithBaseURI(baseURI, subscriptionID)}
|
||||
}
|
||||
|
||||
// CreateOrUpdate the operation returns properties of a SyncIdentityProvider.
|
||||
// Parameters:
|
||||
// resourceGroupName - the name of the resource group. The name is case insensitive.
|
||||
// resourceName - the name of the OpenShift cluster resource.
|
||||
// childResourceName - the name of the SyncIdentityProvider resource.
|
||||
// parameters - the SyncIdentityProvider resource.
|
||||
func (client SyncIdentityProvidersClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, resourceName string, childResourceName string, parameters SyncIdentityProvider) (result SyncIdentityProvider, err error) {
|
||||
if tracing.IsEnabled() {
|
||||
ctx = tracing.StartSpan(ctx, fqdn+"/SyncIdentityProvidersClient.CreateOrUpdate")
|
||||
defer func() {
|
||||
sc := -1
|
||||
if result.Response.Response != nil {
|
||||
sc = result.Response.Response.StatusCode
|
||||
}
|
||||
tracing.EndSpan(ctx, sc, err)
|
||||
}()
|
||||
}
|
||||
if err := validation.Validate([]validation.Validation{
|
||||
{TargetValue: client.SubscriptionID,
|
||||
Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}},
|
||||
{TargetValue: resourceGroupName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
|
||||
{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}},
|
||||
{TargetValue: resourceName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceName", Name: validation.MaxLength, Rule: 63, Chain: nil},
|
||||
{Target: "resourceName", Name: validation.MinLength, Rule: 1, Chain: nil},
|
||||
{Target: "resourceName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$`, Chain: nil}}},
|
||||
{TargetValue: childResourceName,
|
||||
Constraints: []validation.Constraint{{Target: "childResourceName", Name: validation.MaxLength, Rule: 63, Chain: nil},
|
||||
{Target: "childResourceName", Name: validation.MinLength, Rule: 1, Chain: nil},
|
||||
{Target: "childResourceName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$`, Chain: nil}}}}); err != nil {
|
||||
return result, validation.NewError("redhatopenshift.SyncIdentityProvidersClient", "CreateOrUpdate", err.Error())
|
||||
}
|
||||
|
||||
req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, resourceName, childResourceName, parameters)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.SyncIdentityProvidersClient", "CreateOrUpdate", nil, "Failure preparing request")
|
||||
return
|
||||
}
|
||||
|
||||
resp, err := client.CreateOrUpdateSender(req)
|
||||
if err != nil {
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.SyncIdentityProvidersClient", "CreateOrUpdate", resp, "Failure sending request")
|
||||
return
|
||||
}
|
||||
|
||||
result, err = client.CreateOrUpdateResponder(resp)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.SyncIdentityProvidersClient", "CreateOrUpdate", resp, "Failure responding to request")
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// CreateOrUpdatePreparer prepares the CreateOrUpdate request.
|
||||
func (client SyncIdentityProvidersClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, resourceName string, childResourceName string, parameters SyncIdentityProvider) (*http.Request, error) {
|
||||
pathParameters := map[string]interface{}{
|
||||
"childResourceName": autorest.Encode("path", childResourceName),
|
||||
"resourceGroupName": autorest.Encode("path", resourceGroupName),
|
||||
"resourceName": autorest.Encode("path", resourceName),
|
||||
"subscriptionId": autorest.Encode("path", client.SubscriptionID),
|
||||
}
|
||||
|
||||
const APIVersion = "2023-07-01-preview"
|
||||
queryParameters := map[string]interface{}{
|
||||
"api-version": APIVersion,
|
||||
}
|
||||
|
||||
preparer := autorest.CreatePreparer(
|
||||
autorest.AsContentType("application/json; charset=utf-8"),
|
||||
autorest.AsPut(),
|
||||
autorest.WithBaseURL(client.BaseURI),
|
||||
autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openshiftclusters/{resourceName}/syncIdentityProvider/{childResourceName}", pathParameters),
|
||||
autorest.WithJSON(parameters),
|
||||
autorest.WithQueryParameters(queryParameters))
|
||||
return preparer.Prepare((&http.Request{}).WithContext(ctx))
|
||||
}
|
||||
|
||||
// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the
|
||||
// http.Response Body if it receives an error.
|
||||
func (client SyncIdentityProvidersClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) {
|
||||
return client.Send(req, azure.DoRetryWithRegistration(client.Client))
|
||||
}
|
||||
|
||||
// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always
|
||||
// closes the http.Response Body.
|
||||
func (client SyncIdentityProvidersClient) CreateOrUpdateResponder(resp *http.Response) (result SyncIdentityProvider, err error) {
|
||||
err = autorest.Respond(
|
||||
resp,
|
||||
azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated),
|
||||
autorest.ByUnmarshallingJSON(&result),
|
||||
autorest.ByClosing())
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
return
|
||||
}
|
||||
|
||||
// Delete the operation returns nothing.
|
||||
// Parameters:
|
||||
// resourceGroupName - the name of the resource group. The name is case insensitive.
|
||||
// resourceName - the name of the OpenShift cluster resource.
|
||||
// childResourceName - the name of the SyncIdentityProvider resource.
|
||||
func (client SyncIdentityProvidersClient) Delete(ctx context.Context, resourceGroupName string, resourceName string, childResourceName string) (result autorest.Response, err error) {
|
||||
if tracing.IsEnabled() {
|
||||
ctx = tracing.StartSpan(ctx, fqdn+"/SyncIdentityProvidersClient.Delete")
|
||||
defer func() {
|
||||
sc := -1
|
||||
if result.Response != nil {
|
||||
sc = result.Response.StatusCode
|
||||
}
|
||||
tracing.EndSpan(ctx, sc, err)
|
||||
}()
|
||||
}
|
||||
if err := validation.Validate([]validation.Validation{
|
||||
{TargetValue: client.SubscriptionID,
|
||||
Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}},
|
||||
{TargetValue: resourceGroupName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
|
||||
{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}},
|
||||
{TargetValue: resourceName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceName", Name: validation.MaxLength, Rule: 63, Chain: nil},
|
||||
{Target: "resourceName", Name: validation.MinLength, Rule: 1, Chain: nil},
|
||||
{Target: "resourceName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$`, Chain: nil}}},
|
||||
{TargetValue: childResourceName,
|
||||
Constraints: []validation.Constraint{{Target: "childResourceName", Name: validation.MaxLength, Rule: 63, Chain: nil},
|
||||
{Target: "childResourceName", Name: validation.MinLength, Rule: 1, Chain: nil},
|
||||
{Target: "childResourceName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$`, Chain: nil}}}}); err != nil {
|
||||
return result, validation.NewError("redhatopenshift.SyncIdentityProvidersClient", "Delete", err.Error())
|
||||
}
|
||||
|
||||
req, err := client.DeletePreparer(ctx, resourceGroupName, resourceName, childResourceName)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.SyncIdentityProvidersClient", "Delete", nil, "Failure preparing request")
|
||||
return
|
||||
}
|
||||
|
||||
resp, err := client.DeleteSender(req)
|
||||
if err != nil {
|
||||
result.Response = resp
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.SyncIdentityProvidersClient", "Delete", resp, "Failure sending request")
|
||||
return
|
||||
}
|
||||
|
||||
result, err = client.DeleteResponder(resp)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.SyncIdentityProvidersClient", "Delete", resp, "Failure responding to request")
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// DeletePreparer prepares the Delete request.
|
||||
func (client SyncIdentityProvidersClient) DeletePreparer(ctx context.Context, resourceGroupName string, resourceName string, childResourceName string) (*http.Request, error) {
|
||||
pathParameters := map[string]interface{}{
|
||||
"childResourceName": autorest.Encode("path", childResourceName),
|
||||
"resourceGroupName": autorest.Encode("path", resourceGroupName),
|
||||
"resourceName": autorest.Encode("path", resourceName),
|
||||
"subscriptionId": autorest.Encode("path", client.SubscriptionID),
|
||||
}
|
||||
|
||||
const APIVersion = "2023-07-01-preview"
|
||||
queryParameters := map[string]interface{}{
|
||||
"api-version": APIVersion,
|
||||
}
|
||||
|
||||
preparer := autorest.CreatePreparer(
|
||||
autorest.AsDelete(),
|
||||
autorest.WithBaseURL(client.BaseURI),
|
||||
autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openshiftclusters/{resourceName}/syncIdentityProvider/{childResourceName}", pathParameters),
|
||||
autorest.WithQueryParameters(queryParameters))
|
||||
return preparer.Prepare((&http.Request{}).WithContext(ctx))
|
||||
}
|
||||
|
||||
// DeleteSender sends the Delete request. The method will close the
|
||||
// http.Response Body if it receives an error.
|
||||
func (client SyncIdentityProvidersClient) DeleteSender(req *http.Request) (*http.Response, error) {
|
||||
return client.Send(req, azure.DoRetryWithRegistration(client.Client))
|
||||
}
|
||||
|
||||
// DeleteResponder handles the response to the Delete request. The method always
|
||||
// closes the http.Response Body.
|
||||
func (client SyncIdentityProvidersClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) {
|
||||
err = autorest.Respond(
|
||||
resp,
|
||||
azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent),
|
||||
autorest.ByClosing())
|
||||
result.Response = resp
|
||||
return
|
||||
}
|
||||
|
||||
// Get the operation returns properties of a SyncIdentityProvider.
|
||||
// Parameters:
|
||||
// resourceGroupName - the name of the resource group. The name is case insensitive.
|
||||
// resourceName - the name of the OpenShift cluster resource.
|
||||
// childResourceName - the name of the SyncIdentityProvider resource.
|
||||
func (client SyncIdentityProvidersClient) Get(ctx context.Context, resourceGroupName string, resourceName string, childResourceName string) (result SyncIdentityProvider, err error) {
|
||||
if tracing.IsEnabled() {
|
||||
ctx = tracing.StartSpan(ctx, fqdn+"/SyncIdentityProvidersClient.Get")
|
||||
defer func() {
|
||||
sc := -1
|
||||
if result.Response.Response != nil {
|
||||
sc = result.Response.Response.StatusCode
|
||||
}
|
||||
tracing.EndSpan(ctx, sc, err)
|
||||
}()
|
||||
}
|
||||
if err := validation.Validate([]validation.Validation{
|
||||
{TargetValue: client.SubscriptionID,
|
||||
Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}},
|
||||
{TargetValue: resourceGroupName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
|
||||
{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}},
|
||||
{TargetValue: resourceName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceName", Name: validation.MaxLength, Rule: 63, Chain: nil},
|
||||
{Target: "resourceName", Name: validation.MinLength, Rule: 1, Chain: nil},
|
||||
{Target: "resourceName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$`, Chain: nil}}},
|
||||
{TargetValue: childResourceName,
|
||||
Constraints: []validation.Constraint{{Target: "childResourceName", Name: validation.MaxLength, Rule: 63, Chain: nil},
|
||||
{Target: "childResourceName", Name: validation.MinLength, Rule: 1, Chain: nil},
|
||||
{Target: "childResourceName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$`, Chain: nil}}}}); err != nil {
|
||||
return result, validation.NewError("redhatopenshift.SyncIdentityProvidersClient", "Get", err.Error())
|
||||
}
|
||||
|
||||
req, err := client.GetPreparer(ctx, resourceGroupName, resourceName, childResourceName)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.SyncIdentityProvidersClient", "Get", nil, "Failure preparing request")
|
||||
return
|
||||
}
|
||||
|
||||
resp, err := client.GetSender(req)
|
||||
if err != nil {
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.SyncIdentityProvidersClient", "Get", resp, "Failure sending request")
|
||||
return
|
||||
}
|
||||
|
||||
result, err = client.GetResponder(resp)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.SyncIdentityProvidersClient", "Get", resp, "Failure responding to request")
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// GetPreparer prepares the Get request.
|
||||
func (client SyncIdentityProvidersClient) GetPreparer(ctx context.Context, resourceGroupName string, resourceName string, childResourceName string) (*http.Request, error) {
|
||||
pathParameters := map[string]interface{}{
|
||||
"childResourceName": autorest.Encode("path", childResourceName),
|
||||
"resourceGroupName": autorest.Encode("path", resourceGroupName),
|
||||
"resourceName": autorest.Encode("path", resourceName),
|
||||
"subscriptionId": autorest.Encode("path", client.SubscriptionID),
|
||||
}
|
||||
|
||||
const APIVersion = "2023-07-01-preview"
|
||||
queryParameters := map[string]interface{}{
|
||||
"api-version": APIVersion,
|
||||
}
|
||||
|
||||
preparer := autorest.CreatePreparer(
|
||||
autorest.AsGet(),
|
||||
autorest.WithBaseURL(client.BaseURI),
|
||||
autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openshiftclusters/{resourceName}/syncIdentityProvider/{childResourceName}", pathParameters),
|
||||
autorest.WithQueryParameters(queryParameters))
|
||||
return preparer.Prepare((&http.Request{}).WithContext(ctx))
|
||||
}
|
||||
|
||||
// GetSender sends the Get request. The method will close the
|
||||
// http.Response Body if it receives an error.
|
||||
func (client SyncIdentityProvidersClient) GetSender(req *http.Request) (*http.Response, error) {
|
||||
return client.Send(req, azure.DoRetryWithRegistration(client.Client))
|
||||
}
|
||||
|
||||
// GetResponder handles the response to the Get request. The method always
|
||||
// closes the http.Response Body.
|
||||
func (client SyncIdentityProvidersClient) GetResponder(resp *http.Response) (result SyncIdentityProvider, err error) {
|
||||
err = autorest.Respond(
|
||||
resp,
|
||||
azure.WithErrorUnlessStatusCode(http.StatusOK),
|
||||
autorest.ByUnmarshallingJSON(&result),
|
||||
autorest.ByClosing())
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
return
|
||||
}
|
||||
|
||||
// List the operation returns properties of each SyncIdentityProvider.
|
||||
// Parameters:
|
||||
// resourceGroupName - the name of the resource group. The name is case insensitive.
|
||||
// resourceName - the name of the OpenShift cluster resource.
|
||||
func (client SyncIdentityProvidersClient) List(ctx context.Context, resourceGroupName string, resourceName string) (result SyncIdentityProviderListPage, err error) {
|
||||
if tracing.IsEnabled() {
|
||||
ctx = tracing.StartSpan(ctx, fqdn+"/SyncIdentityProvidersClient.List")
|
||||
defer func() {
|
||||
sc := -1
|
||||
if result.sipl.Response.Response != nil {
|
||||
sc = result.sipl.Response.Response.StatusCode
|
||||
}
|
||||
tracing.EndSpan(ctx, sc, err)
|
||||
}()
|
||||
}
|
||||
if err := validation.Validate([]validation.Validation{
|
||||
{TargetValue: client.SubscriptionID,
|
||||
Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}},
|
||||
{TargetValue: resourceGroupName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
|
||||
{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}},
|
||||
{TargetValue: resourceName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceName", Name: validation.MaxLength, Rule: 63, Chain: nil},
|
||||
{Target: "resourceName", Name: validation.MinLength, Rule: 1, Chain: nil},
|
||||
{Target: "resourceName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$`, Chain: nil}}}}); err != nil {
|
||||
return result, validation.NewError("redhatopenshift.SyncIdentityProvidersClient", "List", err.Error())
|
||||
}
|
||||
|
||||
result.fn = client.listNextResults
|
||||
req, err := client.ListPreparer(ctx, resourceGroupName, resourceName)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.SyncIdentityProvidersClient", "List", nil, "Failure preparing request")
|
||||
return
|
||||
}
|
||||
|
||||
resp, err := client.ListSender(req)
|
||||
if err != nil {
|
||||
result.sipl.Response = autorest.Response{Response: resp}
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.SyncIdentityProvidersClient", "List", resp, "Failure sending request")
|
||||
return
|
||||
}
|
||||
|
||||
result.sipl, err = client.ListResponder(resp)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.SyncIdentityProvidersClient", "List", resp, "Failure responding to request")
|
||||
return
|
||||
}
|
||||
if result.sipl.hasNextLink() && result.sipl.IsEmpty() {
|
||||
err = result.NextWithContext(ctx)
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// ListPreparer prepares the List request.
|
||||
func (client SyncIdentityProvidersClient) ListPreparer(ctx context.Context, resourceGroupName string, resourceName string) (*http.Request, error) {
|
||||
pathParameters := map[string]interface{}{
|
||||
"resourceGroupName": autorest.Encode("path", resourceGroupName),
|
||||
"resourceName": autorest.Encode("path", resourceName),
|
||||
"subscriptionId": autorest.Encode("path", client.SubscriptionID),
|
||||
}
|
||||
|
||||
const APIVersion = "2023-07-01-preview"
|
||||
queryParameters := map[string]interface{}{
|
||||
"api-version": APIVersion,
|
||||
}
|
||||
|
||||
preparer := autorest.CreatePreparer(
|
||||
autorest.AsGet(),
|
||||
autorest.WithBaseURL(client.BaseURI),
|
||||
autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openShiftCluster/{resourceName}/syncIdentityProviders", pathParameters),
|
||||
autorest.WithQueryParameters(queryParameters))
|
||||
return preparer.Prepare((&http.Request{}).WithContext(ctx))
|
||||
}
|
||||
|
||||
// ListSender sends the List request. The method will close the
|
||||
// http.Response Body if it receives an error.
|
||||
func (client SyncIdentityProvidersClient) ListSender(req *http.Request) (*http.Response, error) {
|
||||
return client.Send(req, azure.DoRetryWithRegistration(client.Client))
|
||||
}
|
||||
|
||||
// ListResponder handles the response to the List request. The method always
|
||||
// closes the http.Response Body.
|
||||
func (client SyncIdentityProvidersClient) ListResponder(resp *http.Response) (result SyncIdentityProviderList, err error) {
|
||||
err = autorest.Respond(
|
||||
resp,
|
||||
azure.WithErrorUnlessStatusCode(http.StatusOK),
|
||||
autorest.ByUnmarshallingJSON(&result),
|
||||
autorest.ByClosing())
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
return
|
||||
}
|
||||
|
||||
// listNextResults retrieves the next set of results, if any.
|
||||
func (client SyncIdentityProvidersClient) listNextResults(ctx context.Context, lastResults SyncIdentityProviderList) (result SyncIdentityProviderList, err error) {
|
||||
req, err := lastResults.syncIdentityProviderListPreparer(ctx)
|
||||
if err != nil {
|
||||
return result, autorest.NewErrorWithError(err, "redhatopenshift.SyncIdentityProvidersClient", "listNextResults", nil, "Failure preparing next results request")
|
||||
}
|
||||
if req == nil {
|
||||
return
|
||||
}
|
||||
resp, err := client.ListSender(req)
|
||||
if err != nil {
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
return result, autorest.NewErrorWithError(err, "redhatopenshift.SyncIdentityProvidersClient", "listNextResults", resp, "Failure sending next results request")
|
||||
}
|
||||
result, err = client.ListResponder(resp)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.SyncIdentityProvidersClient", "listNextResults", resp, "Failure responding to next results request")
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// ListComplete enumerates all values, automatically crossing page boundaries as required.
|
||||
func (client SyncIdentityProvidersClient) ListComplete(ctx context.Context, resourceGroupName string, resourceName string) (result SyncIdentityProviderListIterator, err error) {
|
||||
if tracing.IsEnabled() {
|
||||
ctx = tracing.StartSpan(ctx, fqdn+"/SyncIdentityProvidersClient.List")
|
||||
defer func() {
|
||||
sc := -1
|
||||
if result.Response().Response.Response != nil {
|
||||
sc = result.page.Response().Response.Response.StatusCode
|
||||
}
|
||||
tracing.EndSpan(ctx, sc, err)
|
||||
}()
|
||||
}
|
||||
result.page, err = client.List(ctx, resourceGroupName, resourceName)
|
||||
return
|
||||
}
|
||||
|
||||
// Update the operation returns properties of a SyncIdentityProvider.
|
||||
// Parameters:
|
||||
// resourceGroupName - the name of the resource group. The name is case insensitive.
|
||||
// resourceName - the name of the OpenShift cluster resource.
|
||||
// childResourceName - the name of the SyncIdentityProvider resource.
|
||||
// parameters - the SyncIdentityProvider resource.
|
||||
func (client SyncIdentityProvidersClient) Update(ctx context.Context, resourceGroupName string, resourceName string, childResourceName string, parameters SyncIdentityProviderUpdate) (result SyncIdentityProvider, err error) {
|
||||
if tracing.IsEnabled() {
|
||||
ctx = tracing.StartSpan(ctx, fqdn+"/SyncIdentityProvidersClient.Update")
|
||||
defer func() {
|
||||
sc := -1
|
||||
if result.Response.Response != nil {
|
||||
sc = result.Response.Response.StatusCode
|
||||
}
|
||||
tracing.EndSpan(ctx, sc, err)
|
||||
}()
|
||||
}
|
||||
if err := validation.Validate([]validation.Validation{
|
||||
{TargetValue: client.SubscriptionID,
|
||||
Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}},
|
||||
{TargetValue: resourceGroupName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
|
||||
{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}},
|
||||
{TargetValue: resourceName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceName", Name: validation.MaxLength, Rule: 63, Chain: nil},
|
||||
{Target: "resourceName", Name: validation.MinLength, Rule: 1, Chain: nil},
|
||||
{Target: "resourceName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$`, Chain: nil}}},
|
||||
{TargetValue: childResourceName,
|
||||
Constraints: []validation.Constraint{{Target: "childResourceName", Name: validation.MaxLength, Rule: 63, Chain: nil},
|
||||
{Target: "childResourceName", Name: validation.MinLength, Rule: 1, Chain: nil},
|
||||
{Target: "childResourceName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$`, Chain: nil}}}}); err != nil {
|
||||
return result, validation.NewError("redhatopenshift.SyncIdentityProvidersClient", "Update", err.Error())
|
||||
}
|
||||
|
||||
req, err := client.UpdatePreparer(ctx, resourceGroupName, resourceName, childResourceName, parameters)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.SyncIdentityProvidersClient", "Update", nil, "Failure preparing request")
|
||||
return
|
||||
}
|
||||
|
||||
resp, err := client.UpdateSender(req)
|
||||
if err != nil {
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.SyncIdentityProvidersClient", "Update", resp, "Failure sending request")
|
||||
return
|
||||
}
|
||||
|
||||
result, err = client.UpdateResponder(resp)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.SyncIdentityProvidersClient", "Update", resp, "Failure responding to request")
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// UpdatePreparer prepares the Update request.
|
||||
func (client SyncIdentityProvidersClient) UpdatePreparer(ctx context.Context, resourceGroupName string, resourceName string, childResourceName string, parameters SyncIdentityProviderUpdate) (*http.Request, error) {
|
||||
pathParameters := map[string]interface{}{
|
||||
"childResourceName": autorest.Encode("path", childResourceName),
|
||||
"resourceGroupName": autorest.Encode("path", resourceGroupName),
|
||||
"resourceName": autorest.Encode("path", resourceName),
|
||||
"subscriptionId": autorest.Encode("path", client.SubscriptionID),
|
||||
}
|
||||
|
||||
const APIVersion = "2023-07-01-preview"
|
||||
queryParameters := map[string]interface{}{
|
||||
"api-version": APIVersion,
|
||||
}
|
||||
|
||||
parameters.SystemData = nil
|
||||
preparer := autorest.CreatePreparer(
|
||||
autorest.AsContentType("application/json; charset=utf-8"),
|
||||
autorest.AsPatch(),
|
||||
autorest.WithBaseURL(client.BaseURI),
|
||||
autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openshiftclusters/{resourceName}/syncIdentityProvider/{childResourceName}", pathParameters),
|
||||
autorest.WithJSON(parameters),
|
||||
autorest.WithQueryParameters(queryParameters))
|
||||
return preparer.Prepare((&http.Request{}).WithContext(ctx))
|
||||
}
|
||||
|
||||
// UpdateSender sends the Update request. The method will close the
|
||||
// http.Response Body if it receives an error.
|
||||
func (client SyncIdentityProvidersClient) UpdateSender(req *http.Request) (*http.Response, error) {
|
||||
return client.Send(req, azure.DoRetryWithRegistration(client.Client))
|
||||
}
|
||||
|
||||
// UpdateResponder handles the response to the Update request. The method always
|
||||
// closes the http.Response Body.
|
||||
func (client SyncIdentityProvidersClient) UpdateResponder(resp *http.Response) (result SyncIdentityProvider, err error) {
|
||||
err = autorest.Respond(
|
||||
resp,
|
||||
azure.WithErrorUnlessStatusCode(http.StatusOK),
|
||||
autorest.ByUnmarshallingJSON(&result),
|
||||
autorest.ByClosing())
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
return
|
||||
}
|
|
@ -0,0 +1,561 @@
|
|||
package redhatopenshift
|
||||
|
||||
// Copyright (c) Microsoft and contributors. All rights reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
//
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
// Code generated by Microsoft (R) AutoRest Code Generator.
|
||||
// Changes may cause incorrect behavior and will be lost if the code is regenerated.
|
||||
|
||||
import (
|
||||
"context"
|
||||
"net/http"
|
||||
|
||||
"github.com/Azure/go-autorest/autorest"
|
||||
"github.com/Azure/go-autorest/autorest/azure"
|
||||
"github.com/Azure/go-autorest/autorest/validation"
|
||||
"github.com/Azure/go-autorest/tracing"
|
||||
)
|
||||
|
||||
// SyncSetsClient is the rest API for Azure Red Hat OpenShift 4
|
||||
type SyncSetsClient struct {
|
||||
BaseClient
|
||||
}
|
||||
|
||||
// NewSyncSetsClient creates an instance of the SyncSetsClient client.
|
||||
func NewSyncSetsClient(subscriptionID string) SyncSetsClient {
|
||||
return NewSyncSetsClientWithBaseURI(DefaultBaseURI, subscriptionID)
|
||||
}
|
||||
|
||||
// NewSyncSetsClientWithBaseURI creates an instance of the SyncSetsClient client using a custom endpoint. Use this
|
||||
// when interacting with an Azure cloud that uses a non-standard base URI (sovereign clouds, Azure stack).
|
||||
func NewSyncSetsClientWithBaseURI(baseURI string, subscriptionID string) SyncSetsClient {
|
||||
return SyncSetsClient{NewWithBaseURI(baseURI, subscriptionID)}
|
||||
}
|
||||
|
||||
// CreateOrUpdate the operation returns properties of a SyncSet.
|
||||
// Parameters:
|
||||
// resourceGroupName - the name of the resource group. The name is case insensitive.
|
||||
// resourceName - the name of the OpenShift cluster resource.
|
||||
// childResourceName - the name of the SyncSet resource.
|
||||
// parameters - the SyncSet resource.
|
||||
func (client SyncSetsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, resourceName string, childResourceName string, parameters SyncSet) (result SyncSet, err error) {
|
||||
if tracing.IsEnabled() {
|
||||
ctx = tracing.StartSpan(ctx, fqdn+"/SyncSetsClient.CreateOrUpdate")
|
||||
defer func() {
|
||||
sc := -1
|
||||
if result.Response.Response != nil {
|
||||
sc = result.Response.Response.StatusCode
|
||||
}
|
||||
tracing.EndSpan(ctx, sc, err)
|
||||
}()
|
||||
}
|
||||
if err := validation.Validate([]validation.Validation{
|
||||
{TargetValue: client.SubscriptionID,
|
||||
Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}},
|
||||
{TargetValue: resourceGroupName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
|
||||
{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}},
|
||||
{TargetValue: resourceName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceName", Name: validation.MaxLength, Rule: 63, Chain: nil},
|
||||
{Target: "resourceName", Name: validation.MinLength, Rule: 1, Chain: nil},
|
||||
{Target: "resourceName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$`, Chain: nil}}},
|
||||
{TargetValue: childResourceName,
|
||||
Constraints: []validation.Constraint{{Target: "childResourceName", Name: validation.MaxLength, Rule: 63, Chain: nil},
|
||||
{Target: "childResourceName", Name: validation.MinLength, Rule: 1, Chain: nil},
|
||||
{Target: "childResourceName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$`, Chain: nil}}}}); err != nil {
|
||||
return result, validation.NewError("redhatopenshift.SyncSetsClient", "CreateOrUpdate", err.Error())
|
||||
}
|
||||
|
||||
req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, resourceName, childResourceName, parameters)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.SyncSetsClient", "CreateOrUpdate", nil, "Failure preparing request")
|
||||
return
|
||||
}
|
||||
|
||||
resp, err := client.CreateOrUpdateSender(req)
|
||||
if err != nil {
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.SyncSetsClient", "CreateOrUpdate", resp, "Failure sending request")
|
||||
return
|
||||
}
|
||||
|
||||
result, err = client.CreateOrUpdateResponder(resp)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.SyncSetsClient", "CreateOrUpdate", resp, "Failure responding to request")
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// CreateOrUpdatePreparer prepares the CreateOrUpdate request.
|
||||
func (client SyncSetsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, resourceName string, childResourceName string, parameters SyncSet) (*http.Request, error) {
|
||||
pathParameters := map[string]interface{}{
|
||||
"childResourceName": autorest.Encode("path", childResourceName),
|
||||
"resourceGroupName": autorest.Encode("path", resourceGroupName),
|
||||
"resourceName": autorest.Encode("path", resourceName),
|
||||
"subscriptionId": autorest.Encode("path", client.SubscriptionID),
|
||||
}
|
||||
|
||||
const APIVersion = "2023-07-01-preview"
|
||||
queryParameters := map[string]interface{}{
|
||||
"api-version": APIVersion,
|
||||
}
|
||||
|
||||
preparer := autorest.CreatePreparer(
|
||||
autorest.AsContentType("application/json; charset=utf-8"),
|
||||
autorest.AsPut(),
|
||||
autorest.WithBaseURL(client.BaseURI),
|
||||
autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openshiftclusters/{resourceName}/syncSet/{childResourceName}", pathParameters),
|
||||
autorest.WithJSON(parameters),
|
||||
autorest.WithQueryParameters(queryParameters))
|
||||
return preparer.Prepare((&http.Request{}).WithContext(ctx))
|
||||
}
|
||||
|
||||
// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the
|
||||
// http.Response Body if it receives an error.
|
||||
func (client SyncSetsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) {
|
||||
return client.Send(req, azure.DoRetryWithRegistration(client.Client))
|
||||
}
|
||||
|
||||
// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always
|
||||
// closes the http.Response Body.
|
||||
func (client SyncSetsClient) CreateOrUpdateResponder(resp *http.Response) (result SyncSet, err error) {
|
||||
err = autorest.Respond(
|
||||
resp,
|
||||
azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated),
|
||||
autorest.ByUnmarshallingJSON(&result),
|
||||
autorest.ByClosing())
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
return
|
||||
}
|
||||
|
||||
// Delete the operation returns nothing.
|
||||
// Parameters:
|
||||
// resourceGroupName - the name of the resource group. The name is case insensitive.
|
||||
// resourceName - the name of the OpenShift cluster resource.
|
||||
// childResourceName - the name of the SyncSet resource.
|
||||
func (client SyncSetsClient) Delete(ctx context.Context, resourceGroupName string, resourceName string, childResourceName string) (result autorest.Response, err error) {
|
||||
if tracing.IsEnabled() {
|
||||
ctx = tracing.StartSpan(ctx, fqdn+"/SyncSetsClient.Delete")
|
||||
defer func() {
|
||||
sc := -1
|
||||
if result.Response != nil {
|
||||
sc = result.Response.StatusCode
|
||||
}
|
||||
tracing.EndSpan(ctx, sc, err)
|
||||
}()
|
||||
}
|
||||
if err := validation.Validate([]validation.Validation{
|
||||
{TargetValue: client.SubscriptionID,
|
||||
Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}},
|
||||
{TargetValue: resourceGroupName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
|
||||
{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}},
|
||||
{TargetValue: resourceName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceName", Name: validation.MaxLength, Rule: 63, Chain: nil},
|
||||
{Target: "resourceName", Name: validation.MinLength, Rule: 1, Chain: nil},
|
||||
{Target: "resourceName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$`, Chain: nil}}},
|
||||
{TargetValue: childResourceName,
|
||||
Constraints: []validation.Constraint{{Target: "childResourceName", Name: validation.MaxLength, Rule: 63, Chain: nil},
|
||||
{Target: "childResourceName", Name: validation.MinLength, Rule: 1, Chain: nil},
|
||||
{Target: "childResourceName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$`, Chain: nil}}}}); err != nil {
|
||||
return result, validation.NewError("redhatopenshift.SyncSetsClient", "Delete", err.Error())
|
||||
}
|
||||
|
||||
req, err := client.DeletePreparer(ctx, resourceGroupName, resourceName, childResourceName)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.SyncSetsClient", "Delete", nil, "Failure preparing request")
|
||||
return
|
||||
}
|
||||
|
||||
resp, err := client.DeleteSender(req)
|
||||
if err != nil {
|
||||
result.Response = resp
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.SyncSetsClient", "Delete", resp, "Failure sending request")
|
||||
return
|
||||
}
|
||||
|
||||
result, err = client.DeleteResponder(resp)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.SyncSetsClient", "Delete", resp, "Failure responding to request")
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// DeletePreparer prepares the Delete request.
|
||||
func (client SyncSetsClient) DeletePreparer(ctx context.Context, resourceGroupName string, resourceName string, childResourceName string) (*http.Request, error) {
|
||||
pathParameters := map[string]interface{}{
|
||||
"childResourceName": autorest.Encode("path", childResourceName),
|
||||
"resourceGroupName": autorest.Encode("path", resourceGroupName),
|
||||
"resourceName": autorest.Encode("path", resourceName),
|
||||
"subscriptionId": autorest.Encode("path", client.SubscriptionID),
|
||||
}
|
||||
|
||||
const APIVersion = "2023-07-01-preview"
|
||||
queryParameters := map[string]interface{}{
|
||||
"api-version": APIVersion,
|
||||
}
|
||||
|
||||
preparer := autorest.CreatePreparer(
|
||||
autorest.AsDelete(),
|
||||
autorest.WithBaseURL(client.BaseURI),
|
||||
autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openshiftclusters/{resourceName}/syncSet/{childResourceName}", pathParameters),
|
||||
autorest.WithQueryParameters(queryParameters))
|
||||
return preparer.Prepare((&http.Request{}).WithContext(ctx))
|
||||
}
|
||||
|
||||
// DeleteSender sends the Delete request. The method will close the
|
||||
// http.Response Body if it receives an error.
|
||||
func (client SyncSetsClient) DeleteSender(req *http.Request) (*http.Response, error) {
|
||||
return client.Send(req, azure.DoRetryWithRegistration(client.Client))
|
||||
}
|
||||
|
||||
// DeleteResponder handles the response to the Delete request. The method always
|
||||
// closes the http.Response Body.
|
||||
func (client SyncSetsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) {
|
||||
err = autorest.Respond(
|
||||
resp,
|
||||
azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent),
|
||||
autorest.ByClosing())
|
||||
result.Response = resp
|
||||
return
|
||||
}
|
||||
|
||||
// Get the operation returns properties of a SyncSet.
|
||||
// Parameters:
|
||||
// resourceGroupName - the name of the resource group. The name is case insensitive.
|
||||
// resourceName - the name of the OpenShift cluster resource.
|
||||
// childResourceName - the name of the SyncSet resource.
|
||||
func (client SyncSetsClient) Get(ctx context.Context, resourceGroupName string, resourceName string, childResourceName string) (result SyncSet, err error) {
|
||||
if tracing.IsEnabled() {
|
||||
ctx = tracing.StartSpan(ctx, fqdn+"/SyncSetsClient.Get")
|
||||
defer func() {
|
||||
sc := -1
|
||||
if result.Response.Response != nil {
|
||||
sc = result.Response.Response.StatusCode
|
||||
}
|
||||
tracing.EndSpan(ctx, sc, err)
|
||||
}()
|
||||
}
|
||||
if err := validation.Validate([]validation.Validation{
|
||||
{TargetValue: client.SubscriptionID,
|
||||
Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}},
|
||||
{TargetValue: resourceGroupName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
|
||||
{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}},
|
||||
{TargetValue: resourceName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceName", Name: validation.MaxLength, Rule: 63, Chain: nil},
|
||||
{Target: "resourceName", Name: validation.MinLength, Rule: 1, Chain: nil},
|
||||
{Target: "resourceName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$`, Chain: nil}}},
|
||||
{TargetValue: childResourceName,
|
||||
Constraints: []validation.Constraint{{Target: "childResourceName", Name: validation.MaxLength, Rule: 63, Chain: nil},
|
||||
{Target: "childResourceName", Name: validation.MinLength, Rule: 1, Chain: nil},
|
||||
{Target: "childResourceName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$`, Chain: nil}}}}); err != nil {
|
||||
return result, validation.NewError("redhatopenshift.SyncSetsClient", "Get", err.Error())
|
||||
}
|
||||
|
||||
req, err := client.GetPreparer(ctx, resourceGroupName, resourceName, childResourceName)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.SyncSetsClient", "Get", nil, "Failure preparing request")
|
||||
return
|
||||
}
|
||||
|
||||
resp, err := client.GetSender(req)
|
||||
if err != nil {
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.SyncSetsClient", "Get", resp, "Failure sending request")
|
||||
return
|
||||
}
|
||||
|
||||
result, err = client.GetResponder(resp)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.SyncSetsClient", "Get", resp, "Failure responding to request")
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// GetPreparer prepares the Get request.
|
||||
func (client SyncSetsClient) GetPreparer(ctx context.Context, resourceGroupName string, resourceName string, childResourceName string) (*http.Request, error) {
|
||||
pathParameters := map[string]interface{}{
|
||||
"childResourceName": autorest.Encode("path", childResourceName),
|
||||
"resourceGroupName": autorest.Encode("path", resourceGroupName),
|
||||
"resourceName": autorest.Encode("path", resourceName),
|
||||
"subscriptionId": autorest.Encode("path", client.SubscriptionID),
|
||||
}
|
||||
|
||||
const APIVersion = "2023-07-01-preview"
|
||||
queryParameters := map[string]interface{}{
|
||||
"api-version": APIVersion,
|
||||
}
|
||||
|
||||
preparer := autorest.CreatePreparer(
|
||||
autorest.AsGet(),
|
||||
autorest.WithBaseURL(client.BaseURI),
|
||||
autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openshiftclusters/{resourceName}/syncSet/{childResourceName}", pathParameters),
|
||||
autorest.WithQueryParameters(queryParameters))
|
||||
return preparer.Prepare((&http.Request{}).WithContext(ctx))
|
||||
}
|
||||
|
||||
// GetSender sends the Get request. The method will close the
|
||||
// http.Response Body if it receives an error.
|
||||
func (client SyncSetsClient) GetSender(req *http.Request) (*http.Response, error) {
|
||||
return client.Send(req, azure.DoRetryWithRegistration(client.Client))
|
||||
}
|
||||
|
||||
// GetResponder handles the response to the Get request. The method always
|
||||
// closes the http.Response Body.
|
||||
func (client SyncSetsClient) GetResponder(resp *http.Response) (result SyncSet, err error) {
|
||||
err = autorest.Respond(
|
||||
resp,
|
||||
azure.WithErrorUnlessStatusCode(http.StatusOK),
|
||||
autorest.ByUnmarshallingJSON(&result),
|
||||
autorest.ByClosing())
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
return
|
||||
}
|
||||
|
||||
// List the operation returns properties of each SyncSet.
|
||||
// Parameters:
|
||||
// resourceGroupName - the name of the resource group. The name is case insensitive.
|
||||
// resourceName - the name of the OpenShift cluster resource.
|
||||
func (client SyncSetsClient) List(ctx context.Context, resourceGroupName string, resourceName string) (result SyncSetListPage, err error) {
|
||||
if tracing.IsEnabled() {
|
||||
ctx = tracing.StartSpan(ctx, fqdn+"/SyncSetsClient.List")
|
||||
defer func() {
|
||||
sc := -1
|
||||
if result.ssl.Response.Response != nil {
|
||||
sc = result.ssl.Response.Response.StatusCode
|
||||
}
|
||||
tracing.EndSpan(ctx, sc, err)
|
||||
}()
|
||||
}
|
||||
if err := validation.Validate([]validation.Validation{
|
||||
{TargetValue: client.SubscriptionID,
|
||||
Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}},
|
||||
{TargetValue: resourceGroupName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
|
||||
{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}},
|
||||
{TargetValue: resourceName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceName", Name: validation.MaxLength, Rule: 63, Chain: nil},
|
||||
{Target: "resourceName", Name: validation.MinLength, Rule: 1, Chain: nil},
|
||||
{Target: "resourceName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$`, Chain: nil}}}}); err != nil {
|
||||
return result, validation.NewError("redhatopenshift.SyncSetsClient", "List", err.Error())
|
||||
}
|
||||
|
||||
result.fn = client.listNextResults
|
||||
req, err := client.ListPreparer(ctx, resourceGroupName, resourceName)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.SyncSetsClient", "List", nil, "Failure preparing request")
|
||||
return
|
||||
}
|
||||
|
||||
resp, err := client.ListSender(req)
|
||||
if err != nil {
|
||||
result.ssl.Response = autorest.Response{Response: resp}
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.SyncSetsClient", "List", resp, "Failure sending request")
|
||||
return
|
||||
}
|
||||
|
||||
result.ssl, err = client.ListResponder(resp)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.SyncSetsClient", "List", resp, "Failure responding to request")
|
||||
return
|
||||
}
|
||||
if result.ssl.hasNextLink() && result.ssl.IsEmpty() {
|
||||
err = result.NextWithContext(ctx)
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// ListPreparer prepares the List request.
|
||||
func (client SyncSetsClient) ListPreparer(ctx context.Context, resourceGroupName string, resourceName string) (*http.Request, error) {
|
||||
pathParameters := map[string]interface{}{
|
||||
"resourceGroupName": autorest.Encode("path", resourceGroupName),
|
||||
"resourceName": autorest.Encode("path", resourceName),
|
||||
"subscriptionId": autorest.Encode("path", client.SubscriptionID),
|
||||
}
|
||||
|
||||
const APIVersion = "2023-07-01-preview"
|
||||
queryParameters := map[string]interface{}{
|
||||
"api-version": APIVersion,
|
||||
}
|
||||
|
||||
preparer := autorest.CreatePreparer(
|
||||
autorest.AsGet(),
|
||||
autorest.WithBaseURL(client.BaseURI),
|
||||
autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openShiftCluster/{resourceName}/syncSets", pathParameters),
|
||||
autorest.WithQueryParameters(queryParameters))
|
||||
return preparer.Prepare((&http.Request{}).WithContext(ctx))
|
||||
}
|
||||
|
||||
// ListSender sends the List request. The method will close the
|
||||
// http.Response Body if it receives an error.
|
||||
func (client SyncSetsClient) ListSender(req *http.Request) (*http.Response, error) {
|
||||
return client.Send(req, azure.DoRetryWithRegistration(client.Client))
|
||||
}
|
||||
|
||||
// ListResponder handles the response to the List request. The method always
|
||||
// closes the http.Response Body.
|
||||
func (client SyncSetsClient) ListResponder(resp *http.Response) (result SyncSetList, err error) {
|
||||
err = autorest.Respond(
|
||||
resp,
|
||||
azure.WithErrorUnlessStatusCode(http.StatusOK),
|
||||
autorest.ByUnmarshallingJSON(&result),
|
||||
autorest.ByClosing())
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
return
|
||||
}
|
||||
|
||||
// listNextResults retrieves the next set of results, if any.
|
||||
func (client SyncSetsClient) listNextResults(ctx context.Context, lastResults SyncSetList) (result SyncSetList, err error) {
|
||||
req, err := lastResults.syncSetListPreparer(ctx)
|
||||
if err != nil {
|
||||
return result, autorest.NewErrorWithError(err, "redhatopenshift.SyncSetsClient", "listNextResults", nil, "Failure preparing next results request")
|
||||
}
|
||||
if req == nil {
|
||||
return
|
||||
}
|
||||
resp, err := client.ListSender(req)
|
||||
if err != nil {
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
return result, autorest.NewErrorWithError(err, "redhatopenshift.SyncSetsClient", "listNextResults", resp, "Failure sending next results request")
|
||||
}
|
||||
result, err = client.ListResponder(resp)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.SyncSetsClient", "listNextResults", resp, "Failure responding to next results request")
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// ListComplete enumerates all values, automatically crossing page boundaries as required.
|
||||
func (client SyncSetsClient) ListComplete(ctx context.Context, resourceGroupName string, resourceName string) (result SyncSetListIterator, err error) {
|
||||
if tracing.IsEnabled() {
|
||||
ctx = tracing.StartSpan(ctx, fqdn+"/SyncSetsClient.List")
|
||||
defer func() {
|
||||
sc := -1
|
||||
if result.Response().Response.Response != nil {
|
||||
sc = result.page.Response().Response.Response.StatusCode
|
||||
}
|
||||
tracing.EndSpan(ctx, sc, err)
|
||||
}()
|
||||
}
|
||||
result.page, err = client.List(ctx, resourceGroupName, resourceName)
|
||||
return
|
||||
}
|
||||
|
||||
// Update the operation returns properties of a SyncSet.
|
||||
// Parameters:
|
||||
// resourceGroupName - the name of the resource group. The name is case insensitive.
|
||||
// resourceName - the name of the OpenShift cluster resource.
|
||||
// childResourceName - the name of the SyncSet resource.
|
||||
// parameters - the SyncSet resource.
|
||||
func (client SyncSetsClient) Update(ctx context.Context, resourceGroupName string, resourceName string, childResourceName string, parameters SyncSetUpdate) (result SyncSet, err error) {
|
||||
if tracing.IsEnabled() {
|
||||
ctx = tracing.StartSpan(ctx, fqdn+"/SyncSetsClient.Update")
|
||||
defer func() {
|
||||
sc := -1
|
||||
if result.Response.Response != nil {
|
||||
sc = result.Response.Response.StatusCode
|
||||
}
|
||||
tracing.EndSpan(ctx, sc, err)
|
||||
}()
|
||||
}
|
||||
if err := validation.Validate([]validation.Validation{
|
||||
{TargetValue: client.SubscriptionID,
|
||||
Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}},
|
||||
{TargetValue: resourceGroupName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
|
||||
{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}},
|
||||
{TargetValue: resourceName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceName", Name: validation.MaxLength, Rule: 63, Chain: nil},
|
||||
{Target: "resourceName", Name: validation.MinLength, Rule: 1, Chain: nil},
|
||||
{Target: "resourceName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$`, Chain: nil}}},
|
||||
{TargetValue: childResourceName,
|
||||
Constraints: []validation.Constraint{{Target: "childResourceName", Name: validation.MaxLength, Rule: 63, Chain: nil},
|
||||
{Target: "childResourceName", Name: validation.MinLength, Rule: 1, Chain: nil},
|
||||
{Target: "childResourceName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$`, Chain: nil}}}}); err != nil {
|
||||
return result, validation.NewError("redhatopenshift.SyncSetsClient", "Update", err.Error())
|
||||
}
|
||||
|
||||
req, err := client.UpdatePreparer(ctx, resourceGroupName, resourceName, childResourceName, parameters)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.SyncSetsClient", "Update", nil, "Failure preparing request")
|
||||
return
|
||||
}
|
||||
|
||||
resp, err := client.UpdateSender(req)
|
||||
if err != nil {
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.SyncSetsClient", "Update", resp, "Failure sending request")
|
||||
return
|
||||
}
|
||||
|
||||
result, err = client.UpdateResponder(resp)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "redhatopenshift.SyncSetsClient", "Update", resp, "Failure responding to request")
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// UpdatePreparer prepares the Update request.
|
||||
func (client SyncSetsClient) UpdatePreparer(ctx context.Context, resourceGroupName string, resourceName string, childResourceName string, parameters SyncSetUpdate) (*http.Request, error) {
|
||||
pathParameters := map[string]interface{}{
|
||||
"childResourceName": autorest.Encode("path", childResourceName),
|
||||
"resourceGroupName": autorest.Encode("path", resourceGroupName),
|
||||
"resourceName": autorest.Encode("path", resourceName),
|
||||
"subscriptionId": autorest.Encode("path", client.SubscriptionID),
|
||||
}
|
||||
|
||||
const APIVersion = "2023-07-01-preview"
|
||||
queryParameters := map[string]interface{}{
|
||||
"api-version": APIVersion,
|
||||
}
|
||||
|
||||
parameters.SystemData = nil
|
||||
preparer := autorest.CreatePreparer(
|
||||
autorest.AsContentType("application/json; charset=utf-8"),
|
||||
autorest.AsPatch(),
|
||||
autorest.WithBaseURL(client.BaseURI),
|
||||
autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openshiftclusters/{resourceName}/syncSet/{childResourceName}", pathParameters),
|
||||
autorest.WithJSON(parameters),
|
||||
autorest.WithQueryParameters(queryParameters))
|
||||
return preparer.Prepare((&http.Request{}).WithContext(ctx))
|
||||
}
|
||||
|
||||
// UpdateSender sends the Update request. The method will close the
|
||||
// http.Response Body if it receives an error.
|
||||
func (client SyncSetsClient) UpdateSender(req *http.Request) (*http.Response, error) {
|
||||
return client.Send(req, azure.DoRetryWithRegistration(client.Client))
|
||||
}
|
||||
|
||||
// UpdateResponder handles the response to the Update request. The method always
|
||||
// closes the http.Response Body.
|
||||
func (client SyncSetsClient) UpdateResponder(resp *http.Response) (result SyncSet, err error) {
|
||||
err = autorest.Respond(
|
||||
resp,
|
||||
azure.WithErrorUnlessStatusCode(http.StatusOK),
|
||||
autorest.ByUnmarshallingJSON(&result),
|
||||
autorest.ByClosing())
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
return
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
package redhatopenshift
|
||||
|
||||
// Copyright (c) Microsoft and contributors. All rights reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
//
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
// Code generated by Microsoft (R) AutoRest Code Generator.
|
||||
// Changes may cause incorrect behavior and will be lost if the code is regenerated.
|
||||
|
||||
// UserAgent returns the UserAgent string to use when sending http.Requests.
|
||||
func UserAgent() string {
|
||||
return "Azure-SDK-For-Go/" + Version() + " redhatopenshift/2023-07-01-preview"
|
||||
}
|
||||
|
||||
// Version returns the semantic version (see http://semver.org) of the client.
|
||||
func Version() string {
|
||||
return "0.0.0"
|
||||
}
|
|
@ -12,6 +12,7 @@ import (
|
|||
v20220401 "github.com/Azure/ARO-RP/pkg/api/v20220401"
|
||||
v20220904 "github.com/Azure/ARO-RP/pkg/api/v20220904"
|
||||
v20230401 "github.com/Azure/ARO-RP/pkg/api/v20230401"
|
||||
v20230701preview "github.com/Azure/ARO-RP/pkg/api/v20230701preview"
|
||||
)
|
||||
|
||||
const apiv20200430Path = "github.com/Azure/ARO-RP/pkg/api/v20200430"
|
||||
|
@ -19,6 +20,7 @@ const apiv20210901previewPath = "github.com/Azure/ARO-RP/pkg/api/v20210901previe
|
|||
const apiv20220401Path = "github.com/Azure/ARO-RP/pkg/api/v20220401"
|
||||
const apiv20220904Path = "github.com/Azure/ARO-RP/pkg/api/v20220904"
|
||||
const apiv20230401Path = "github.com/Azure/ARO-RP/pkg/api/v20230401"
|
||||
const apiv20230701previewPath = "github.com/Azure/ARO-RP/pkg/api/v20230701preview"
|
||||
|
||||
type generator struct {
|
||||
exampleSyncSetPutParameter func() interface{}
|
||||
|
@ -169,6 +171,41 @@ var apis = map[string]*generator{
|
|||
installVersionList: true,
|
||||
kubeConfig: true,
|
||||
},
|
||||
apiv20230701previewPath: {
|
||||
exampleSyncSetPutParameter: v20230701preview.ExampleSyncSetPutParameter,
|
||||
exampleSyncSetPatchParameter: v20230701preview.ExampleSyncSetPatchParameter,
|
||||
exampleSyncSetResponse: v20230701preview.ExampleSyncSetResponse,
|
||||
exampleSyncSetListResponse: v20230701preview.ExampleSyncSetListResponse,
|
||||
exampleMachinePoolPutParameter: v20230701preview.ExampleMachinePoolPutParameter,
|
||||
exampleMachinePoolPatchParameter: v20230701preview.ExampleMachinePoolPatchParameter,
|
||||
exampleMachinePoolResponse: v20230701preview.ExampleMachinePoolResponse,
|
||||
exampleMachinePoolListResponse: v20230701preview.ExampleMachinePoolListResponse,
|
||||
exampleSyncIdentityProviderPutParameter: v20230701preview.ExampleSyncIdentityProviderPutParameter,
|
||||
exampleSyncIdentityProviderPatchParameter: v20230701preview.ExampleSyncIdentityProviderPatchParameter,
|
||||
exampleSyncIdentityProviderResponse: v20230701preview.ExampleSyncIdentityProviderResponse,
|
||||
exampleSyncIdentityProviderListResponse: v20230701preview.ExampleSyncIdentityProviderListResponse,
|
||||
exampleSecretPutParameter: v20230701preview.ExampleSecretPutParameter,
|
||||
exampleSecretPatchParameter: v20230701preview.ExampleSecretPatchParameter,
|
||||
exampleSecretResponse: v20230701preview.ExampleSecretResponse,
|
||||
exampleSecretListResponse: v20230701preview.ExampleSecretListResponse,
|
||||
exampleOpenShiftClusterPutParameter: v20230701preview.ExampleOpenShiftClusterPutParameter,
|
||||
exampleOpenShiftClusterPatchParameter: v20230701preview.ExampleOpenShiftClusterPatchParameter,
|
||||
exampleOpenShiftClusterResponse: v20230701preview.ExampleOpenShiftClusterResponse,
|
||||
exampleOpenShiftClusterCredentialsResponse: v20230701preview.ExampleOpenShiftClusterCredentialsResponse,
|
||||
exampleOpenShiftClusterListResponse: v20230701preview.ExampleOpenShiftClusterListResponse,
|
||||
exampleOpenShiftClusterAdminKubeconfigResponse: v20230701preview.ExampleOpenShiftClusterAdminKubeconfigResponse,
|
||||
exampleOpenShiftVersionListResponse: v20230701preview.ExampleOpenShiftVersionListResponse,
|
||||
exampleOperationListResponse: api.ExampleOperationListResponse,
|
||||
|
||||
xmsEnum: []string{"EncryptionAtHost", "FipsValidatedModules", "SoftwareDefinedNetwork", "Visibility"},
|
||||
xmsSecretList: []string{"kubeconfig", "kubeadminPassword", "secretResources"},
|
||||
xmsIdentifiers: []string{},
|
||||
commonTypesVersion: "v3",
|
||||
systemData: true,
|
||||
clusterManager: true,
|
||||
installVersionList: true,
|
||||
kubeConfig: true,
|
||||
},
|
||||
}
|
||||
|
||||
func New(api string) (*generator, error) {
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
# coding=utf-8
|
||||
# --------------------------------------------------------------------------
|
||||
# Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code is regenerated.
|
||||
# --------------------------------------------------------------------------
|
||||
|
||||
from ._azure_red_hat_open_shift_client import AzureRedHatOpenShiftClient
|
||||
__all__ = ['AzureRedHatOpenShiftClient']
|
||||
|
||||
# `._patch.py` is used for handwritten extensions to the generated code
|
||||
# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md
|
||||
from ._patch import patch_sdk
|
||||
patch_sdk()
|
|
@ -0,0 +1,132 @@
|
|||
# coding=utf-8
|
||||
# --------------------------------------------------------------------------
|
||||
# Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code is regenerated.
|
||||
# --------------------------------------------------------------------------
|
||||
|
||||
from copy import deepcopy
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
from msrest import Deserializer, Serializer
|
||||
|
||||
from azure.mgmt.core import ARMPipelineClient
|
||||
|
||||
from . import models
|
||||
from ._configuration import AzureRedHatOpenShiftClientConfiguration
|
||||
from .operations import MachinePoolsOperations, OpenShiftClustersOperations, OpenShiftVersionsOperations, Operations, SecretsOperations, SyncIdentityProvidersOperations, SyncSetsOperations
|
||||
|
||||
if TYPE_CHECKING:
|
||||
# pylint: disable=unused-import,ungrouped-imports
|
||||
from typing import Any
|
||||
|
||||
from azure.core.credentials import TokenCredential
|
||||
from azure.core.rest import HttpRequest, HttpResponse
|
||||
|
||||
class AzureRedHatOpenShiftClient(object): # pylint: disable=too-many-instance-attributes
|
||||
"""Rest API for Azure Red Hat OpenShift 4.
|
||||
|
||||
:ivar operations: Operations operations
|
||||
:vartype operations: azure.mgmt.redhatopenshift.v2023_07_01_preview.operations.Operations
|
||||
:ivar open_shift_versions: OpenShiftVersionsOperations operations
|
||||
:vartype open_shift_versions:
|
||||
azure.mgmt.redhatopenshift.v2023_07_01_preview.operations.OpenShiftVersionsOperations
|
||||
:ivar open_shift_clusters: OpenShiftClustersOperations operations
|
||||
:vartype open_shift_clusters:
|
||||
azure.mgmt.redhatopenshift.v2023_07_01_preview.operations.OpenShiftClustersOperations
|
||||
:ivar machine_pools: MachinePoolsOperations operations
|
||||
:vartype machine_pools:
|
||||
azure.mgmt.redhatopenshift.v2023_07_01_preview.operations.MachinePoolsOperations
|
||||
:ivar secrets: SecretsOperations operations
|
||||
:vartype secrets: azure.mgmt.redhatopenshift.v2023_07_01_preview.operations.SecretsOperations
|
||||
:ivar sync_identity_providers: SyncIdentityProvidersOperations operations
|
||||
:vartype sync_identity_providers:
|
||||
azure.mgmt.redhatopenshift.v2023_07_01_preview.operations.SyncIdentityProvidersOperations
|
||||
:ivar sync_sets: SyncSetsOperations operations
|
||||
:vartype sync_sets:
|
||||
azure.mgmt.redhatopenshift.v2023_07_01_preview.operations.SyncSetsOperations
|
||||
:param credential: Credential needed for the client to connect to Azure.
|
||||
:type credential: ~azure.core.credentials.TokenCredential
|
||||
:param subscription_id: The ID of the target subscription.
|
||||
:type subscription_id: str
|
||||
:param base_url: Service URL. Default value is 'https://management.azure.com'.
|
||||
:type base_url: str
|
||||
:keyword api_version: Api Version. The default value is "2023-07-01-preview". Note that
|
||||
overriding this default value may result in unsupported behavior.
|
||||
:paramtype api_version: str
|
||||
:keyword int polling_interval: Default waiting time between two polls for LRO operations if no
|
||||
Retry-After header is present.
|
||||
"""
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
credential, # type: "TokenCredential"
|
||||
subscription_id, # type: str
|
||||
base_url="https://management.azure.com", # type: str
|
||||
**kwargs # type: Any
|
||||
):
|
||||
# type: (...) -> None
|
||||
self._config = AzureRedHatOpenShiftClientConfiguration(credential=credential, subscription_id=subscription_id, **kwargs)
|
||||
self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs)
|
||||
|
||||
client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)}
|
||||
self._serialize = Serializer(client_models)
|
||||
self._deserialize = Deserializer(client_models)
|
||||
self._serialize.client_side_validation = False
|
||||
self.operations = Operations(self._client, self._config, self._serialize, self._deserialize)
|
||||
self.open_shift_versions = OpenShiftVersionsOperations(self._client, self._config, self._serialize, self._deserialize)
|
||||
self.open_shift_clusters = OpenShiftClustersOperations(self._client, self._config, self._serialize, self._deserialize)
|
||||
self.machine_pools = MachinePoolsOperations(self._client, self._config, self._serialize, self._deserialize)
|
||||
self.secrets = SecretsOperations(self._client, self._config, self._serialize, self._deserialize)
|
||||
self.sync_identity_providers = SyncIdentityProvidersOperations(self._client, self._config, self._serialize, self._deserialize)
|
||||
self.sync_sets = SyncSetsOperations(self._client, self._config, self._serialize, self._deserialize)
|
||||
|
||||
|
||||
def _send_request(
|
||||
self,
|
||||
request, # type: HttpRequest
|
||||
**kwargs # type: Any
|
||||
):
|
||||
# type: (...) -> HttpResponse
|
||||
"""Runs the network request through the client's chained policies.
|
||||
|
||||
>>> from azure.core.rest import HttpRequest
|
||||
>>> request = HttpRequest("GET", "https://www.example.org/")
|
||||
<HttpRequest [GET], url: 'https://www.example.org/'>
|
||||
>>> response = client._send_request(request)
|
||||
<HttpResponse: 200 OK>
|
||||
|
||||
For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart
|
||||
|
||||
:param request: The network request you want to make. Required.
|
||||
:type request: ~azure.core.rest.HttpRequest
|
||||
:keyword bool stream: Whether the response payload will be streamed. Defaults to False.
|
||||
:return: The response of your network call. Does not do error handling on your response.
|
||||
:rtype: ~azure.core.rest.HttpResponse
|
||||
"""
|
||||
|
||||
request_copy = deepcopy(request)
|
||||
request_copy.url = self._client.format_url(request_copy.url)
|
||||
return self._client.send_request(request_copy, **kwargs)
|
||||
|
||||
def close(self):
|
||||
# type: () -> None
|
||||
self._client.close()
|
||||
|
||||
def __enter__(self):
|
||||
# type: () -> AzureRedHatOpenShiftClient
|
||||
self._client.__enter__()
|
||||
return self
|
||||
|
||||
def __exit__(self, *exc_details):
|
||||
# type: (Any) -> None
|
||||
self._client.__exit__(*exc_details)
|
|
@ -0,0 +1,83 @@
|
|||
# coding=utf-8
|
||||
# --------------------------------------------------------------------------
|
||||
# Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code is regenerated.
|
||||
# --------------------------------------------------------------------------
|
||||
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
from azure.core.configuration import Configuration
|
||||
from azure.core.pipeline import policies
|
||||
from azure.mgmt.core.policies import ARMChallengeAuthenticationPolicy, ARMHttpLoggingPolicy
|
||||
|
||||
if TYPE_CHECKING:
|
||||
# pylint: disable=unused-import,ungrouped-imports
|
||||
from typing import Any
|
||||
|
||||
from azure.core.credentials import TokenCredential
|
||||
|
||||
VERSION = "unknown"
|
||||
|
||||
class AzureRedHatOpenShiftClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes
|
||||
"""Configuration for AzureRedHatOpenShiftClient.
|
||||
|
||||
Note that all parameters used to create this instance are saved as instance
|
||||
attributes.
|
||||
|
||||
:param credential: Credential needed for the client to connect to Azure.
|
||||
:type credential: ~azure.core.credentials.TokenCredential
|
||||
:param subscription_id: The ID of the target subscription.
|
||||
:type subscription_id: str
|
||||
:keyword api_version: Api Version. The default value is "2023-07-01-preview". Note that
|
||||
overriding this default value may result in unsupported behavior.
|
||||
:paramtype api_version: str
|
||||
"""
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
credential, # type: "TokenCredential"
|
||||
subscription_id, # type: str
|
||||
**kwargs # type: Any
|
||||
):
|
||||
# type: (...) -> None
|
||||
super(AzureRedHatOpenShiftClientConfiguration, self).__init__(**kwargs)
|
||||
api_version = kwargs.pop('api_version', "2023-07-01-preview") # type: str
|
||||
|
||||
if credential is None:
|
||||
raise ValueError("Parameter 'credential' must not be None.")
|
||||
if subscription_id is None:
|
||||
raise ValueError("Parameter 'subscription_id' must not be None.")
|
||||
|
||||
self.credential = credential
|
||||
self.subscription_id = subscription_id
|
||||
self.api_version = api_version
|
||||
self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default'])
|
||||
kwargs.setdefault('sdk_moniker', 'azureredhatopenshiftclient/{}'.format(VERSION))
|
||||
self._configure(**kwargs)
|
||||
|
||||
def _configure(
|
||||
self,
|
||||
**kwargs # type: Any
|
||||
):
|
||||
# type: (...) -> None
|
||||
self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs)
|
||||
self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs)
|
||||
self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs)
|
||||
self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs)
|
||||
self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs)
|
||||
self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs)
|
||||
self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs)
|
||||
self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs)
|
||||
self.authentication_policy = kwargs.get('authentication_policy')
|
||||
if self.credential and not self.authentication_policy:
|
||||
self.authentication_policy = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs)
|
|
@ -0,0 +1,31 @@
|
|||
# coding=utf-8
|
||||
# --------------------------------------------------------------------------
|
||||
#
|
||||
# Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
#
|
||||
# The MIT License (MIT)
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the ""Software""), to
|
||||
# deal in the Software without restriction, including without limitation the
|
||||
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
# sell copies of the Software, and to permit persons to whom the Software is
|
||||
# furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in
|
||||
# all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||
# IN THE SOFTWARE.
|
||||
#
|
||||
# --------------------------------------------------------------------------
|
||||
|
||||
# This file is used for handwritten extensions to the generated code. Example:
|
||||
# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md
|
||||
def patch_sdk():
|
||||
pass
|
|
@ -0,0 +1,35 @@
|
|||
# --------------------------------------------------------------------------
|
||||
# Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code is regenerated.
|
||||
# --------------------------------------------------------------------------
|
||||
|
||||
from azure.core.pipeline.transport import HttpRequest
|
||||
|
||||
def _convert_request(request, files=None):
|
||||
data = request.content if not files else None
|
||||
request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data)
|
||||
if files:
|
||||
request.set_formdata_body(files)
|
||||
return request
|
||||
|
||||
def _format_url_section(template, **kwargs):
|
||||
components = template.split("/")
|
||||
while components:
|
||||
try:
|
||||
return template.format(**kwargs)
|
||||
except KeyError as key:
|
||||
formatted_components = template.split("/")
|
||||
components = [
|
||||
c for c in formatted_components if "{}".format(key.args[0]) not in c
|
||||
]
|
||||
template = "/".join(components)
|
|
@ -0,0 +1,141 @@
|
|||
# coding=utf-8
|
||||
# --------------------------------------------------------------------------
|
||||
# Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code is regenerated.
|
||||
# --------------------------------------------------------------------------
|
||||
|
||||
try:
|
||||
from ._models_py3 import APIServerProfile
|
||||
from ._models_py3 import CloudErrorBody
|
||||
from ._models_py3 import ClusterProfile
|
||||
from ._models_py3 import ConsoleProfile
|
||||
from ._models_py3 import Display
|
||||
from ._models_py3 import IngressProfile
|
||||
from ._models_py3 import MachinePool
|
||||
from ._models_py3 import MachinePoolList
|
||||
from ._models_py3 import MachinePoolUpdate
|
||||
from ._models_py3 import MasterProfile
|
||||
from ._models_py3 import NetworkProfile
|
||||
from ._models_py3 import OpenShiftCluster
|
||||
from ._models_py3 import OpenShiftClusterAdminKubeconfig
|
||||
from ._models_py3 import OpenShiftClusterCredentials
|
||||
from ._models_py3 import OpenShiftClusterList
|
||||
from ._models_py3 import OpenShiftClusterUpdate
|
||||
from ._models_py3 import OpenShiftVersion
|
||||
from ._models_py3 import OpenShiftVersionList
|
||||
from ._models_py3 import Operation
|
||||
from ._models_py3 import OperationList
|
||||
from ._models_py3 import ProxyResource
|
||||
from ._models_py3 import Resource
|
||||
from ._models_py3 import Secret
|
||||
from ._models_py3 import SecretList
|
||||
from ._models_py3 import SecretUpdate
|
||||
from ._models_py3 import ServicePrincipalProfile
|
||||
from ._models_py3 import SyncIdentityProvider
|
||||
from ._models_py3 import SyncIdentityProviderList
|
||||
from ._models_py3 import SyncIdentityProviderUpdate
|
||||
from ._models_py3 import SyncSet
|
||||
from ._models_py3 import SyncSetList
|
||||
from ._models_py3 import SyncSetUpdate
|
||||
from ._models_py3 import SystemData
|
||||
from ._models_py3 import TrackedResource
|
||||
from ._models_py3 import WorkerProfile
|
||||
except (SyntaxError, ImportError):
|
||||
from ._models import APIServerProfile # type: ignore
|
||||
from ._models import CloudErrorBody # type: ignore
|
||||
from ._models import ClusterProfile # type: ignore
|
||||
from ._models import ConsoleProfile # type: ignore
|
||||
from ._models import Display # type: ignore
|
||||
from ._models import IngressProfile # type: ignore
|
||||
from ._models import MachinePool # type: ignore
|
||||
from ._models import MachinePoolList # type: ignore
|
||||
from ._models import MachinePoolUpdate # type: ignore
|
||||
from ._models import MasterProfile # type: ignore
|
||||
from ._models import NetworkProfile # type: ignore
|
||||
from ._models import OpenShiftCluster # type: ignore
|
||||
from ._models import OpenShiftClusterAdminKubeconfig # type: ignore
|
||||
from ._models import OpenShiftClusterCredentials # type: ignore
|
||||
from ._models import OpenShiftClusterList # type: ignore
|
||||
from ._models import OpenShiftClusterUpdate # type: ignore
|
||||
from ._models import OpenShiftVersion # type: ignore
|
||||
from ._models import OpenShiftVersionList # type: ignore
|
||||
from ._models import Operation # type: ignore
|
||||
from ._models import OperationList # type: ignore
|
||||
from ._models import ProxyResource # type: ignore
|
||||
from ._models import Resource # type: ignore
|
||||
from ._models import Secret # type: ignore
|
||||
from ._models import SecretList # type: ignore
|
||||
from ._models import SecretUpdate # type: ignore
|
||||
from ._models import ServicePrincipalProfile # type: ignore
|
||||
from ._models import SyncIdentityProvider # type: ignore
|
||||
from ._models import SyncIdentityProviderList # type: ignore
|
||||
from ._models import SyncIdentityProviderUpdate # type: ignore
|
||||
from ._models import SyncSet # type: ignore
|
||||
from ._models import SyncSetList # type: ignore
|
||||
from ._models import SyncSetUpdate # type: ignore
|
||||
from ._models import SystemData # type: ignore
|
||||
from ._models import TrackedResource # type: ignore
|
||||
from ._models import WorkerProfile # type: ignore
|
||||
|
||||
from ._azure_red_hat_open_shift_client_enums import (
|
||||
CreatedByType,
|
||||
EncryptionAtHost,
|
||||
FipsValidatedModules,
|
||||
OutboundType,
|
||||
ProvisioningState,
|
||||
Visibility,
|
||||
)
|
||||
|
||||
__all__ = [
|
||||
'APIServerProfile',
|
||||
'CloudErrorBody',
|
||||
'ClusterProfile',
|
||||
'ConsoleProfile',
|
||||
'Display',
|
||||
'IngressProfile',
|
||||
'MachinePool',
|
||||
'MachinePoolList',
|
||||
'MachinePoolUpdate',
|
||||
'MasterProfile',
|
||||
'NetworkProfile',
|
||||
'OpenShiftCluster',
|
||||
'OpenShiftClusterAdminKubeconfig',
|
||||
'OpenShiftClusterCredentials',
|
||||
'OpenShiftClusterList',
|
||||
'OpenShiftClusterUpdate',
|
||||
'OpenShiftVersion',
|
||||
'OpenShiftVersionList',
|
||||
'Operation',
|
||||
'OperationList',
|
||||
'ProxyResource',
|
||||
'Resource',
|
||||
'Secret',
|
||||
'SecretList',
|
||||
'SecretUpdate',
|
||||
'ServicePrincipalProfile',
|
||||
'SyncIdentityProvider',
|
||||
'SyncIdentityProviderList',
|
||||
'SyncIdentityProviderUpdate',
|
||||
'SyncSet',
|
||||
'SyncSetList',
|
||||
'SyncSetUpdate',
|
||||
'SystemData',
|
||||
'TrackedResource',
|
||||
'WorkerProfile',
|
||||
'CreatedByType',
|
||||
'EncryptionAtHost',
|
||||
'FipsValidatedModules',
|
||||
'OutboundType',
|
||||
'ProvisioningState',
|
||||
'Visibility',
|
||||
]
|
|
@ -0,0 +1,66 @@
|
|||
# coding=utf-8
|
||||
# --------------------------------------------------------------------------
|
||||
# Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code is regenerated.
|
||||
# --------------------------------------------------------------------------
|
||||
|
||||
from enum import Enum
|
||||
from six import with_metaclass
|
||||
from azure.core import CaseInsensitiveEnumMeta
|
||||
|
||||
|
||||
class CreatedByType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)):
|
||||
"""The type of identity that created the resource.
|
||||
"""
|
||||
|
||||
USER = "User"
|
||||
APPLICATION = "Application"
|
||||
MANAGED_IDENTITY = "ManagedIdentity"
|
||||
KEY = "Key"
|
||||
|
||||
class EncryptionAtHost(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)):
|
||||
"""EncryptionAtHost represents encryption at host state
|
||||
"""
|
||||
|
||||
DISABLED = "Disabled"
|
||||
ENABLED = "Enabled"
|
||||
|
||||
class FipsValidatedModules(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)):
|
||||
"""FipsValidatedModules determines if FIPS is used.
|
||||
"""
|
||||
|
||||
DISABLED = "Disabled"
|
||||
ENABLED = "Enabled"
|
||||
|
||||
class OutboundType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)):
|
||||
|
||||
LOADBALANCER = "Loadbalancer"
|
||||
USER_DEFINED_ROUTING = "UserDefinedRouting"
|
||||
|
||||
class ProvisioningState(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)):
|
||||
"""ProvisioningState represents a provisioning state.
|
||||
"""
|
||||
|
||||
ADMIN_UPDATING = "AdminUpdating"
|
||||
CREATING = "Creating"
|
||||
DELETING = "Deleting"
|
||||
FAILED = "Failed"
|
||||
SUCCEEDED = "Succeeded"
|
||||
UPDATING = "Updating"
|
||||
|
||||
class Visibility(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)):
|
||||
"""Visibility represents visibility.
|
||||
"""
|
||||
|
||||
PRIVATE = "Private"
|
||||
PUBLIC = "Public"
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -0,0 +1,33 @@
|
|||
# coding=utf-8
|
||||
# --------------------------------------------------------------------------
|
||||
# Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code is regenerated.
|
||||
# --------------------------------------------------------------------------
|
||||
|
||||
from ._operations import Operations
|
||||
from ._open_shift_versions_operations import OpenShiftVersionsOperations
|
||||
from ._open_shift_clusters_operations import OpenShiftClustersOperations
|
||||
from ._machine_pools_operations import MachinePoolsOperations
|
||||
from ._secrets_operations import SecretsOperations
|
||||
from ._sync_identity_providers_operations import SyncIdentityProvidersOperations
|
||||
from ._sync_sets_operations import SyncSetsOperations
|
||||
|
||||
__all__ = [
|
||||
'Operations',
|
||||
'OpenShiftVersionsOperations',
|
||||
'OpenShiftClustersOperations',
|
||||
'MachinePoolsOperations',
|
||||
'SecretsOperations',
|
||||
'SyncIdentityProvidersOperations',
|
||||
'SyncSetsOperations',
|
||||
]
|
|
@ -0,0 +1,621 @@
|
|||
# pylint: disable=too-many-lines
|
||||
# coding=utf-8
|
||||
# --------------------------------------------------------------------------
|
||||
# Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code is regenerated.
|
||||
# --------------------------------------------------------------------------
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
from msrest import Serializer
|
||||
|
||||
from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
|
||||
from azure.core.paging import ItemPaged
|
||||
from azure.core.pipeline import PipelineResponse
|
||||
from azure.core.pipeline.transport import HttpResponse
|
||||
from azure.core.rest import HttpRequest
|
||||
from azure.core.tracing.decorator import distributed_trace
|
||||
from azure.mgmt.core.exceptions import ARMErrorFormat
|
||||
|
||||
from .. import models as _models
|
||||
from .._vendor import _convert_request, _format_url_section
|
||||
|
||||
if TYPE_CHECKING:
|
||||
# pylint: disable=unused-import,ungrouped-imports
|
||||
from typing import Any, Callable, Dict, Iterable, Optional, TypeVar
|
||||
T = TypeVar('T')
|
||||
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
|
||||
|
||||
_SERIALIZER = Serializer()
|
||||
_SERIALIZER.client_side_validation = False
|
||||
# fmt: off
|
||||
|
||||
def build_list_request(
|
||||
subscription_id, # type: str
|
||||
resource_group_name, # type: str
|
||||
resource_name, # type: str
|
||||
**kwargs # type: Any
|
||||
):
|
||||
# type: (...) -> HttpRequest
|
||||
api_version = kwargs.pop('api_version', "2023-07-01-preview") # type: str
|
||||
|
||||
accept = "application/json"
|
||||
# Construct URL
|
||||
_url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openShiftCluster/{resourceName}/machinePools") # pylint: disable=line-too-long
|
||||
path_format_arguments = {
|
||||
"subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
|
||||
"resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
|
||||
"resourceName": _SERIALIZER.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$'),
|
||||
}
|
||||
|
||||
_url = _format_url_section(_url, **path_format_arguments)
|
||||
|
||||
# Construct parameters
|
||||
_query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
|
||||
_query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
|
||||
|
||||
# Construct headers
|
||||
_header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
|
||||
_header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
|
||||
|
||||
return HttpRequest(
|
||||
method="GET",
|
||||
url=_url,
|
||||
params=_query_parameters,
|
||||
headers=_header_parameters,
|
||||
**kwargs
|
||||
)
|
||||
|
||||
|
||||
def build_get_request(
|
||||
subscription_id, # type: str
|
||||
resource_group_name, # type: str
|
||||
resource_name, # type: str
|
||||
child_resource_name, # type: str
|
||||
**kwargs # type: Any
|
||||
):
|
||||
# type: (...) -> HttpRequest
|
||||
api_version = kwargs.pop('api_version', "2023-07-01-preview") # type: str
|
||||
|
||||
accept = "application/json"
|
||||
# Construct URL
|
||||
_url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openshiftclusters/{resourceName}/machinePool/{childResourceName}") # pylint: disable=line-too-long
|
||||
path_format_arguments = {
|
||||
"subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
|
||||
"resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
|
||||
"resourceName": _SERIALIZER.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$'),
|
||||
"childResourceName": _SERIALIZER.url("child_resource_name", child_resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$'),
|
||||
}
|
||||
|
||||
_url = _format_url_section(_url, **path_format_arguments)
|
||||
|
||||
# Construct parameters
|
||||
_query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
|
||||
_query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
|
||||
|
||||
# Construct headers
|
||||
_header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
|
||||
_header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
|
||||
|
||||
return HttpRequest(
|
||||
method="GET",
|
||||
url=_url,
|
||||
params=_query_parameters,
|
||||
headers=_header_parameters,
|
||||
**kwargs
|
||||
)
|
||||
|
||||
|
||||
def build_create_or_update_request(
|
||||
subscription_id, # type: str
|
||||
resource_group_name, # type: str
|
||||
resource_name, # type: str
|
||||
child_resource_name, # type: str
|
||||
**kwargs # type: Any
|
||||
):
|
||||
# type: (...) -> HttpRequest
|
||||
api_version = kwargs.pop('api_version', "2023-07-01-preview") # type: str
|
||||
content_type = kwargs.pop('content_type', None) # type: Optional[str]
|
||||
|
||||
accept = "application/json"
|
||||
# Construct URL
|
||||
_url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openshiftclusters/{resourceName}/machinePool/{childResourceName}") # pylint: disable=line-too-long
|
||||
path_format_arguments = {
|
||||
"subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
|
||||
"resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
|
||||
"resourceName": _SERIALIZER.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$'),
|
||||
"childResourceName": _SERIALIZER.url("child_resource_name", child_resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$'),
|
||||
}
|
||||
|
||||
_url = _format_url_section(_url, **path_format_arguments)
|
||||
|
||||
# Construct parameters
|
||||
_query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
|
||||
_query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
|
||||
|
||||
# Construct headers
|
||||
_header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
|
||||
if content_type is not None:
|
||||
_header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str')
|
||||
_header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
|
||||
|
||||
return HttpRequest(
|
||||
method="PUT",
|
||||
url=_url,
|
||||
params=_query_parameters,
|
||||
headers=_header_parameters,
|
||||
**kwargs
|
||||
)
|
||||
|
||||
|
||||
def build_delete_request(
|
||||
subscription_id, # type: str
|
||||
resource_group_name, # type: str
|
||||
resource_name, # type: str
|
||||
child_resource_name, # type: str
|
||||
**kwargs # type: Any
|
||||
):
|
||||
# type: (...) -> HttpRequest
|
||||
api_version = kwargs.pop('api_version', "2023-07-01-preview") # type: str
|
||||
|
||||
accept = "application/json"
|
||||
# Construct URL
|
||||
_url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openshiftclusters/{resourceName}/machinePool/{childResourceName}") # pylint: disable=line-too-long
|
||||
path_format_arguments = {
|
||||
"subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
|
||||
"resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
|
||||
"resourceName": _SERIALIZER.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$'),
|
||||
"childResourceName": _SERIALIZER.url("child_resource_name", child_resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$'),
|
||||
}
|
||||
|
||||
_url = _format_url_section(_url, **path_format_arguments)
|
||||
|
||||
# Construct parameters
|
||||
_query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
|
||||
_query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
|
||||
|
||||
# Construct headers
|
||||
_header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
|
||||
_header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
|
||||
|
||||
return HttpRequest(
|
||||
method="DELETE",
|
||||
url=_url,
|
||||
params=_query_parameters,
|
||||
headers=_header_parameters,
|
||||
**kwargs
|
||||
)
|
||||
|
||||
|
||||
def build_update_request(
|
||||
subscription_id, # type: str
|
||||
resource_group_name, # type: str
|
||||
resource_name, # type: str
|
||||
child_resource_name, # type: str
|
||||
**kwargs # type: Any
|
||||
):
|
||||
# type: (...) -> HttpRequest
|
||||
api_version = kwargs.pop('api_version', "2023-07-01-preview") # type: str
|
||||
content_type = kwargs.pop('content_type', None) # type: Optional[str]
|
||||
|
||||
accept = "application/json"
|
||||
# Construct URL
|
||||
_url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openshiftclusters/{resourceName}/machinePool/{childResourceName}") # pylint: disable=line-too-long
|
||||
path_format_arguments = {
|
||||
"subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
|
||||
"resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
|
||||
"resourceName": _SERIALIZER.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$'),
|
||||
"childResourceName": _SERIALIZER.url("child_resource_name", child_resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$'),
|
||||
}
|
||||
|
||||
_url = _format_url_section(_url, **path_format_arguments)
|
||||
|
||||
# Construct parameters
|
||||
_query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
|
||||
_query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
|
||||
|
||||
# Construct headers
|
||||
_header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
|
||||
if content_type is not None:
|
||||
_header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str')
|
||||
_header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
|
||||
|
||||
return HttpRequest(
|
||||
method="PATCH",
|
||||
url=_url,
|
||||
params=_query_parameters,
|
||||
headers=_header_parameters,
|
||||
**kwargs
|
||||
)
|
||||
|
||||
# fmt: on
|
||||
class MachinePoolsOperations(object):
|
||||
"""MachinePoolsOperations operations.
|
||||
|
||||
You should not instantiate this class directly. Instead, you should create a Client instance that
|
||||
instantiates it for you and attaches it as an attribute.
|
||||
|
||||
:ivar models: Alias to model classes used in this operation group.
|
||||
:type models: ~azure.mgmt.redhatopenshift.v2023_07_01_preview.models
|
||||
:param client: Client for service requests.
|
||||
:param config: Configuration of service client.
|
||||
:param serializer: An object model serializer.
|
||||
:param deserializer: An object model deserializer.
|
||||
"""
|
||||
|
||||
models = _models
|
||||
|
||||
def __init__(self, client, config, serializer, deserializer):
|
||||
self._client = client
|
||||
self._serialize = serializer
|
||||
self._deserialize = deserializer
|
||||
self._config = config
|
||||
|
||||
@distributed_trace
|
||||
def list(
|
||||
self,
|
||||
resource_group_name, # type: str
|
||||
resource_name, # type: str
|
||||
**kwargs # type: Any
|
||||
):
|
||||
# type: (...) -> Iterable["_models.MachinePoolList"]
|
||||
"""Lists MachinePools that belong to that Azure Red Hat OpenShift Cluster.
|
||||
|
||||
The operation returns properties of each MachinePool.
|
||||
|
||||
:param resource_group_name: The name of the resource group. The name is case insensitive.
|
||||
:type resource_group_name: str
|
||||
:param resource_name: The name of the OpenShift cluster resource.
|
||||
:type resource_name: str
|
||||
:keyword callable cls: A custom type or function that will be passed the direct response
|
||||
:return: An iterator like instance of either MachinePoolList or the result of cls(response)
|
||||
:rtype:
|
||||
~azure.core.paging.ItemPaged[~azure.mgmt.redhatopenshift.v2023_07_01_preview.models.MachinePoolList]
|
||||
:raises: ~azure.core.exceptions.HttpResponseError
|
||||
"""
|
||||
api_version = kwargs.pop('api_version', "2023-07-01-preview") # type: str
|
||||
|
||||
cls = kwargs.pop('cls', None) # type: ClsType["_models.MachinePoolList"]
|
||||
error_map = {
|
||||
401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
|
||||
}
|
||||
error_map.update(kwargs.pop('error_map', {}))
|
||||
def prepare_request(next_link=None):
|
||||
if not next_link:
|
||||
|
||||
request = build_list_request(
|
||||
subscription_id=self._config.subscription_id,
|
||||
resource_group_name=resource_group_name,
|
||||
resource_name=resource_name,
|
||||
api_version=api_version,
|
||||
template_url=self.list.metadata['url'],
|
||||
)
|
||||
request = _convert_request(request)
|
||||
request.url = self._client.format_url(request.url)
|
||||
|
||||
else:
|
||||
|
||||
request = build_list_request(
|
||||
subscription_id=self._config.subscription_id,
|
||||
resource_group_name=resource_group_name,
|
||||
resource_name=resource_name,
|
||||
api_version=api_version,
|
||||
template_url=next_link,
|
||||
)
|
||||
request = _convert_request(request)
|
||||
request.url = self._client.format_url(request.url)
|
||||
request.method = "GET"
|
||||
return request
|
||||
|
||||
def extract_data(pipeline_response):
|
||||
deserialized = self._deserialize("MachinePoolList", pipeline_response)
|
||||
list_of_elem = deserialized.value
|
||||
if cls:
|
||||
list_of_elem = cls(list_of_elem)
|
||||
return deserialized.next_link or None, iter(list_of_elem)
|
||||
|
||||
def get_next(next_link=None):
|
||||
request = prepare_request(next_link)
|
||||
|
||||
pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
|
||||
request,
|
||||
stream=False,
|
||||
**kwargs
|
||||
)
|
||||
response = pipeline_response.http_response
|
||||
|
||||
if response.status_code not in [200]:
|
||||
map_error(status_code=response.status_code, response=response, error_map=error_map)
|
||||
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
|
||||
|
||||
return pipeline_response
|
||||
|
||||
|
||||
return ItemPaged(
|
||||
get_next, extract_data
|
||||
)
|
||||
list.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openShiftCluster/{resourceName}/machinePools"} # type: ignore
|
||||
|
||||
@distributed_trace
|
||||
def get(
|
||||
self,
|
||||
resource_group_name, # type: str
|
||||
resource_name, # type: str
|
||||
child_resource_name, # type: str
|
||||
**kwargs # type: Any
|
||||
):
|
||||
# type: (...) -> "_models.MachinePool"
|
||||
"""Gets a MachinePool with the specified subscription, resource group and resource name.
|
||||
|
||||
The operation returns properties of a MachinePool.
|
||||
|
||||
:param resource_group_name: The name of the resource group. The name is case insensitive.
|
||||
:type resource_group_name: str
|
||||
:param resource_name: The name of the OpenShift cluster resource.
|
||||
:type resource_name: str
|
||||
:param child_resource_name: The name of the MachinePool resource.
|
||||
:type child_resource_name: str
|
||||
:keyword callable cls: A custom type or function that will be passed the direct response
|
||||
:return: MachinePool, or the result of cls(response)
|
||||
:rtype: ~azure.mgmt.redhatopenshift.v2023_07_01_preview.models.MachinePool
|
||||
:raises: ~azure.core.exceptions.HttpResponseError
|
||||
"""
|
||||
cls = kwargs.pop('cls', None) # type: ClsType["_models.MachinePool"]
|
||||
error_map = {
|
||||
401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
|
||||
}
|
||||
error_map.update(kwargs.pop('error_map', {}))
|
||||
|
||||
api_version = kwargs.pop('api_version', "2023-07-01-preview") # type: str
|
||||
|
||||
|
||||
request = build_get_request(
|
||||
subscription_id=self._config.subscription_id,
|
||||
resource_group_name=resource_group_name,
|
||||
resource_name=resource_name,
|
||||
child_resource_name=child_resource_name,
|
||||
api_version=api_version,
|
||||
template_url=self.get.metadata['url'],
|
||||
)
|
||||
request = _convert_request(request)
|
||||
request.url = self._client.format_url(request.url)
|
||||
|
||||
pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
|
||||
request,
|
||||
stream=False,
|
||||
**kwargs
|
||||
)
|
||||
response = pipeline_response.http_response
|
||||
|
||||
if response.status_code not in [200]:
|
||||
map_error(status_code=response.status_code, response=response, error_map=error_map)
|
||||
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
|
||||
|
||||
deserialized = self._deserialize('MachinePool', pipeline_response)
|
||||
|
||||
if cls:
|
||||
return cls(pipeline_response, deserialized, {})
|
||||
|
||||
return deserialized
|
||||
|
||||
get.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openshiftclusters/{resourceName}/machinePool/{childResourceName}"} # type: ignore
|
||||
|
||||
|
||||
@distributed_trace
|
||||
def create_or_update(
|
||||
self,
|
||||
resource_group_name, # type: str
|
||||
resource_name, # type: str
|
||||
child_resource_name, # type: str
|
||||
parameters, # type: "_models.MachinePool"
|
||||
**kwargs # type: Any
|
||||
):
|
||||
# type: (...) -> "_models.MachinePool"
|
||||
"""Creates or updates a MachinePool with the specified subscription, resource group and resource
|
||||
name.
|
||||
|
||||
The operation returns properties of a MachinePool.
|
||||
|
||||
:param resource_group_name: The name of the resource group. The name is case insensitive.
|
||||
:type resource_group_name: str
|
||||
:param resource_name: The name of the OpenShift cluster resource.
|
||||
:type resource_name: str
|
||||
:param child_resource_name: The name of the MachinePool resource.
|
||||
:type child_resource_name: str
|
||||
:param parameters: The MachinePool resource.
|
||||
:type parameters: ~azure.mgmt.redhatopenshift.v2023_07_01_preview.models.MachinePool
|
||||
:keyword callable cls: A custom type or function that will be passed the direct response
|
||||
:return: MachinePool, or the result of cls(response)
|
||||
:rtype: ~azure.mgmt.redhatopenshift.v2023_07_01_preview.models.MachinePool
|
||||
:raises: ~azure.core.exceptions.HttpResponseError
|
||||
"""
|
||||
cls = kwargs.pop('cls', None) # type: ClsType["_models.MachinePool"]
|
||||
error_map = {
|
||||
401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
|
||||
}
|
||||
error_map.update(kwargs.pop('error_map', {}))
|
||||
|
||||
api_version = kwargs.pop('api_version', "2023-07-01-preview") # type: str
|
||||
content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
|
||||
|
||||
_json = self._serialize.body(parameters, 'MachinePool')
|
||||
|
||||
request = build_create_or_update_request(
|
||||
subscription_id=self._config.subscription_id,
|
||||
resource_group_name=resource_group_name,
|
||||
resource_name=resource_name,
|
||||
child_resource_name=child_resource_name,
|
||||
api_version=api_version,
|
||||
content_type=content_type,
|
||||
json=_json,
|
||||
template_url=self.create_or_update.metadata['url'],
|
||||
)
|
||||
request = _convert_request(request)
|
||||
request.url = self._client.format_url(request.url)
|
||||
|
||||
pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
|
||||
request,
|
||||
stream=False,
|
||||
**kwargs
|
||||
)
|
||||
response = pipeline_response.http_response
|
||||
|
||||
if response.status_code not in [200, 201]:
|
||||
map_error(status_code=response.status_code, response=response, error_map=error_map)
|
||||
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
|
||||
|
||||
if response.status_code == 200:
|
||||
deserialized = self._deserialize('MachinePool', pipeline_response)
|
||||
|
||||
if response.status_code == 201:
|
||||
deserialized = self._deserialize('MachinePool', pipeline_response)
|
||||
|
||||
if cls:
|
||||
return cls(pipeline_response, deserialized, {})
|
||||
|
||||
return deserialized
|
||||
|
||||
create_or_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openshiftclusters/{resourceName}/machinePool/{childResourceName}"} # type: ignore
|
||||
|
||||
|
||||
@distributed_trace
|
||||
def delete( # pylint: disable=inconsistent-return-statements
|
||||
self,
|
||||
resource_group_name, # type: str
|
||||
resource_name, # type: str
|
||||
child_resource_name, # type: str
|
||||
**kwargs # type: Any
|
||||
):
|
||||
# type: (...) -> None
|
||||
"""Deletes a MachinePool with the specified subscription, resource group and resource name.
|
||||
|
||||
The operation returns nothing.
|
||||
|
||||
:param resource_group_name: The name of the resource group. The name is case insensitive.
|
||||
:type resource_group_name: str
|
||||
:param resource_name: The name of the OpenShift cluster resource.
|
||||
:type resource_name: str
|
||||
:param child_resource_name: The name of the MachinePool resource.
|
||||
:type child_resource_name: str
|
||||
:keyword callable cls: A custom type or function that will be passed the direct response
|
||||
:return: None, or the result of cls(response)
|
||||
:rtype: None
|
||||
:raises: ~azure.core.exceptions.HttpResponseError
|
||||
"""
|
||||
cls = kwargs.pop('cls', None) # type: ClsType[None]
|
||||
error_map = {
|
||||
401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
|
||||
}
|
||||
error_map.update(kwargs.pop('error_map', {}))
|
||||
|
||||
api_version = kwargs.pop('api_version', "2023-07-01-preview") # type: str
|
||||
|
||||
|
||||
request = build_delete_request(
|
||||
subscription_id=self._config.subscription_id,
|
||||
resource_group_name=resource_group_name,
|
||||
resource_name=resource_name,
|
||||
child_resource_name=child_resource_name,
|
||||
api_version=api_version,
|
||||
template_url=self.delete.metadata['url'],
|
||||
)
|
||||
request = _convert_request(request)
|
||||
request.url = self._client.format_url(request.url)
|
||||
|
||||
pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
|
||||
request,
|
||||
stream=False,
|
||||
**kwargs
|
||||
)
|
||||
response = pipeline_response.http_response
|
||||
|
||||
if response.status_code not in [200, 204]:
|
||||
map_error(status_code=response.status_code, response=response, error_map=error_map)
|
||||
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
|
||||
|
||||
if cls:
|
||||
return cls(pipeline_response, None, {})
|
||||
|
||||
delete.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openshiftclusters/{resourceName}/machinePool/{childResourceName}"} # type: ignore
|
||||
|
||||
|
||||
@distributed_trace
|
||||
def update(
|
||||
self,
|
||||
resource_group_name, # type: str
|
||||
resource_name, # type: str
|
||||
child_resource_name, # type: str
|
||||
parameters, # type: "_models.MachinePoolUpdate"
|
||||
**kwargs # type: Any
|
||||
):
|
||||
# type: (...) -> "_models.MachinePool"
|
||||
"""Updates a MachinePool with the specified subscription, resource group and resource name.
|
||||
|
||||
The operation returns properties of a MachinePool.
|
||||
|
||||
:param resource_group_name: The name of the resource group. The name is case insensitive.
|
||||
:type resource_group_name: str
|
||||
:param resource_name: The name of the OpenShift cluster resource.
|
||||
:type resource_name: str
|
||||
:param child_resource_name: The name of the MachinePool resource.
|
||||
:type child_resource_name: str
|
||||
:param parameters: The MachinePool resource.
|
||||
:type parameters: ~azure.mgmt.redhatopenshift.v2023_07_01_preview.models.MachinePoolUpdate
|
||||
:keyword callable cls: A custom type or function that will be passed the direct response
|
||||
:return: MachinePool, or the result of cls(response)
|
||||
:rtype: ~azure.mgmt.redhatopenshift.v2023_07_01_preview.models.MachinePool
|
||||
:raises: ~azure.core.exceptions.HttpResponseError
|
||||
"""
|
||||
cls = kwargs.pop('cls', None) # type: ClsType["_models.MachinePool"]
|
||||
error_map = {
|
||||
401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
|
||||
}
|
||||
error_map.update(kwargs.pop('error_map', {}))
|
||||
|
||||
api_version = kwargs.pop('api_version', "2023-07-01-preview") # type: str
|
||||
content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
|
||||
|
||||
_json = self._serialize.body(parameters, 'MachinePoolUpdate')
|
||||
|
||||
request = build_update_request(
|
||||
subscription_id=self._config.subscription_id,
|
||||
resource_group_name=resource_group_name,
|
||||
resource_name=resource_name,
|
||||
child_resource_name=child_resource_name,
|
||||
api_version=api_version,
|
||||
content_type=content_type,
|
||||
json=_json,
|
||||
template_url=self.update.metadata['url'],
|
||||
)
|
||||
request = _convert_request(request)
|
||||
request.url = self._client.format_url(request.url)
|
||||
|
||||
pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
|
||||
request,
|
||||
stream=False,
|
||||
**kwargs
|
||||
)
|
||||
response = pipeline_response.http_response
|
||||
|
||||
if response.status_code not in [200]:
|
||||
map_error(status_code=response.status_code, response=response, error_map=error_map)
|
||||
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
|
||||
|
||||
deserialized = self._deserialize('MachinePool', pipeline_response)
|
||||
|
||||
if cls:
|
||||
return cls(pipeline_response, deserialized, {})
|
||||
|
||||
return deserialized
|
||||
|
||||
update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openshiftclusters/{resourceName}/machinePool/{childResourceName}"} # type: ignore
|
||||
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -0,0 +1,178 @@
|
|||
# pylint: disable=too-many-lines
|
||||
# coding=utf-8
|
||||
# --------------------------------------------------------------------------
|
||||
# Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code is regenerated.
|
||||
# --------------------------------------------------------------------------
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
from msrest import Serializer
|
||||
|
||||
from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
|
||||
from azure.core.paging import ItemPaged
|
||||
from azure.core.pipeline import PipelineResponse
|
||||
from azure.core.pipeline.transport import HttpResponse
|
||||
from azure.core.rest import HttpRequest
|
||||
from azure.core.tracing.decorator import distributed_trace
|
||||
from azure.mgmt.core.exceptions import ARMErrorFormat
|
||||
|
||||
from .. import models as _models
|
||||
from .._vendor import _convert_request, _format_url_section
|
||||
|
||||
if TYPE_CHECKING:
|
||||
# pylint: disable=unused-import,ungrouped-imports
|
||||
from typing import Any, Callable, Dict, Iterable, Optional, TypeVar
|
||||
T = TypeVar('T')
|
||||
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
|
||||
|
||||
_SERIALIZER = Serializer()
|
||||
_SERIALIZER.client_side_validation = False
|
||||
# fmt: off
|
||||
|
||||
def build_list_request(
|
||||
subscription_id, # type: str
|
||||
location, # type: str
|
||||
**kwargs # type: Any
|
||||
):
|
||||
# type: (...) -> HttpRequest
|
||||
api_version = kwargs.pop('api_version', "2023-07-01-preview") # type: str
|
||||
|
||||
accept = "application/json"
|
||||
# Construct URL
|
||||
_url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/providers/Microsoft.RedHatOpenShift/locations/{location}/openshiftversions") # pylint: disable=line-too-long
|
||||
path_format_arguments = {
|
||||
"subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
|
||||
"location": _SERIALIZER.url("location", location, 'str', min_length=1),
|
||||
}
|
||||
|
||||
_url = _format_url_section(_url, **path_format_arguments)
|
||||
|
||||
# Construct parameters
|
||||
_query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
|
||||
_query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
|
||||
|
||||
# Construct headers
|
||||
_header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
|
||||
_header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
|
||||
|
||||
return HttpRequest(
|
||||
method="GET",
|
||||
url=_url,
|
||||
params=_query_parameters,
|
||||
headers=_header_parameters,
|
||||
**kwargs
|
||||
)
|
||||
|
||||
# fmt: on
|
||||
class OpenShiftVersionsOperations(object):
|
||||
"""OpenShiftVersionsOperations operations.
|
||||
|
||||
You should not instantiate this class directly. Instead, you should create a Client instance that
|
||||
instantiates it for you and attaches it as an attribute.
|
||||
|
||||
:ivar models: Alias to model classes used in this operation group.
|
||||
:type models: ~azure.mgmt.redhatopenshift.v2023_07_01_preview.models
|
||||
:param client: Client for service requests.
|
||||
:param config: Configuration of service client.
|
||||
:param serializer: An object model serializer.
|
||||
:param deserializer: An object model deserializer.
|
||||
"""
|
||||
|
||||
models = _models
|
||||
|
||||
def __init__(self, client, config, serializer, deserializer):
|
||||
self._client = client
|
||||
self._serialize = serializer
|
||||
self._deserialize = deserializer
|
||||
self._config = config
|
||||
|
||||
@distributed_trace
|
||||
def list(
|
||||
self,
|
||||
location, # type: str
|
||||
**kwargs # type: Any
|
||||
):
|
||||
# type: (...) -> Iterable["_models.OpenShiftVersionList"]
|
||||
"""Lists all OpenShift versions available to install in the specified location.
|
||||
|
||||
The operation returns the installable OpenShift versions as strings.
|
||||
|
||||
:param location: The name of Azure region.
|
||||
:type location: str
|
||||
:keyword callable cls: A custom type or function that will be passed the direct response
|
||||
:return: An iterator like instance of either OpenShiftVersionList or the result of
|
||||
cls(response)
|
||||
:rtype:
|
||||
~azure.core.paging.ItemPaged[~azure.mgmt.redhatopenshift.v2023_07_01_preview.models.OpenShiftVersionList]
|
||||
:raises: ~azure.core.exceptions.HttpResponseError
|
||||
"""
|
||||
api_version = kwargs.pop('api_version', "2023-07-01-preview") # type: str
|
||||
|
||||
cls = kwargs.pop('cls', None) # type: ClsType["_models.OpenShiftVersionList"]
|
||||
error_map = {
|
||||
401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
|
||||
}
|
||||
error_map.update(kwargs.pop('error_map', {}))
|
||||
def prepare_request(next_link=None):
|
||||
if not next_link:
|
||||
|
||||
request = build_list_request(
|
||||
subscription_id=self._config.subscription_id,
|
||||
location=location,
|
||||
api_version=api_version,
|
||||
template_url=self.list.metadata['url'],
|
||||
)
|
||||
request = _convert_request(request)
|
||||
request.url = self._client.format_url(request.url)
|
||||
|
||||
else:
|
||||
|
||||
request = build_list_request(
|
||||
subscription_id=self._config.subscription_id,
|
||||
location=location,
|
||||
api_version=api_version,
|
||||
template_url=next_link,
|
||||
)
|
||||
request = _convert_request(request)
|
||||
request.url = self._client.format_url(request.url)
|
||||
request.method = "GET"
|
||||
return request
|
||||
|
||||
def extract_data(pipeline_response):
|
||||
deserialized = self._deserialize("OpenShiftVersionList", pipeline_response)
|
||||
list_of_elem = deserialized.value
|
||||
if cls:
|
||||
list_of_elem = cls(list_of_elem)
|
||||
return deserialized.next_link or None, iter(list_of_elem)
|
||||
|
||||
def get_next(next_link=None):
|
||||
request = prepare_request(next_link)
|
||||
|
||||
pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
|
||||
request,
|
||||
stream=False,
|
||||
**kwargs
|
||||
)
|
||||
response = pipeline_response.http_response
|
||||
|
||||
if response.status_code not in [200]:
|
||||
map_error(status_code=response.status_code, response=response, error_map=error_map)
|
||||
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
|
||||
|
||||
return pipeline_response
|
||||
|
||||
|
||||
return ItemPaged(
|
||||
get_next, extract_data
|
||||
)
|
||||
list.metadata = {'url': "/subscriptions/{subscriptionId}/providers/Microsoft.RedHatOpenShift/locations/{location}/openshiftversions"} # type: ignore
|
|
@ -0,0 +1,162 @@
|
|||
# pylint: disable=too-many-lines
|
||||
# coding=utf-8
|
||||
# --------------------------------------------------------------------------
|
||||
# Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code is regenerated.
|
||||
# --------------------------------------------------------------------------
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
from msrest import Serializer
|
||||
|
||||
from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
|
||||
from azure.core.paging import ItemPaged
|
||||
from azure.core.pipeline import PipelineResponse
|
||||
from azure.core.pipeline.transport import HttpResponse
|
||||
from azure.core.rest import HttpRequest
|
||||
from azure.core.tracing.decorator import distributed_trace
|
||||
from azure.mgmt.core.exceptions import ARMErrorFormat
|
||||
|
||||
from .. import models as _models
|
||||
from .._vendor import _convert_request
|
||||
|
||||
if TYPE_CHECKING:
|
||||
# pylint: disable=unused-import,ungrouped-imports
|
||||
from typing import Any, Callable, Dict, Iterable, Optional, TypeVar
|
||||
T = TypeVar('T')
|
||||
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
|
||||
|
||||
_SERIALIZER = Serializer()
|
||||
_SERIALIZER.client_side_validation = False
|
||||
# fmt: off
|
||||
|
||||
def build_list_request(
|
||||
**kwargs # type: Any
|
||||
):
|
||||
# type: (...) -> HttpRequest
|
||||
api_version = kwargs.pop('api_version', "2023-07-01-preview") # type: str
|
||||
|
||||
accept = "application/json"
|
||||
# Construct URL
|
||||
_url = kwargs.pop("template_url", "/providers/Microsoft.RedHatOpenShift/operations")
|
||||
|
||||
# Construct parameters
|
||||
_query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
|
||||
_query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
|
||||
|
||||
# Construct headers
|
||||
_header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
|
||||
_header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
|
||||
|
||||
return HttpRequest(
|
||||
method="GET",
|
||||
url=_url,
|
||||
params=_query_parameters,
|
||||
headers=_header_parameters,
|
||||
**kwargs
|
||||
)
|
||||
|
||||
# fmt: on
|
||||
class Operations(object):
|
||||
"""Operations operations.
|
||||
|
||||
You should not instantiate this class directly. Instead, you should create a Client instance that
|
||||
instantiates it for you and attaches it as an attribute.
|
||||
|
||||
:ivar models: Alias to model classes used in this operation group.
|
||||
:type models: ~azure.mgmt.redhatopenshift.v2023_07_01_preview.models
|
||||
:param client: Client for service requests.
|
||||
:param config: Configuration of service client.
|
||||
:param serializer: An object model serializer.
|
||||
:param deserializer: An object model deserializer.
|
||||
"""
|
||||
|
||||
models = _models
|
||||
|
||||
def __init__(self, client, config, serializer, deserializer):
|
||||
self._client = client
|
||||
self._serialize = serializer
|
||||
self._deserialize = deserializer
|
||||
self._config = config
|
||||
|
||||
@distributed_trace
|
||||
def list(
|
||||
self,
|
||||
**kwargs # type: Any
|
||||
):
|
||||
# type: (...) -> Iterable["_models.OperationList"]
|
||||
"""Lists all of the available RP operations.
|
||||
|
||||
The operation returns the RP operations.
|
||||
|
||||
:keyword callable cls: A custom type or function that will be passed the direct response
|
||||
:return: An iterator like instance of either OperationList or the result of cls(response)
|
||||
:rtype:
|
||||
~azure.core.paging.ItemPaged[~azure.mgmt.redhatopenshift.v2023_07_01_preview.models.OperationList]
|
||||
:raises: ~azure.core.exceptions.HttpResponseError
|
||||
"""
|
||||
api_version = kwargs.pop('api_version', "2023-07-01-preview") # type: str
|
||||
|
||||
cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationList"]
|
||||
error_map = {
|
||||
401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
|
||||
}
|
||||
error_map.update(kwargs.pop('error_map', {}))
|
||||
def prepare_request(next_link=None):
|
||||
if not next_link:
|
||||
|
||||
request = build_list_request(
|
||||
api_version=api_version,
|
||||
template_url=self.list.metadata['url'],
|
||||
)
|
||||
request = _convert_request(request)
|
||||
request.url = self._client.format_url(request.url)
|
||||
|
||||
else:
|
||||
|
||||
request = build_list_request(
|
||||
api_version=api_version,
|
||||
template_url=next_link,
|
||||
)
|
||||
request = _convert_request(request)
|
||||
request.url = self._client.format_url(request.url)
|
||||
request.method = "GET"
|
||||
return request
|
||||
|
||||
def extract_data(pipeline_response):
|
||||
deserialized = self._deserialize("OperationList", pipeline_response)
|
||||
list_of_elem = deserialized.value
|
||||
if cls:
|
||||
list_of_elem = cls(list_of_elem)
|
||||
return deserialized.next_link or None, iter(list_of_elem)
|
||||
|
||||
def get_next(next_link=None):
|
||||
request = prepare_request(next_link)
|
||||
|
||||
pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
|
||||
request,
|
||||
stream=False,
|
||||
**kwargs
|
||||
)
|
||||
response = pipeline_response.http_response
|
||||
|
||||
if response.status_code not in [200]:
|
||||
map_error(status_code=response.status_code, response=response, error_map=error_map)
|
||||
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
|
||||
|
||||
return pipeline_response
|
||||
|
||||
|
||||
return ItemPaged(
|
||||
get_next, extract_data
|
||||
)
|
||||
list.metadata = {'url': "/providers/Microsoft.RedHatOpenShift/operations"} # type: ignore
|
|
@ -0,0 +1,620 @@
|
|||
# pylint: disable=too-many-lines
|
||||
# coding=utf-8
|
||||
# --------------------------------------------------------------------------
|
||||
# Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code is regenerated.
|
||||
# --------------------------------------------------------------------------
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
from msrest import Serializer
|
||||
|
||||
from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
|
||||
from azure.core.paging import ItemPaged
|
||||
from azure.core.pipeline import PipelineResponse
|
||||
from azure.core.pipeline.transport import HttpResponse
|
||||
from azure.core.rest import HttpRequest
|
||||
from azure.core.tracing.decorator import distributed_trace
|
||||
from azure.mgmt.core.exceptions import ARMErrorFormat
|
||||
|
||||
from .. import models as _models
|
||||
from .._vendor import _convert_request, _format_url_section
|
||||
|
||||
if TYPE_CHECKING:
|
||||
# pylint: disable=unused-import,ungrouped-imports
|
||||
from typing import Any, Callable, Dict, Iterable, Optional, TypeVar
|
||||
T = TypeVar('T')
|
||||
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
|
||||
|
||||
_SERIALIZER = Serializer()
|
||||
_SERIALIZER.client_side_validation = False
|
||||
# fmt: off
|
||||
|
||||
def build_list_request(
|
||||
subscription_id, # type: str
|
||||
resource_group_name, # type: str
|
||||
resource_name, # type: str
|
||||
**kwargs # type: Any
|
||||
):
|
||||
# type: (...) -> HttpRequest
|
||||
api_version = kwargs.pop('api_version', "2023-07-01-preview") # type: str
|
||||
|
||||
accept = "application/json"
|
||||
# Construct URL
|
||||
_url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openShiftCluster/{resourceName}/secrets") # pylint: disable=line-too-long
|
||||
path_format_arguments = {
|
||||
"subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
|
||||
"resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
|
||||
"resourceName": _SERIALIZER.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$'),
|
||||
}
|
||||
|
||||
_url = _format_url_section(_url, **path_format_arguments)
|
||||
|
||||
# Construct parameters
|
||||
_query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
|
||||
_query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
|
||||
|
||||
# Construct headers
|
||||
_header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
|
||||
_header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
|
||||
|
||||
return HttpRequest(
|
||||
method="GET",
|
||||
url=_url,
|
||||
params=_query_parameters,
|
||||
headers=_header_parameters,
|
||||
**kwargs
|
||||
)
|
||||
|
||||
|
||||
def build_get_request(
|
||||
subscription_id, # type: str
|
||||
resource_group_name, # type: str
|
||||
resource_name, # type: str
|
||||
child_resource_name, # type: str
|
||||
**kwargs # type: Any
|
||||
):
|
||||
# type: (...) -> HttpRequest
|
||||
api_version = kwargs.pop('api_version', "2023-07-01-preview") # type: str
|
||||
|
||||
accept = "application/json"
|
||||
# Construct URL
|
||||
_url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openshiftclusters/{resourceName}/secret/{childResourceName}") # pylint: disable=line-too-long
|
||||
path_format_arguments = {
|
||||
"subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
|
||||
"resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
|
||||
"resourceName": _SERIALIZER.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$'),
|
||||
"childResourceName": _SERIALIZER.url("child_resource_name", child_resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$'),
|
||||
}
|
||||
|
||||
_url = _format_url_section(_url, **path_format_arguments)
|
||||
|
||||
# Construct parameters
|
||||
_query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
|
||||
_query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
|
||||
|
||||
# Construct headers
|
||||
_header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
|
||||
_header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
|
||||
|
||||
return HttpRequest(
|
||||
method="GET",
|
||||
url=_url,
|
||||
params=_query_parameters,
|
||||
headers=_header_parameters,
|
||||
**kwargs
|
||||
)
|
||||
|
||||
|
||||
def build_create_or_update_request(
|
||||
subscription_id, # type: str
|
||||
resource_group_name, # type: str
|
||||
resource_name, # type: str
|
||||
child_resource_name, # type: str
|
||||
**kwargs # type: Any
|
||||
):
|
||||
# type: (...) -> HttpRequest
|
||||
api_version = kwargs.pop('api_version', "2023-07-01-preview") # type: str
|
||||
content_type = kwargs.pop('content_type', None) # type: Optional[str]
|
||||
|
||||
accept = "application/json"
|
||||
# Construct URL
|
||||
_url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openshiftclusters/{resourceName}/secret/{childResourceName}") # pylint: disable=line-too-long
|
||||
path_format_arguments = {
|
||||
"subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
|
||||
"resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
|
||||
"resourceName": _SERIALIZER.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$'),
|
||||
"childResourceName": _SERIALIZER.url("child_resource_name", child_resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$'),
|
||||
}
|
||||
|
||||
_url = _format_url_section(_url, **path_format_arguments)
|
||||
|
||||
# Construct parameters
|
||||
_query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
|
||||
_query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
|
||||
|
||||
# Construct headers
|
||||
_header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
|
||||
if content_type is not None:
|
||||
_header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str')
|
||||
_header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
|
||||
|
||||
return HttpRequest(
|
||||
method="PUT",
|
||||
url=_url,
|
||||
params=_query_parameters,
|
||||
headers=_header_parameters,
|
||||
**kwargs
|
||||
)
|
||||
|
||||
|
||||
def build_delete_request(
|
||||
subscription_id, # type: str
|
||||
resource_group_name, # type: str
|
||||
resource_name, # type: str
|
||||
child_resource_name, # type: str
|
||||
**kwargs # type: Any
|
||||
):
|
||||
# type: (...) -> HttpRequest
|
||||
api_version = kwargs.pop('api_version', "2023-07-01-preview") # type: str
|
||||
|
||||
accept = "application/json"
|
||||
# Construct URL
|
||||
_url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openshiftclusters/{resourceName}/secret/{childResourceName}") # pylint: disable=line-too-long
|
||||
path_format_arguments = {
|
||||
"subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
|
||||
"resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
|
||||
"resourceName": _SERIALIZER.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$'),
|
||||
"childResourceName": _SERIALIZER.url("child_resource_name", child_resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$'),
|
||||
}
|
||||
|
||||
_url = _format_url_section(_url, **path_format_arguments)
|
||||
|
||||
# Construct parameters
|
||||
_query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
|
||||
_query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
|
||||
|
||||
# Construct headers
|
||||
_header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
|
||||
_header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
|
||||
|
||||
return HttpRequest(
|
||||
method="DELETE",
|
||||
url=_url,
|
||||
params=_query_parameters,
|
||||
headers=_header_parameters,
|
||||
**kwargs
|
||||
)
|
||||
|
||||
|
||||
def build_update_request(
|
||||
subscription_id, # type: str
|
||||
resource_group_name, # type: str
|
||||
resource_name, # type: str
|
||||
child_resource_name, # type: str
|
||||
**kwargs # type: Any
|
||||
):
|
||||
# type: (...) -> HttpRequest
|
||||
api_version = kwargs.pop('api_version', "2023-07-01-preview") # type: str
|
||||
content_type = kwargs.pop('content_type', None) # type: Optional[str]
|
||||
|
||||
accept = "application/json"
|
||||
# Construct URL
|
||||
_url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openshiftclusters/{resourceName}/secret/{childResourceName}") # pylint: disable=line-too-long
|
||||
path_format_arguments = {
|
||||
"subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
|
||||
"resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
|
||||
"resourceName": _SERIALIZER.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$'),
|
||||
"childResourceName": _SERIALIZER.url("child_resource_name", child_resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$'),
|
||||
}
|
||||
|
||||
_url = _format_url_section(_url, **path_format_arguments)
|
||||
|
||||
# Construct parameters
|
||||
_query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
|
||||
_query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
|
||||
|
||||
# Construct headers
|
||||
_header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
|
||||
if content_type is not None:
|
||||
_header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str')
|
||||
_header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
|
||||
|
||||
return HttpRequest(
|
||||
method="PATCH",
|
||||
url=_url,
|
||||
params=_query_parameters,
|
||||
headers=_header_parameters,
|
||||
**kwargs
|
||||
)
|
||||
|
||||
# fmt: on
|
||||
class SecretsOperations(object):
|
||||
"""SecretsOperations operations.
|
||||
|
||||
You should not instantiate this class directly. Instead, you should create a Client instance that
|
||||
instantiates it for you and attaches it as an attribute.
|
||||
|
||||
:ivar models: Alias to model classes used in this operation group.
|
||||
:type models: ~azure.mgmt.redhatopenshift.v2023_07_01_preview.models
|
||||
:param client: Client for service requests.
|
||||
:param config: Configuration of service client.
|
||||
:param serializer: An object model serializer.
|
||||
:param deserializer: An object model deserializer.
|
||||
"""
|
||||
|
||||
models = _models
|
||||
|
||||
def __init__(self, client, config, serializer, deserializer):
|
||||
self._client = client
|
||||
self._serialize = serializer
|
||||
self._deserialize = deserializer
|
||||
self._config = config
|
||||
|
||||
@distributed_trace
|
||||
def list(
|
||||
self,
|
||||
resource_group_name, # type: str
|
||||
resource_name, # type: str
|
||||
**kwargs # type: Any
|
||||
):
|
||||
# type: (...) -> Iterable["_models.SecretList"]
|
||||
"""Lists Secrets that belong to that Azure Red Hat OpenShift Cluster.
|
||||
|
||||
The operation returns properties of each Secret.
|
||||
|
||||
:param resource_group_name: The name of the resource group. The name is case insensitive.
|
||||
:type resource_group_name: str
|
||||
:param resource_name: The name of the OpenShift cluster resource.
|
||||
:type resource_name: str
|
||||
:keyword callable cls: A custom type or function that will be passed the direct response
|
||||
:return: An iterator like instance of either SecretList or the result of cls(response)
|
||||
:rtype:
|
||||
~azure.core.paging.ItemPaged[~azure.mgmt.redhatopenshift.v2023_07_01_preview.models.SecretList]
|
||||
:raises: ~azure.core.exceptions.HttpResponseError
|
||||
"""
|
||||
api_version = kwargs.pop('api_version', "2023-07-01-preview") # type: str
|
||||
|
||||
cls = kwargs.pop('cls', None) # type: ClsType["_models.SecretList"]
|
||||
error_map = {
|
||||
401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
|
||||
}
|
||||
error_map.update(kwargs.pop('error_map', {}))
|
||||
def prepare_request(next_link=None):
|
||||
if not next_link:
|
||||
|
||||
request = build_list_request(
|
||||
subscription_id=self._config.subscription_id,
|
||||
resource_group_name=resource_group_name,
|
||||
resource_name=resource_name,
|
||||
api_version=api_version,
|
||||
template_url=self.list.metadata['url'],
|
||||
)
|
||||
request = _convert_request(request)
|
||||
request.url = self._client.format_url(request.url)
|
||||
|
||||
else:
|
||||
|
||||
request = build_list_request(
|
||||
subscription_id=self._config.subscription_id,
|
||||
resource_group_name=resource_group_name,
|
||||
resource_name=resource_name,
|
||||
api_version=api_version,
|
||||
template_url=next_link,
|
||||
)
|
||||
request = _convert_request(request)
|
||||
request.url = self._client.format_url(request.url)
|
||||
request.method = "GET"
|
||||
return request
|
||||
|
||||
def extract_data(pipeline_response):
|
||||
deserialized = self._deserialize("SecretList", pipeline_response)
|
||||
list_of_elem = deserialized.value
|
||||
if cls:
|
||||
list_of_elem = cls(list_of_elem)
|
||||
return deserialized.next_link or None, iter(list_of_elem)
|
||||
|
||||
def get_next(next_link=None):
|
||||
request = prepare_request(next_link)
|
||||
|
||||
pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
|
||||
request,
|
||||
stream=False,
|
||||
**kwargs
|
||||
)
|
||||
response = pipeline_response.http_response
|
||||
|
||||
if response.status_code not in [200]:
|
||||
map_error(status_code=response.status_code, response=response, error_map=error_map)
|
||||
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
|
||||
|
||||
return pipeline_response
|
||||
|
||||
|
||||
return ItemPaged(
|
||||
get_next, extract_data
|
||||
)
|
||||
list.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openShiftCluster/{resourceName}/secrets"} # type: ignore
|
||||
|
||||
@distributed_trace
|
||||
def get(
|
||||
self,
|
||||
resource_group_name, # type: str
|
||||
resource_name, # type: str
|
||||
child_resource_name, # type: str
|
||||
**kwargs # type: Any
|
||||
):
|
||||
# type: (...) -> "_models.Secret"
|
||||
"""Gets a Secret with the specified subscription, resource group and resource name.
|
||||
|
||||
The operation returns properties of a Secret.
|
||||
|
||||
:param resource_group_name: The name of the resource group. The name is case insensitive.
|
||||
:type resource_group_name: str
|
||||
:param resource_name: The name of the OpenShift cluster resource.
|
||||
:type resource_name: str
|
||||
:param child_resource_name: The name of the Secret resource.
|
||||
:type child_resource_name: str
|
||||
:keyword callable cls: A custom type or function that will be passed the direct response
|
||||
:return: Secret, or the result of cls(response)
|
||||
:rtype: ~azure.mgmt.redhatopenshift.v2023_07_01_preview.models.Secret
|
||||
:raises: ~azure.core.exceptions.HttpResponseError
|
||||
"""
|
||||
cls = kwargs.pop('cls', None) # type: ClsType["_models.Secret"]
|
||||
error_map = {
|
||||
401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
|
||||
}
|
||||
error_map.update(kwargs.pop('error_map', {}))
|
||||
|
||||
api_version = kwargs.pop('api_version', "2023-07-01-preview") # type: str
|
||||
|
||||
|
||||
request = build_get_request(
|
||||
subscription_id=self._config.subscription_id,
|
||||
resource_group_name=resource_group_name,
|
||||
resource_name=resource_name,
|
||||
child_resource_name=child_resource_name,
|
||||
api_version=api_version,
|
||||
template_url=self.get.metadata['url'],
|
||||
)
|
||||
request = _convert_request(request)
|
||||
request.url = self._client.format_url(request.url)
|
||||
|
||||
pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
|
||||
request,
|
||||
stream=False,
|
||||
**kwargs
|
||||
)
|
||||
response = pipeline_response.http_response
|
||||
|
||||
if response.status_code not in [200]:
|
||||
map_error(status_code=response.status_code, response=response, error_map=error_map)
|
||||
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
|
||||
|
||||
deserialized = self._deserialize('Secret', pipeline_response)
|
||||
|
||||
if cls:
|
||||
return cls(pipeline_response, deserialized, {})
|
||||
|
||||
return deserialized
|
||||
|
||||
get.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openshiftclusters/{resourceName}/secret/{childResourceName}"} # type: ignore
|
||||
|
||||
|
||||
@distributed_trace
|
||||
def create_or_update(
|
||||
self,
|
||||
resource_group_name, # type: str
|
||||
resource_name, # type: str
|
||||
child_resource_name, # type: str
|
||||
parameters, # type: "_models.Secret"
|
||||
**kwargs # type: Any
|
||||
):
|
||||
# type: (...) -> "_models.Secret"
|
||||
"""Creates or updates a Secret with the specified subscription, resource group and resource name.
|
||||
|
||||
The operation returns properties of a Secret.
|
||||
|
||||
:param resource_group_name: The name of the resource group. The name is case insensitive.
|
||||
:type resource_group_name: str
|
||||
:param resource_name: The name of the OpenShift cluster resource.
|
||||
:type resource_name: str
|
||||
:param child_resource_name: The name of the Secret resource.
|
||||
:type child_resource_name: str
|
||||
:param parameters: The Secret resource.
|
||||
:type parameters: ~azure.mgmt.redhatopenshift.v2023_07_01_preview.models.Secret
|
||||
:keyword callable cls: A custom type or function that will be passed the direct response
|
||||
:return: Secret, or the result of cls(response)
|
||||
:rtype: ~azure.mgmt.redhatopenshift.v2023_07_01_preview.models.Secret
|
||||
:raises: ~azure.core.exceptions.HttpResponseError
|
||||
"""
|
||||
cls = kwargs.pop('cls', None) # type: ClsType["_models.Secret"]
|
||||
error_map = {
|
||||
401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
|
||||
}
|
||||
error_map.update(kwargs.pop('error_map', {}))
|
||||
|
||||
api_version = kwargs.pop('api_version', "2023-07-01-preview") # type: str
|
||||
content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
|
||||
|
||||
_json = self._serialize.body(parameters, 'Secret')
|
||||
|
||||
request = build_create_or_update_request(
|
||||
subscription_id=self._config.subscription_id,
|
||||
resource_group_name=resource_group_name,
|
||||
resource_name=resource_name,
|
||||
child_resource_name=child_resource_name,
|
||||
api_version=api_version,
|
||||
content_type=content_type,
|
||||
json=_json,
|
||||
template_url=self.create_or_update.metadata['url'],
|
||||
)
|
||||
request = _convert_request(request)
|
||||
request.url = self._client.format_url(request.url)
|
||||
|
||||
pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
|
||||
request,
|
||||
stream=False,
|
||||
**kwargs
|
||||
)
|
||||
response = pipeline_response.http_response
|
||||
|
||||
if response.status_code not in [200, 201]:
|
||||
map_error(status_code=response.status_code, response=response, error_map=error_map)
|
||||
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
|
||||
|
||||
if response.status_code == 200:
|
||||
deserialized = self._deserialize('Secret', pipeline_response)
|
||||
|
||||
if response.status_code == 201:
|
||||
deserialized = self._deserialize('Secret', pipeline_response)
|
||||
|
||||
if cls:
|
||||
return cls(pipeline_response, deserialized, {})
|
||||
|
||||
return deserialized
|
||||
|
||||
create_or_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openshiftclusters/{resourceName}/secret/{childResourceName}"} # type: ignore
|
||||
|
||||
|
||||
@distributed_trace
|
||||
def delete( # pylint: disable=inconsistent-return-statements
|
||||
self,
|
||||
resource_group_name, # type: str
|
||||
resource_name, # type: str
|
||||
child_resource_name, # type: str
|
||||
**kwargs # type: Any
|
||||
):
|
||||
# type: (...) -> None
|
||||
"""Deletes a Secret with the specified subscription, resource group and resource name.
|
||||
|
||||
The operation returns nothing.
|
||||
|
||||
:param resource_group_name: The name of the resource group. The name is case insensitive.
|
||||
:type resource_group_name: str
|
||||
:param resource_name: The name of the OpenShift cluster resource.
|
||||
:type resource_name: str
|
||||
:param child_resource_name: The name of the Secret resource.
|
||||
:type child_resource_name: str
|
||||
:keyword callable cls: A custom type or function that will be passed the direct response
|
||||
:return: None, or the result of cls(response)
|
||||
:rtype: None
|
||||
:raises: ~azure.core.exceptions.HttpResponseError
|
||||
"""
|
||||
cls = kwargs.pop('cls', None) # type: ClsType[None]
|
||||
error_map = {
|
||||
401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
|
||||
}
|
||||
error_map.update(kwargs.pop('error_map', {}))
|
||||
|
||||
api_version = kwargs.pop('api_version', "2023-07-01-preview") # type: str
|
||||
|
||||
|
||||
request = build_delete_request(
|
||||
subscription_id=self._config.subscription_id,
|
||||
resource_group_name=resource_group_name,
|
||||
resource_name=resource_name,
|
||||
child_resource_name=child_resource_name,
|
||||
api_version=api_version,
|
||||
template_url=self.delete.metadata['url'],
|
||||
)
|
||||
request = _convert_request(request)
|
||||
request.url = self._client.format_url(request.url)
|
||||
|
||||
pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
|
||||
request,
|
||||
stream=False,
|
||||
**kwargs
|
||||
)
|
||||
response = pipeline_response.http_response
|
||||
|
||||
if response.status_code not in [200, 204]:
|
||||
map_error(status_code=response.status_code, response=response, error_map=error_map)
|
||||
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
|
||||
|
||||
if cls:
|
||||
return cls(pipeline_response, None, {})
|
||||
|
||||
delete.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openshiftclusters/{resourceName}/secret/{childResourceName}"} # type: ignore
|
||||
|
||||
|
||||
@distributed_trace
|
||||
def update(
|
||||
self,
|
||||
resource_group_name, # type: str
|
||||
resource_name, # type: str
|
||||
child_resource_name, # type: str
|
||||
parameters, # type: "_models.SecretUpdate"
|
||||
**kwargs # type: Any
|
||||
):
|
||||
# type: (...) -> "_models.Secret"
|
||||
"""Updates a Secret with the specified subscription, resource group and resource name.
|
||||
|
||||
The operation returns properties of a Secret.
|
||||
|
||||
:param resource_group_name: The name of the resource group. The name is case insensitive.
|
||||
:type resource_group_name: str
|
||||
:param resource_name: The name of the OpenShift cluster resource.
|
||||
:type resource_name: str
|
||||
:param child_resource_name: The name of the Secret resource.
|
||||
:type child_resource_name: str
|
||||
:param parameters: The Secret resource.
|
||||
:type parameters: ~azure.mgmt.redhatopenshift.v2023_07_01_preview.models.SecretUpdate
|
||||
:keyword callable cls: A custom type or function that will be passed the direct response
|
||||
:return: Secret, or the result of cls(response)
|
||||
:rtype: ~azure.mgmt.redhatopenshift.v2023_07_01_preview.models.Secret
|
||||
:raises: ~azure.core.exceptions.HttpResponseError
|
||||
"""
|
||||
cls = kwargs.pop('cls', None) # type: ClsType["_models.Secret"]
|
||||
error_map = {
|
||||
401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
|
||||
}
|
||||
error_map.update(kwargs.pop('error_map', {}))
|
||||
|
||||
api_version = kwargs.pop('api_version', "2023-07-01-preview") # type: str
|
||||
content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
|
||||
|
||||
_json = self._serialize.body(parameters, 'SecretUpdate')
|
||||
|
||||
request = build_update_request(
|
||||
subscription_id=self._config.subscription_id,
|
||||
resource_group_name=resource_group_name,
|
||||
resource_name=resource_name,
|
||||
child_resource_name=child_resource_name,
|
||||
api_version=api_version,
|
||||
content_type=content_type,
|
||||
json=_json,
|
||||
template_url=self.update.metadata['url'],
|
||||
)
|
||||
request = _convert_request(request)
|
||||
request.url = self._client.format_url(request.url)
|
||||
|
||||
pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
|
||||
request,
|
||||
stream=False,
|
||||
**kwargs
|
||||
)
|
||||
response = pipeline_response.http_response
|
||||
|
||||
if response.status_code not in [200]:
|
||||
map_error(status_code=response.status_code, response=response, error_map=error_map)
|
||||
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
|
||||
|
||||
deserialized = self._deserialize('Secret', pipeline_response)
|
||||
|
||||
if cls:
|
||||
return cls(pipeline_response, deserialized, {})
|
||||
|
||||
return deserialized
|
||||
|
||||
update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openshiftclusters/{resourceName}/secret/{childResourceName}"} # type: ignore
|
||||
|
|
@ -0,0 +1,625 @@
|
|||
# pylint: disable=too-many-lines
|
||||
# coding=utf-8
|
||||
# --------------------------------------------------------------------------
|
||||
# Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code is regenerated.
|
||||
# --------------------------------------------------------------------------
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
from msrest import Serializer
|
||||
|
||||
from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
|
||||
from azure.core.paging import ItemPaged
|
||||
from azure.core.pipeline import PipelineResponse
|
||||
from azure.core.pipeline.transport import HttpResponse
|
||||
from azure.core.rest import HttpRequest
|
||||
from azure.core.tracing.decorator import distributed_trace
|
||||
from azure.mgmt.core.exceptions import ARMErrorFormat
|
||||
|
||||
from .. import models as _models
|
||||
from .._vendor import _convert_request, _format_url_section
|
||||
|
||||
if TYPE_CHECKING:
|
||||
# pylint: disable=unused-import,ungrouped-imports
|
||||
from typing import Any, Callable, Dict, Iterable, Optional, TypeVar
|
||||
T = TypeVar('T')
|
||||
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
|
||||
|
||||
_SERIALIZER = Serializer()
|
||||
_SERIALIZER.client_side_validation = False
|
||||
# fmt: off
|
||||
|
||||
def build_list_request(
|
||||
subscription_id, # type: str
|
||||
resource_group_name, # type: str
|
||||
resource_name, # type: str
|
||||
**kwargs # type: Any
|
||||
):
|
||||
# type: (...) -> HttpRequest
|
||||
api_version = kwargs.pop('api_version', "2023-07-01-preview") # type: str
|
||||
|
||||
accept = "application/json"
|
||||
# Construct URL
|
||||
_url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openShiftCluster/{resourceName}/syncIdentityProviders") # pylint: disable=line-too-long
|
||||
path_format_arguments = {
|
||||
"subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
|
||||
"resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
|
||||
"resourceName": _SERIALIZER.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$'),
|
||||
}
|
||||
|
||||
_url = _format_url_section(_url, **path_format_arguments)
|
||||
|
||||
# Construct parameters
|
||||
_query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
|
||||
_query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
|
||||
|
||||
# Construct headers
|
||||
_header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
|
||||
_header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
|
||||
|
||||
return HttpRequest(
|
||||
method="GET",
|
||||
url=_url,
|
||||
params=_query_parameters,
|
||||
headers=_header_parameters,
|
||||
**kwargs
|
||||
)
|
||||
|
||||
|
||||
def build_get_request(
|
||||
subscription_id, # type: str
|
||||
resource_group_name, # type: str
|
||||
resource_name, # type: str
|
||||
child_resource_name, # type: str
|
||||
**kwargs # type: Any
|
||||
):
|
||||
# type: (...) -> HttpRequest
|
||||
api_version = kwargs.pop('api_version', "2023-07-01-preview") # type: str
|
||||
|
||||
accept = "application/json"
|
||||
# Construct URL
|
||||
_url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openshiftclusters/{resourceName}/syncIdentityProvider/{childResourceName}") # pylint: disable=line-too-long
|
||||
path_format_arguments = {
|
||||
"subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
|
||||
"resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
|
||||
"resourceName": _SERIALIZER.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$'),
|
||||
"childResourceName": _SERIALIZER.url("child_resource_name", child_resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$'),
|
||||
}
|
||||
|
||||
_url = _format_url_section(_url, **path_format_arguments)
|
||||
|
||||
# Construct parameters
|
||||
_query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
|
||||
_query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
|
||||
|
||||
# Construct headers
|
||||
_header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
|
||||
_header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
|
||||
|
||||
return HttpRequest(
|
||||
method="GET",
|
||||
url=_url,
|
||||
params=_query_parameters,
|
||||
headers=_header_parameters,
|
||||
**kwargs
|
||||
)
|
||||
|
||||
|
||||
def build_create_or_update_request(
|
||||
subscription_id, # type: str
|
||||
resource_group_name, # type: str
|
||||
resource_name, # type: str
|
||||
child_resource_name, # type: str
|
||||
**kwargs # type: Any
|
||||
):
|
||||
# type: (...) -> HttpRequest
|
||||
api_version = kwargs.pop('api_version', "2023-07-01-preview") # type: str
|
||||
content_type = kwargs.pop('content_type', None) # type: Optional[str]
|
||||
|
||||
accept = "application/json"
|
||||
# Construct URL
|
||||
_url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openshiftclusters/{resourceName}/syncIdentityProvider/{childResourceName}") # pylint: disable=line-too-long
|
||||
path_format_arguments = {
|
||||
"subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
|
||||
"resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
|
||||
"resourceName": _SERIALIZER.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$'),
|
||||
"childResourceName": _SERIALIZER.url("child_resource_name", child_resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$'),
|
||||
}
|
||||
|
||||
_url = _format_url_section(_url, **path_format_arguments)
|
||||
|
||||
# Construct parameters
|
||||
_query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
|
||||
_query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
|
||||
|
||||
# Construct headers
|
||||
_header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
|
||||
if content_type is not None:
|
||||
_header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str')
|
||||
_header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
|
||||
|
||||
return HttpRequest(
|
||||
method="PUT",
|
||||
url=_url,
|
||||
params=_query_parameters,
|
||||
headers=_header_parameters,
|
||||
**kwargs
|
||||
)
|
||||
|
||||
|
||||
def build_delete_request(
|
||||
subscription_id, # type: str
|
||||
resource_group_name, # type: str
|
||||
resource_name, # type: str
|
||||
child_resource_name, # type: str
|
||||
**kwargs # type: Any
|
||||
):
|
||||
# type: (...) -> HttpRequest
|
||||
api_version = kwargs.pop('api_version', "2023-07-01-preview") # type: str
|
||||
|
||||
accept = "application/json"
|
||||
# Construct URL
|
||||
_url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openshiftclusters/{resourceName}/syncIdentityProvider/{childResourceName}") # pylint: disable=line-too-long
|
||||
path_format_arguments = {
|
||||
"subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
|
||||
"resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
|
||||
"resourceName": _SERIALIZER.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$'),
|
||||
"childResourceName": _SERIALIZER.url("child_resource_name", child_resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$'),
|
||||
}
|
||||
|
||||
_url = _format_url_section(_url, **path_format_arguments)
|
||||
|
||||
# Construct parameters
|
||||
_query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
|
||||
_query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
|
||||
|
||||
# Construct headers
|
||||
_header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
|
||||
_header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
|
||||
|
||||
return HttpRequest(
|
||||
method="DELETE",
|
||||
url=_url,
|
||||
params=_query_parameters,
|
||||
headers=_header_parameters,
|
||||
**kwargs
|
||||
)
|
||||
|
||||
|
||||
def build_update_request(
|
||||
subscription_id, # type: str
|
||||
resource_group_name, # type: str
|
||||
resource_name, # type: str
|
||||
child_resource_name, # type: str
|
||||
**kwargs # type: Any
|
||||
):
|
||||
# type: (...) -> HttpRequest
|
||||
api_version = kwargs.pop('api_version', "2023-07-01-preview") # type: str
|
||||
content_type = kwargs.pop('content_type', None) # type: Optional[str]
|
||||
|
||||
accept = "application/json"
|
||||
# Construct URL
|
||||
_url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openshiftclusters/{resourceName}/syncIdentityProvider/{childResourceName}") # pylint: disable=line-too-long
|
||||
path_format_arguments = {
|
||||
"subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
|
||||
"resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
|
||||
"resourceName": _SERIALIZER.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$'),
|
||||
"childResourceName": _SERIALIZER.url("child_resource_name", child_resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$'),
|
||||
}
|
||||
|
||||
_url = _format_url_section(_url, **path_format_arguments)
|
||||
|
||||
# Construct parameters
|
||||
_query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
|
||||
_query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
|
||||
|
||||
# Construct headers
|
||||
_header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
|
||||
if content_type is not None:
|
||||
_header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str')
|
||||
_header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
|
||||
|
||||
return HttpRequest(
|
||||
method="PATCH",
|
||||
url=_url,
|
||||
params=_query_parameters,
|
||||
headers=_header_parameters,
|
||||
**kwargs
|
||||
)
|
||||
|
||||
# fmt: on
|
||||
class SyncIdentityProvidersOperations(object):
|
||||
"""SyncIdentityProvidersOperations operations.
|
||||
|
||||
You should not instantiate this class directly. Instead, you should create a Client instance that
|
||||
instantiates it for you and attaches it as an attribute.
|
||||
|
||||
:ivar models: Alias to model classes used in this operation group.
|
||||
:type models: ~azure.mgmt.redhatopenshift.v2023_07_01_preview.models
|
||||
:param client: Client for service requests.
|
||||
:param config: Configuration of service client.
|
||||
:param serializer: An object model serializer.
|
||||
:param deserializer: An object model deserializer.
|
||||
"""
|
||||
|
||||
models = _models
|
||||
|
||||
def __init__(self, client, config, serializer, deserializer):
|
||||
self._client = client
|
||||
self._serialize = serializer
|
||||
self._deserialize = deserializer
|
||||
self._config = config
|
||||
|
||||
@distributed_trace
|
||||
def list(
|
||||
self,
|
||||
resource_group_name, # type: str
|
||||
resource_name, # type: str
|
||||
**kwargs # type: Any
|
||||
):
|
||||
# type: (...) -> Iterable["_models.SyncIdentityProviderList"]
|
||||
"""Lists SyncIdentityProviders that belong to that Azure Red Hat OpenShift Cluster.
|
||||
|
||||
The operation returns properties of each SyncIdentityProvider.
|
||||
|
||||
:param resource_group_name: The name of the resource group. The name is case insensitive.
|
||||
:type resource_group_name: str
|
||||
:param resource_name: The name of the OpenShift cluster resource.
|
||||
:type resource_name: str
|
||||
:keyword callable cls: A custom type or function that will be passed the direct response
|
||||
:return: An iterator like instance of either SyncIdentityProviderList or the result of
|
||||
cls(response)
|
||||
:rtype:
|
||||
~azure.core.paging.ItemPaged[~azure.mgmt.redhatopenshift.v2023_07_01_preview.models.SyncIdentityProviderList]
|
||||
:raises: ~azure.core.exceptions.HttpResponseError
|
||||
"""
|
||||
api_version = kwargs.pop('api_version', "2023-07-01-preview") # type: str
|
||||
|
||||
cls = kwargs.pop('cls', None) # type: ClsType["_models.SyncIdentityProviderList"]
|
||||
error_map = {
|
||||
401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
|
||||
}
|
||||
error_map.update(kwargs.pop('error_map', {}))
|
||||
def prepare_request(next_link=None):
|
||||
if not next_link:
|
||||
|
||||
request = build_list_request(
|
||||
subscription_id=self._config.subscription_id,
|
||||
resource_group_name=resource_group_name,
|
||||
resource_name=resource_name,
|
||||
api_version=api_version,
|
||||
template_url=self.list.metadata['url'],
|
||||
)
|
||||
request = _convert_request(request)
|
||||
request.url = self._client.format_url(request.url)
|
||||
|
||||
else:
|
||||
|
||||
request = build_list_request(
|
||||
subscription_id=self._config.subscription_id,
|
||||
resource_group_name=resource_group_name,
|
||||
resource_name=resource_name,
|
||||
api_version=api_version,
|
||||
template_url=next_link,
|
||||
)
|
||||
request = _convert_request(request)
|
||||
request.url = self._client.format_url(request.url)
|
||||
request.method = "GET"
|
||||
return request
|
||||
|
||||
def extract_data(pipeline_response):
|
||||
deserialized = self._deserialize("SyncIdentityProviderList", pipeline_response)
|
||||
list_of_elem = deserialized.value
|
||||
if cls:
|
||||
list_of_elem = cls(list_of_elem)
|
||||
return deserialized.next_link or None, iter(list_of_elem)
|
||||
|
||||
def get_next(next_link=None):
|
||||
request = prepare_request(next_link)
|
||||
|
||||
pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
|
||||
request,
|
||||
stream=False,
|
||||
**kwargs
|
||||
)
|
||||
response = pipeline_response.http_response
|
||||
|
||||
if response.status_code not in [200]:
|
||||
map_error(status_code=response.status_code, response=response, error_map=error_map)
|
||||
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
|
||||
|
||||
return pipeline_response
|
||||
|
||||
|
||||
return ItemPaged(
|
||||
get_next, extract_data
|
||||
)
|
||||
list.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openShiftCluster/{resourceName}/syncIdentityProviders"} # type: ignore
|
||||
|
||||
@distributed_trace
|
||||
def get(
|
||||
self,
|
||||
resource_group_name, # type: str
|
||||
resource_name, # type: str
|
||||
child_resource_name, # type: str
|
||||
**kwargs # type: Any
|
||||
):
|
||||
# type: (...) -> "_models.SyncIdentityProvider"
|
||||
"""Gets a SyncIdentityProvider with the specified subscription, resource group and resource name.
|
||||
|
||||
The operation returns properties of a SyncIdentityProvider.
|
||||
|
||||
:param resource_group_name: The name of the resource group. The name is case insensitive.
|
||||
:type resource_group_name: str
|
||||
:param resource_name: The name of the OpenShift cluster resource.
|
||||
:type resource_name: str
|
||||
:param child_resource_name: The name of the SyncIdentityProvider resource.
|
||||
:type child_resource_name: str
|
||||
:keyword callable cls: A custom type or function that will be passed the direct response
|
||||
:return: SyncIdentityProvider, or the result of cls(response)
|
||||
:rtype: ~azure.mgmt.redhatopenshift.v2023_07_01_preview.models.SyncIdentityProvider
|
||||
:raises: ~azure.core.exceptions.HttpResponseError
|
||||
"""
|
||||
cls = kwargs.pop('cls', None) # type: ClsType["_models.SyncIdentityProvider"]
|
||||
error_map = {
|
||||
401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
|
||||
}
|
||||
error_map.update(kwargs.pop('error_map', {}))
|
||||
|
||||
api_version = kwargs.pop('api_version', "2023-07-01-preview") # type: str
|
||||
|
||||
|
||||
request = build_get_request(
|
||||
subscription_id=self._config.subscription_id,
|
||||
resource_group_name=resource_group_name,
|
||||
resource_name=resource_name,
|
||||
child_resource_name=child_resource_name,
|
||||
api_version=api_version,
|
||||
template_url=self.get.metadata['url'],
|
||||
)
|
||||
request = _convert_request(request)
|
||||
request.url = self._client.format_url(request.url)
|
||||
|
||||
pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
|
||||
request,
|
||||
stream=False,
|
||||
**kwargs
|
||||
)
|
||||
response = pipeline_response.http_response
|
||||
|
||||
if response.status_code not in [200]:
|
||||
map_error(status_code=response.status_code, response=response, error_map=error_map)
|
||||
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
|
||||
|
||||
deserialized = self._deserialize('SyncIdentityProvider', pipeline_response)
|
||||
|
||||
if cls:
|
||||
return cls(pipeline_response, deserialized, {})
|
||||
|
||||
return deserialized
|
||||
|
||||
get.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openshiftclusters/{resourceName}/syncIdentityProvider/{childResourceName}"} # type: ignore
|
||||
|
||||
|
||||
@distributed_trace
|
||||
def create_or_update(
|
||||
self,
|
||||
resource_group_name, # type: str
|
||||
resource_name, # type: str
|
||||
child_resource_name, # type: str
|
||||
parameters, # type: "_models.SyncIdentityProvider"
|
||||
**kwargs # type: Any
|
||||
):
|
||||
# type: (...) -> "_models.SyncIdentityProvider"
|
||||
"""Creates or updates a SyncIdentityProvider with the specified subscription, resource group and
|
||||
resource name.
|
||||
|
||||
The operation returns properties of a SyncIdentityProvider.
|
||||
|
||||
:param resource_group_name: The name of the resource group. The name is case insensitive.
|
||||
:type resource_group_name: str
|
||||
:param resource_name: The name of the OpenShift cluster resource.
|
||||
:type resource_name: str
|
||||
:param child_resource_name: The name of the SyncIdentityProvider resource.
|
||||
:type child_resource_name: str
|
||||
:param parameters: The SyncIdentityProvider resource.
|
||||
:type parameters: ~azure.mgmt.redhatopenshift.v2023_07_01_preview.models.SyncIdentityProvider
|
||||
:keyword callable cls: A custom type or function that will be passed the direct response
|
||||
:return: SyncIdentityProvider, or the result of cls(response)
|
||||
:rtype: ~azure.mgmt.redhatopenshift.v2023_07_01_preview.models.SyncIdentityProvider
|
||||
:raises: ~azure.core.exceptions.HttpResponseError
|
||||
"""
|
||||
cls = kwargs.pop('cls', None) # type: ClsType["_models.SyncIdentityProvider"]
|
||||
error_map = {
|
||||
401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
|
||||
}
|
||||
error_map.update(kwargs.pop('error_map', {}))
|
||||
|
||||
api_version = kwargs.pop('api_version', "2023-07-01-preview") # type: str
|
||||
content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
|
||||
|
||||
_json = self._serialize.body(parameters, 'SyncIdentityProvider')
|
||||
|
||||
request = build_create_or_update_request(
|
||||
subscription_id=self._config.subscription_id,
|
||||
resource_group_name=resource_group_name,
|
||||
resource_name=resource_name,
|
||||
child_resource_name=child_resource_name,
|
||||
api_version=api_version,
|
||||
content_type=content_type,
|
||||
json=_json,
|
||||
template_url=self.create_or_update.metadata['url'],
|
||||
)
|
||||
request = _convert_request(request)
|
||||
request.url = self._client.format_url(request.url)
|
||||
|
||||
pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
|
||||
request,
|
||||
stream=False,
|
||||
**kwargs
|
||||
)
|
||||
response = pipeline_response.http_response
|
||||
|
||||
if response.status_code not in [200, 201]:
|
||||
map_error(status_code=response.status_code, response=response, error_map=error_map)
|
||||
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
|
||||
|
||||
if response.status_code == 200:
|
||||
deserialized = self._deserialize('SyncIdentityProvider', pipeline_response)
|
||||
|
||||
if response.status_code == 201:
|
||||
deserialized = self._deserialize('SyncIdentityProvider', pipeline_response)
|
||||
|
||||
if cls:
|
||||
return cls(pipeline_response, deserialized, {})
|
||||
|
||||
return deserialized
|
||||
|
||||
create_or_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openshiftclusters/{resourceName}/syncIdentityProvider/{childResourceName}"} # type: ignore
|
||||
|
||||
|
||||
@distributed_trace
|
||||
def delete( # pylint: disable=inconsistent-return-statements
|
||||
self,
|
||||
resource_group_name, # type: str
|
||||
resource_name, # type: str
|
||||
child_resource_name, # type: str
|
||||
**kwargs # type: Any
|
||||
):
|
||||
# type: (...) -> None
|
||||
"""Deletes a SyncIdentityProvider with the specified subscription, resource group and resource
|
||||
name.
|
||||
|
||||
The operation returns nothing.
|
||||
|
||||
:param resource_group_name: The name of the resource group. The name is case insensitive.
|
||||
:type resource_group_name: str
|
||||
:param resource_name: The name of the OpenShift cluster resource.
|
||||
:type resource_name: str
|
||||
:param child_resource_name: The name of the SyncIdentityProvider resource.
|
||||
:type child_resource_name: str
|
||||
:keyword callable cls: A custom type or function that will be passed the direct response
|
||||
:return: None, or the result of cls(response)
|
||||
:rtype: None
|
||||
:raises: ~azure.core.exceptions.HttpResponseError
|
||||
"""
|
||||
cls = kwargs.pop('cls', None) # type: ClsType[None]
|
||||
error_map = {
|
||||
401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
|
||||
}
|
||||
error_map.update(kwargs.pop('error_map', {}))
|
||||
|
||||
api_version = kwargs.pop('api_version', "2023-07-01-preview") # type: str
|
||||
|
||||
|
||||
request = build_delete_request(
|
||||
subscription_id=self._config.subscription_id,
|
||||
resource_group_name=resource_group_name,
|
||||
resource_name=resource_name,
|
||||
child_resource_name=child_resource_name,
|
||||
api_version=api_version,
|
||||
template_url=self.delete.metadata['url'],
|
||||
)
|
||||
request = _convert_request(request)
|
||||
request.url = self._client.format_url(request.url)
|
||||
|
||||
pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
|
||||
request,
|
||||
stream=False,
|
||||
**kwargs
|
||||
)
|
||||
response = pipeline_response.http_response
|
||||
|
||||
if response.status_code not in [200, 204]:
|
||||
map_error(status_code=response.status_code, response=response, error_map=error_map)
|
||||
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
|
||||
|
||||
if cls:
|
||||
return cls(pipeline_response, None, {})
|
||||
|
||||
delete.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openshiftclusters/{resourceName}/syncIdentityProvider/{childResourceName}"} # type: ignore
|
||||
|
||||
|
||||
@distributed_trace
|
||||
def update(
|
||||
self,
|
||||
resource_group_name, # type: str
|
||||
resource_name, # type: str
|
||||
child_resource_name, # type: str
|
||||
parameters, # type: "_models.SyncIdentityProviderUpdate"
|
||||
**kwargs # type: Any
|
||||
):
|
||||
# type: (...) -> "_models.SyncIdentityProvider"
|
||||
"""Updates a SyncIdentityProvider with the specified subscription, resource group and resource
|
||||
name.
|
||||
|
||||
The operation returns properties of a SyncIdentityProvider.
|
||||
|
||||
:param resource_group_name: The name of the resource group. The name is case insensitive.
|
||||
:type resource_group_name: str
|
||||
:param resource_name: The name of the OpenShift cluster resource.
|
||||
:type resource_name: str
|
||||
:param child_resource_name: The name of the SyncIdentityProvider resource.
|
||||
:type child_resource_name: str
|
||||
:param parameters: The SyncIdentityProvider resource.
|
||||
:type parameters:
|
||||
~azure.mgmt.redhatopenshift.v2023_07_01_preview.models.SyncIdentityProviderUpdate
|
||||
:keyword callable cls: A custom type or function that will be passed the direct response
|
||||
:return: SyncIdentityProvider, or the result of cls(response)
|
||||
:rtype: ~azure.mgmt.redhatopenshift.v2023_07_01_preview.models.SyncIdentityProvider
|
||||
:raises: ~azure.core.exceptions.HttpResponseError
|
||||
"""
|
||||
cls = kwargs.pop('cls', None) # type: ClsType["_models.SyncIdentityProvider"]
|
||||
error_map = {
|
||||
401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
|
||||
}
|
||||
error_map.update(kwargs.pop('error_map', {}))
|
||||
|
||||
api_version = kwargs.pop('api_version', "2023-07-01-preview") # type: str
|
||||
content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
|
||||
|
||||
_json = self._serialize.body(parameters, 'SyncIdentityProviderUpdate')
|
||||
|
||||
request = build_update_request(
|
||||
subscription_id=self._config.subscription_id,
|
||||
resource_group_name=resource_group_name,
|
||||
resource_name=resource_name,
|
||||
child_resource_name=child_resource_name,
|
||||
api_version=api_version,
|
||||
content_type=content_type,
|
||||
json=_json,
|
||||
template_url=self.update.metadata['url'],
|
||||
)
|
||||
request = _convert_request(request)
|
||||
request.url = self._client.format_url(request.url)
|
||||
|
||||
pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
|
||||
request,
|
||||
stream=False,
|
||||
**kwargs
|
||||
)
|
||||
response = pipeline_response.http_response
|
||||
|
||||
if response.status_code not in [200]:
|
||||
map_error(status_code=response.status_code, response=response, error_map=error_map)
|
||||
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
|
||||
|
||||
deserialized = self._deserialize('SyncIdentityProvider', pipeline_response)
|
||||
|
||||
if cls:
|
||||
return cls(pipeline_response, deserialized, {})
|
||||
|
||||
return deserialized
|
||||
|
||||
update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openshiftclusters/{resourceName}/syncIdentityProvider/{childResourceName}"} # type: ignore
|
||||
|
|
@ -0,0 +1,620 @@
|
|||
# pylint: disable=too-many-lines
|
||||
# coding=utf-8
|
||||
# --------------------------------------------------------------------------
|
||||
# Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code is regenerated.
|
||||
# --------------------------------------------------------------------------
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
from msrest import Serializer
|
||||
|
||||
from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
|
||||
from azure.core.paging import ItemPaged
|
||||
from azure.core.pipeline import PipelineResponse
|
||||
from azure.core.pipeline.transport import HttpResponse
|
||||
from azure.core.rest import HttpRequest
|
||||
from azure.core.tracing.decorator import distributed_trace
|
||||
from azure.mgmt.core.exceptions import ARMErrorFormat
|
||||
|
||||
from .. import models as _models
|
||||
from .._vendor import _convert_request, _format_url_section
|
||||
|
||||
if TYPE_CHECKING:
|
||||
# pylint: disable=unused-import,ungrouped-imports
|
||||
from typing import Any, Callable, Dict, Iterable, Optional, TypeVar
|
||||
T = TypeVar('T')
|
||||
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
|
||||
|
||||
_SERIALIZER = Serializer()
|
||||
_SERIALIZER.client_side_validation = False
|
||||
# fmt: off
|
||||
|
||||
def build_list_request(
|
||||
subscription_id, # type: str
|
||||
resource_group_name, # type: str
|
||||
resource_name, # type: str
|
||||
**kwargs # type: Any
|
||||
):
|
||||
# type: (...) -> HttpRequest
|
||||
api_version = kwargs.pop('api_version', "2023-07-01-preview") # type: str
|
||||
|
||||
accept = "application/json"
|
||||
# Construct URL
|
||||
_url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openShiftCluster/{resourceName}/syncSets") # pylint: disable=line-too-long
|
||||
path_format_arguments = {
|
||||
"subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
|
||||
"resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
|
||||
"resourceName": _SERIALIZER.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$'),
|
||||
}
|
||||
|
||||
_url = _format_url_section(_url, **path_format_arguments)
|
||||
|
||||
# Construct parameters
|
||||
_query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
|
||||
_query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
|
||||
|
||||
# Construct headers
|
||||
_header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
|
||||
_header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
|
||||
|
||||
return HttpRequest(
|
||||
method="GET",
|
||||
url=_url,
|
||||
params=_query_parameters,
|
||||
headers=_header_parameters,
|
||||
**kwargs
|
||||
)
|
||||
|
||||
|
||||
def build_get_request(
|
||||
subscription_id, # type: str
|
||||
resource_group_name, # type: str
|
||||
resource_name, # type: str
|
||||
child_resource_name, # type: str
|
||||
**kwargs # type: Any
|
||||
):
|
||||
# type: (...) -> HttpRequest
|
||||
api_version = kwargs.pop('api_version', "2023-07-01-preview") # type: str
|
||||
|
||||
accept = "application/json"
|
||||
# Construct URL
|
||||
_url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openshiftclusters/{resourceName}/syncSet/{childResourceName}") # pylint: disable=line-too-long
|
||||
path_format_arguments = {
|
||||
"subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
|
||||
"resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
|
||||
"resourceName": _SERIALIZER.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$'),
|
||||
"childResourceName": _SERIALIZER.url("child_resource_name", child_resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$'),
|
||||
}
|
||||
|
||||
_url = _format_url_section(_url, **path_format_arguments)
|
||||
|
||||
# Construct parameters
|
||||
_query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
|
||||
_query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
|
||||
|
||||
# Construct headers
|
||||
_header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
|
||||
_header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
|
||||
|
||||
return HttpRequest(
|
||||
method="GET",
|
||||
url=_url,
|
||||
params=_query_parameters,
|
||||
headers=_header_parameters,
|
||||
**kwargs
|
||||
)
|
||||
|
||||
|
||||
def build_create_or_update_request(
|
||||
subscription_id, # type: str
|
||||
resource_group_name, # type: str
|
||||
resource_name, # type: str
|
||||
child_resource_name, # type: str
|
||||
**kwargs # type: Any
|
||||
):
|
||||
# type: (...) -> HttpRequest
|
||||
api_version = kwargs.pop('api_version', "2023-07-01-preview") # type: str
|
||||
content_type = kwargs.pop('content_type', None) # type: Optional[str]
|
||||
|
||||
accept = "application/json"
|
||||
# Construct URL
|
||||
_url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openshiftclusters/{resourceName}/syncSet/{childResourceName}") # pylint: disable=line-too-long
|
||||
path_format_arguments = {
|
||||
"subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
|
||||
"resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
|
||||
"resourceName": _SERIALIZER.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$'),
|
||||
"childResourceName": _SERIALIZER.url("child_resource_name", child_resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$'),
|
||||
}
|
||||
|
||||
_url = _format_url_section(_url, **path_format_arguments)
|
||||
|
||||
# Construct parameters
|
||||
_query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
|
||||
_query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
|
||||
|
||||
# Construct headers
|
||||
_header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
|
||||
if content_type is not None:
|
||||
_header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str')
|
||||
_header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
|
||||
|
||||
return HttpRequest(
|
||||
method="PUT",
|
||||
url=_url,
|
||||
params=_query_parameters,
|
||||
headers=_header_parameters,
|
||||
**kwargs
|
||||
)
|
||||
|
||||
|
||||
def build_delete_request(
|
||||
subscription_id, # type: str
|
||||
resource_group_name, # type: str
|
||||
resource_name, # type: str
|
||||
child_resource_name, # type: str
|
||||
**kwargs # type: Any
|
||||
):
|
||||
# type: (...) -> HttpRequest
|
||||
api_version = kwargs.pop('api_version', "2023-07-01-preview") # type: str
|
||||
|
||||
accept = "application/json"
|
||||
# Construct URL
|
||||
_url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openshiftclusters/{resourceName}/syncSet/{childResourceName}") # pylint: disable=line-too-long
|
||||
path_format_arguments = {
|
||||
"subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
|
||||
"resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
|
||||
"resourceName": _SERIALIZER.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$'),
|
||||
"childResourceName": _SERIALIZER.url("child_resource_name", child_resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$'),
|
||||
}
|
||||
|
||||
_url = _format_url_section(_url, **path_format_arguments)
|
||||
|
||||
# Construct parameters
|
||||
_query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
|
||||
_query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
|
||||
|
||||
# Construct headers
|
||||
_header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
|
||||
_header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
|
||||
|
||||
return HttpRequest(
|
||||
method="DELETE",
|
||||
url=_url,
|
||||
params=_query_parameters,
|
||||
headers=_header_parameters,
|
||||
**kwargs
|
||||
)
|
||||
|
||||
|
||||
def build_update_request(
|
||||
subscription_id, # type: str
|
||||
resource_group_name, # type: str
|
||||
resource_name, # type: str
|
||||
child_resource_name, # type: str
|
||||
**kwargs # type: Any
|
||||
):
|
||||
# type: (...) -> HttpRequest
|
||||
api_version = kwargs.pop('api_version', "2023-07-01-preview") # type: str
|
||||
content_type = kwargs.pop('content_type', None) # type: Optional[str]
|
||||
|
||||
accept = "application/json"
|
||||
# Construct URL
|
||||
_url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openshiftclusters/{resourceName}/syncSet/{childResourceName}") # pylint: disable=line-too-long
|
||||
path_format_arguments = {
|
||||
"subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
|
||||
"resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
|
||||
"resourceName": _SERIALIZER.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$'),
|
||||
"childResourceName": _SERIALIZER.url("child_resource_name", child_resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$'),
|
||||
}
|
||||
|
||||
_url = _format_url_section(_url, **path_format_arguments)
|
||||
|
||||
# Construct parameters
|
||||
_query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
|
||||
_query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
|
||||
|
||||
# Construct headers
|
||||
_header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
|
||||
if content_type is not None:
|
||||
_header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str')
|
||||
_header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
|
||||
|
||||
return HttpRequest(
|
||||
method="PATCH",
|
||||
url=_url,
|
||||
params=_query_parameters,
|
||||
headers=_header_parameters,
|
||||
**kwargs
|
||||
)
|
||||
|
||||
# fmt: on
|
||||
class SyncSetsOperations(object):
|
||||
"""SyncSetsOperations operations.
|
||||
|
||||
You should not instantiate this class directly. Instead, you should create a Client instance that
|
||||
instantiates it for you and attaches it as an attribute.
|
||||
|
||||
:ivar models: Alias to model classes used in this operation group.
|
||||
:type models: ~azure.mgmt.redhatopenshift.v2023_07_01_preview.models
|
||||
:param client: Client for service requests.
|
||||
:param config: Configuration of service client.
|
||||
:param serializer: An object model serializer.
|
||||
:param deserializer: An object model deserializer.
|
||||
"""
|
||||
|
||||
models = _models
|
||||
|
||||
def __init__(self, client, config, serializer, deserializer):
|
||||
self._client = client
|
||||
self._serialize = serializer
|
||||
self._deserialize = deserializer
|
||||
self._config = config
|
||||
|
||||
@distributed_trace
|
||||
def list(
|
||||
self,
|
||||
resource_group_name, # type: str
|
||||
resource_name, # type: str
|
||||
**kwargs # type: Any
|
||||
):
|
||||
# type: (...) -> Iterable["_models.SyncSetList"]
|
||||
"""Lists SyncSets that belong to that Azure Red Hat OpenShift Cluster.
|
||||
|
||||
The operation returns properties of each SyncSet.
|
||||
|
||||
:param resource_group_name: The name of the resource group. The name is case insensitive.
|
||||
:type resource_group_name: str
|
||||
:param resource_name: The name of the OpenShift cluster resource.
|
||||
:type resource_name: str
|
||||
:keyword callable cls: A custom type or function that will be passed the direct response
|
||||
:return: An iterator like instance of either SyncSetList or the result of cls(response)
|
||||
:rtype:
|
||||
~azure.core.paging.ItemPaged[~azure.mgmt.redhatopenshift.v2023_07_01_preview.models.SyncSetList]
|
||||
:raises: ~azure.core.exceptions.HttpResponseError
|
||||
"""
|
||||
api_version = kwargs.pop('api_version', "2023-07-01-preview") # type: str
|
||||
|
||||
cls = kwargs.pop('cls', None) # type: ClsType["_models.SyncSetList"]
|
||||
error_map = {
|
||||
401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
|
||||
}
|
||||
error_map.update(kwargs.pop('error_map', {}))
|
||||
def prepare_request(next_link=None):
|
||||
if not next_link:
|
||||
|
||||
request = build_list_request(
|
||||
subscription_id=self._config.subscription_id,
|
||||
resource_group_name=resource_group_name,
|
||||
resource_name=resource_name,
|
||||
api_version=api_version,
|
||||
template_url=self.list.metadata['url'],
|
||||
)
|
||||
request = _convert_request(request)
|
||||
request.url = self._client.format_url(request.url)
|
||||
|
||||
else:
|
||||
|
||||
request = build_list_request(
|
||||
subscription_id=self._config.subscription_id,
|
||||
resource_group_name=resource_group_name,
|
||||
resource_name=resource_name,
|
||||
api_version=api_version,
|
||||
template_url=next_link,
|
||||
)
|
||||
request = _convert_request(request)
|
||||
request.url = self._client.format_url(request.url)
|
||||
request.method = "GET"
|
||||
return request
|
||||
|
||||
def extract_data(pipeline_response):
|
||||
deserialized = self._deserialize("SyncSetList", pipeline_response)
|
||||
list_of_elem = deserialized.value
|
||||
if cls:
|
||||
list_of_elem = cls(list_of_elem)
|
||||
return deserialized.next_link or None, iter(list_of_elem)
|
||||
|
||||
def get_next(next_link=None):
|
||||
request = prepare_request(next_link)
|
||||
|
||||
pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
|
||||
request,
|
||||
stream=False,
|
||||
**kwargs
|
||||
)
|
||||
response = pipeline_response.http_response
|
||||
|
||||
if response.status_code not in [200]:
|
||||
map_error(status_code=response.status_code, response=response, error_map=error_map)
|
||||
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
|
||||
|
||||
return pipeline_response
|
||||
|
||||
|
||||
return ItemPaged(
|
||||
get_next, extract_data
|
||||
)
|
||||
list.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openShiftCluster/{resourceName}/syncSets"} # type: ignore
|
||||
|
||||
@distributed_trace
|
||||
def get(
|
||||
self,
|
||||
resource_group_name, # type: str
|
||||
resource_name, # type: str
|
||||
child_resource_name, # type: str
|
||||
**kwargs # type: Any
|
||||
):
|
||||
# type: (...) -> "_models.SyncSet"
|
||||
"""Gets a SyncSet with the specified subscription, resource group and resource name.
|
||||
|
||||
The operation returns properties of a SyncSet.
|
||||
|
||||
:param resource_group_name: The name of the resource group. The name is case insensitive.
|
||||
:type resource_group_name: str
|
||||
:param resource_name: The name of the OpenShift cluster resource.
|
||||
:type resource_name: str
|
||||
:param child_resource_name: The name of the SyncSet resource.
|
||||
:type child_resource_name: str
|
||||
:keyword callable cls: A custom type or function that will be passed the direct response
|
||||
:return: SyncSet, or the result of cls(response)
|
||||
:rtype: ~azure.mgmt.redhatopenshift.v2023_07_01_preview.models.SyncSet
|
||||
:raises: ~azure.core.exceptions.HttpResponseError
|
||||
"""
|
||||
cls = kwargs.pop('cls', None) # type: ClsType["_models.SyncSet"]
|
||||
error_map = {
|
||||
401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
|
||||
}
|
||||
error_map.update(kwargs.pop('error_map', {}))
|
||||
|
||||
api_version = kwargs.pop('api_version', "2023-07-01-preview") # type: str
|
||||
|
||||
|
||||
request = build_get_request(
|
||||
subscription_id=self._config.subscription_id,
|
||||
resource_group_name=resource_group_name,
|
||||
resource_name=resource_name,
|
||||
child_resource_name=child_resource_name,
|
||||
api_version=api_version,
|
||||
template_url=self.get.metadata['url'],
|
||||
)
|
||||
request = _convert_request(request)
|
||||
request.url = self._client.format_url(request.url)
|
||||
|
||||
pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
|
||||
request,
|
||||
stream=False,
|
||||
**kwargs
|
||||
)
|
||||
response = pipeline_response.http_response
|
||||
|
||||
if response.status_code not in [200]:
|
||||
map_error(status_code=response.status_code, response=response, error_map=error_map)
|
||||
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
|
||||
|
||||
deserialized = self._deserialize('SyncSet', pipeline_response)
|
||||
|
||||
if cls:
|
||||
return cls(pipeline_response, deserialized, {})
|
||||
|
||||
return deserialized
|
||||
|
||||
get.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openshiftclusters/{resourceName}/syncSet/{childResourceName}"} # type: ignore
|
||||
|
||||
|
||||
@distributed_trace
|
||||
def create_or_update(
|
||||
self,
|
||||
resource_group_name, # type: str
|
||||
resource_name, # type: str
|
||||
child_resource_name, # type: str
|
||||
parameters, # type: "_models.SyncSet"
|
||||
**kwargs # type: Any
|
||||
):
|
||||
# type: (...) -> "_models.SyncSet"
|
||||
"""Creates or updates a SyncSet with the specified subscription, resource group and resource name.
|
||||
|
||||
The operation returns properties of a SyncSet.
|
||||
|
||||
:param resource_group_name: The name of the resource group. The name is case insensitive.
|
||||
:type resource_group_name: str
|
||||
:param resource_name: The name of the OpenShift cluster resource.
|
||||
:type resource_name: str
|
||||
:param child_resource_name: The name of the SyncSet resource.
|
||||
:type child_resource_name: str
|
||||
:param parameters: The SyncSet resource.
|
||||
:type parameters: ~azure.mgmt.redhatopenshift.v2023_07_01_preview.models.SyncSet
|
||||
:keyword callable cls: A custom type or function that will be passed the direct response
|
||||
:return: SyncSet, or the result of cls(response)
|
||||
:rtype: ~azure.mgmt.redhatopenshift.v2023_07_01_preview.models.SyncSet
|
||||
:raises: ~azure.core.exceptions.HttpResponseError
|
||||
"""
|
||||
cls = kwargs.pop('cls', None) # type: ClsType["_models.SyncSet"]
|
||||
error_map = {
|
||||
401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
|
||||
}
|
||||
error_map.update(kwargs.pop('error_map', {}))
|
||||
|
||||
api_version = kwargs.pop('api_version', "2023-07-01-preview") # type: str
|
||||
content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
|
||||
|
||||
_json = self._serialize.body(parameters, 'SyncSet')
|
||||
|
||||
request = build_create_or_update_request(
|
||||
subscription_id=self._config.subscription_id,
|
||||
resource_group_name=resource_group_name,
|
||||
resource_name=resource_name,
|
||||
child_resource_name=child_resource_name,
|
||||
api_version=api_version,
|
||||
content_type=content_type,
|
||||
json=_json,
|
||||
template_url=self.create_or_update.metadata['url'],
|
||||
)
|
||||
request = _convert_request(request)
|
||||
request.url = self._client.format_url(request.url)
|
||||
|
||||
pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
|
||||
request,
|
||||
stream=False,
|
||||
**kwargs
|
||||
)
|
||||
response = pipeline_response.http_response
|
||||
|
||||
if response.status_code not in [200, 201]:
|
||||
map_error(status_code=response.status_code, response=response, error_map=error_map)
|
||||
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
|
||||
|
||||
if response.status_code == 200:
|
||||
deserialized = self._deserialize('SyncSet', pipeline_response)
|
||||
|
||||
if response.status_code == 201:
|
||||
deserialized = self._deserialize('SyncSet', pipeline_response)
|
||||
|
||||
if cls:
|
||||
return cls(pipeline_response, deserialized, {})
|
||||
|
||||
return deserialized
|
||||
|
||||
create_or_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openshiftclusters/{resourceName}/syncSet/{childResourceName}"} # type: ignore
|
||||
|
||||
|
||||
@distributed_trace
|
||||
def delete( # pylint: disable=inconsistent-return-statements
|
||||
self,
|
||||
resource_group_name, # type: str
|
||||
resource_name, # type: str
|
||||
child_resource_name, # type: str
|
||||
**kwargs # type: Any
|
||||
):
|
||||
# type: (...) -> None
|
||||
"""Deletes a SyncSet with the specified subscription, resource group and resource name.
|
||||
|
||||
The operation returns nothing.
|
||||
|
||||
:param resource_group_name: The name of the resource group. The name is case insensitive.
|
||||
:type resource_group_name: str
|
||||
:param resource_name: The name of the OpenShift cluster resource.
|
||||
:type resource_name: str
|
||||
:param child_resource_name: The name of the SyncSet resource.
|
||||
:type child_resource_name: str
|
||||
:keyword callable cls: A custom type or function that will be passed the direct response
|
||||
:return: None, or the result of cls(response)
|
||||
:rtype: None
|
||||
:raises: ~azure.core.exceptions.HttpResponseError
|
||||
"""
|
||||
cls = kwargs.pop('cls', None) # type: ClsType[None]
|
||||
error_map = {
|
||||
401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
|
||||
}
|
||||
error_map.update(kwargs.pop('error_map', {}))
|
||||
|
||||
api_version = kwargs.pop('api_version', "2023-07-01-preview") # type: str
|
||||
|
||||
|
||||
request = build_delete_request(
|
||||
subscription_id=self._config.subscription_id,
|
||||
resource_group_name=resource_group_name,
|
||||
resource_name=resource_name,
|
||||
child_resource_name=child_resource_name,
|
||||
api_version=api_version,
|
||||
template_url=self.delete.metadata['url'],
|
||||
)
|
||||
request = _convert_request(request)
|
||||
request.url = self._client.format_url(request.url)
|
||||
|
||||
pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
|
||||
request,
|
||||
stream=False,
|
||||
**kwargs
|
||||
)
|
||||
response = pipeline_response.http_response
|
||||
|
||||
if response.status_code not in [200, 204]:
|
||||
map_error(status_code=response.status_code, response=response, error_map=error_map)
|
||||
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
|
||||
|
||||
if cls:
|
||||
return cls(pipeline_response, None, {})
|
||||
|
||||
delete.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openshiftclusters/{resourceName}/syncSet/{childResourceName}"} # type: ignore
|
||||
|
||||
|
||||
@distributed_trace
|
||||
def update(
|
||||
self,
|
||||
resource_group_name, # type: str
|
||||
resource_name, # type: str
|
||||
child_resource_name, # type: str
|
||||
parameters, # type: "_models.SyncSetUpdate"
|
||||
**kwargs # type: Any
|
||||
):
|
||||
# type: (...) -> "_models.SyncSet"
|
||||
"""Updates a SyncSet with the specified subscription, resource group and resource name.
|
||||
|
||||
The operation returns properties of a SyncSet.
|
||||
|
||||
:param resource_group_name: The name of the resource group. The name is case insensitive.
|
||||
:type resource_group_name: str
|
||||
:param resource_name: The name of the OpenShift cluster resource.
|
||||
:type resource_name: str
|
||||
:param child_resource_name: The name of the SyncSet resource.
|
||||
:type child_resource_name: str
|
||||
:param parameters: The SyncSet resource.
|
||||
:type parameters: ~azure.mgmt.redhatopenshift.v2023_07_01_preview.models.SyncSetUpdate
|
||||
:keyword callable cls: A custom type or function that will be passed the direct response
|
||||
:return: SyncSet, or the result of cls(response)
|
||||
:rtype: ~azure.mgmt.redhatopenshift.v2023_07_01_preview.models.SyncSet
|
||||
:raises: ~azure.core.exceptions.HttpResponseError
|
||||
"""
|
||||
cls = kwargs.pop('cls', None) # type: ClsType["_models.SyncSet"]
|
||||
error_map = {
|
||||
401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
|
||||
}
|
||||
error_map.update(kwargs.pop('error_map', {}))
|
||||
|
||||
api_version = kwargs.pop('api_version', "2023-07-01-preview") # type: str
|
||||
content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
|
||||
|
||||
_json = self._serialize.body(parameters, 'SyncSetUpdate')
|
||||
|
||||
request = build_update_request(
|
||||
subscription_id=self._config.subscription_id,
|
||||
resource_group_name=resource_group_name,
|
||||
resource_name=resource_name,
|
||||
child_resource_name=child_resource_name,
|
||||
api_version=api_version,
|
||||
content_type=content_type,
|
||||
json=_json,
|
||||
template_url=self.update.metadata['url'],
|
||||
)
|
||||
request = _convert_request(request)
|
||||
request.url = self._client.format_url(request.url)
|
||||
|
||||
pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
|
||||
request,
|
||||
stream=False,
|
||||
**kwargs
|
||||
)
|
||||
response = pipeline_response.http_response
|
||||
|
||||
if response.status_code not in [200]:
|
||||
map_error(status_code=response.status_code, response=response, error_map=error_map)
|
||||
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
|
||||
|
||||
deserialized = self._deserialize('SyncSet', pipeline_response)
|
||||
|
||||
if cls:
|
||||
return cls(pipeline_response, deserialized, {})
|
||||
|
||||
return deserialized
|
||||
|
||||
update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openshiftclusters/{resourceName}/syncSet/{childResourceName}"} # type: ignore
|
||||
|
|
@ -0,0 +1 @@
|
|||
# Marker file for PEP 561.
|
|
@ -0,0 +1,36 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-07-01-preview",
|
||||
"subscriptionId": "subscriptionId",
|
||||
"resourceGroupName": "resourceGroup",
|
||||
"resourceName": "resourceName",
|
||||
"childResourceName": "childResourceName",
|
||||
"parameters": {
|
||||
"properties": {
|
||||
"resources": "ewogICAgImFwaVZlcnNpb24iOiAiaGl2ZS5vcGVuc2hpZnQuaW8vdjEiLAogICAgImtpbmQiOiAiTWFjaGluZVBvb2wiLAogICAgIm1ldGFkYXRhIjogewogICAgICAgICJuYW1lIjogInRlc3QtY2x1c3Rlci13b3JrZXIiLAogICAgICAgICJuYW1lc3BhY2UiOiAiYXJvLWY2MGFlOGEyLWJjYTEtNDk4Ny05MDU2LVhYWFhYWFhYWFhYWCIKICAgIH0sCiAgICAic3BlYyI6IHsKICAgICAgICAiY2x1c3RlckRlcGxveW1lbnRSZWYiOiB7CiAgICAgICAgICAgICJuYW1lIjogInRlc3QtY2x1c3RlciIKICAgICAgICB9LAogICAgICAgICJuYW1lIjogIndvcmtlciIsCiAgICAgICAgInBsYXRmb3JtIjogewogICAgICAgICAgICAiYXdzIjogewogICAgICAgICAgICAgICAgInJvb3RWb2x1bWUiOiB7CiAgICAgICAgICAgICAgICAgICAgImlvcHMiOiAwLAogICAgICAgICAgICAgICAgICAgICJzaXplIjogMzAwLAogICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImdwMyIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAidHlwZSI6ICJtNS54bGFyZ2UiLAogICAgICAgICAgICAgICAgInpvbmVzIjogWwogICAgICAgICAgICAgICAgICAgICJ1cy1lYXN0LTFhIgogICAgICAgICAgICAgICAgXQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAicmVwbGljYXMiOiAyCiAgICB9LAogICAgInN0YXR1cyI6IHsKICAgICAgICAiY29uZGl0aW9ucyI6IFsKICAgICAgICBdCiAgICB9Cn0K"
|
||||
}
|
||||
}
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"body": {
|
||||
"id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName/machinePools/myMachinePool",
|
||||
"name": "myMachinePool",
|
||||
"type": "Microsoft.RedHatOpenShift/OpenShiftClusters/MachinePools",
|
||||
"properties": {
|
||||
"resources": "ewogICAgImFwaVZlcnNpb24iOiAiaGl2ZS5vcGVuc2hpZnQuaW8vdjEiLAogICAgImtpbmQiOiAiTWFjaGluZVBvb2wiLAogICAgIm1ldGFkYXRhIjogewogICAgICAgICJuYW1lIjogInRlc3QtY2x1c3Rlci13b3JrZXIiLAogICAgICAgICJuYW1lc3BhY2UiOiAiYXJvLWY2MGFlOGEyLWJjYTEtNDk4Ny05MDU2LVhYWFhYWFhYWFhYWCIKICAgIH0sCiAgICAic3BlYyI6IHsKICAgICAgICAiY2x1c3RlckRlcGxveW1lbnRSZWYiOiB7CiAgICAgICAgICAgICJuYW1lIjogInRlc3QtY2x1c3RlciIKICAgICAgICB9LAogICAgICAgICJuYW1lIjogIndvcmtlciIsCiAgICAgICAgInBsYXRmb3JtIjogewogICAgICAgICAgICAiYXdzIjogewogICAgICAgICAgICAgICAgInJvb3RWb2x1bWUiOiB7CiAgICAgICAgICAgICAgICAgICAgImlvcHMiOiAwLAogICAgICAgICAgICAgICAgICAgICJzaXplIjogMzAwLAogICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImdwMyIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAidHlwZSI6ICJtNS54bGFyZ2UiLAogICAgICAgICAgICAgICAgInpvbmVzIjogWwogICAgICAgICAgICAgICAgICAgICJ1cy1lYXN0LTFhIgogICAgICAgICAgICAgICAgXQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAicmVwbGljYXMiOiAyCiAgICB9LAogICAgInN0YXR1cyI6IHsKICAgICAgICAiY29uZGl0aW9ucyI6IFsKICAgICAgICBdCiAgICB9Cn0K"
|
||||
}
|
||||
}
|
||||
},
|
||||
"201": {
|
||||
"body": {
|
||||
"id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName/machinePools/myMachinePool",
|
||||
"name": "myMachinePool",
|
||||
"type": "Microsoft.RedHatOpenShift/OpenShiftClusters/MachinePools",
|
||||
"properties": {
|
||||
"resources": "ewogICAgImFwaVZlcnNpb24iOiAiaGl2ZS5vcGVuc2hpZnQuaW8vdjEiLAogICAgImtpbmQiOiAiTWFjaGluZVBvb2wiLAogICAgIm1ldGFkYXRhIjogewogICAgICAgICJuYW1lIjogInRlc3QtY2x1c3Rlci13b3JrZXIiLAogICAgICAgICJuYW1lc3BhY2UiOiAiYXJvLWY2MGFlOGEyLWJjYTEtNDk4Ny05MDU2LVhYWFhYWFhYWFhYWCIKICAgIH0sCiAgICAic3BlYyI6IHsKICAgICAgICAiY2x1c3RlckRlcGxveW1lbnRSZWYiOiB7CiAgICAgICAgICAgICJuYW1lIjogInRlc3QtY2x1c3RlciIKICAgICAgICB9LAogICAgICAgICJuYW1lIjogIndvcmtlciIsCiAgICAgICAgInBsYXRmb3JtIjogewogICAgICAgICAgICAiYXdzIjogewogICAgICAgICAgICAgICAgInJvb3RWb2x1bWUiOiB7CiAgICAgICAgICAgICAgICAgICAgImlvcHMiOiAwLAogICAgICAgICAgICAgICAgICAgICJzaXplIjogMzAwLAogICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImdwMyIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAidHlwZSI6ICJtNS54bGFyZ2UiLAogICAgICAgICAgICAgICAgInpvbmVzIjogWwogICAgICAgICAgICAgICAgICAgICJ1cy1lYXN0LTFhIgogICAgICAgICAgICAgICAgXQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAicmVwbGljYXMiOiAyCiAgICB9LAogICAgInN0YXR1cyI6IHsKICAgICAgICAiY29uZGl0aW9ucyI6IFsKICAgICAgICBdCiAgICB9Cn0K"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-07-01-preview",
|
||||
"subscriptionId": "subscriptionId",
|
||||
"resourceGroupName": "resourceGroup",
|
||||
"resourceName": "resourceName",
|
||||
"childResourceName": "childResourceName"
|
||||
},
|
||||
"responses": {
|
||||
"200": {},
|
||||
"204": {}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-07-01-preview",
|
||||
"subscriptionId": "subscriptionId",
|
||||
"resourceGroupName": "resourceGroup",
|
||||
"resourceName": "resourceName",
|
||||
"childResourceName": "childResourceName"
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"body": {
|
||||
"id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName/machinePools/myMachinePool",
|
||||
"name": "myMachinePool",
|
||||
"type": "Microsoft.RedHatOpenShift/OpenShiftClusters/MachinePools",
|
||||
"properties": {
|
||||
"resources": "ewogICAgImFwaVZlcnNpb24iOiAiaGl2ZS5vcGVuc2hpZnQuaW8vdjEiLAogICAgImtpbmQiOiAiTWFjaGluZVBvb2wiLAogICAgIm1ldGFkYXRhIjogewogICAgICAgICJuYW1lIjogInRlc3QtY2x1c3Rlci13b3JrZXIiLAogICAgICAgICJuYW1lc3BhY2UiOiAiYXJvLWY2MGFlOGEyLWJjYTEtNDk4Ny05MDU2LVhYWFhYWFhYWFhYWCIKICAgIH0sCiAgICAic3BlYyI6IHsKICAgICAgICAiY2x1c3RlckRlcGxveW1lbnRSZWYiOiB7CiAgICAgICAgICAgICJuYW1lIjogInRlc3QtY2x1c3RlciIKICAgICAgICB9LAogICAgICAgICJuYW1lIjogIndvcmtlciIsCiAgICAgICAgInBsYXRmb3JtIjogewogICAgICAgICAgICAiYXdzIjogewogICAgICAgICAgICAgICAgInJvb3RWb2x1bWUiOiB7CiAgICAgICAgICAgICAgICAgICAgImlvcHMiOiAwLAogICAgICAgICAgICAgICAgICAgICJzaXplIjogMzAwLAogICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImdwMyIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAidHlwZSI6ICJtNS54bGFyZ2UiLAogICAgICAgICAgICAgICAgInpvbmVzIjogWwogICAgICAgICAgICAgICAgICAgICJ1cy1lYXN0LTFhIgogICAgICAgICAgICAgICAgXQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAicmVwbGljYXMiOiAyCiAgICB9LAogICAgInN0YXR1cyI6IHsKICAgICAgICAiY29uZGl0aW9ucyI6IFsKICAgICAgICBdCiAgICB9Cn0K"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-07-01-preview",
|
||||
"subscriptionId": "subscriptionId",
|
||||
"resourceGroupName": "resourceGroup",
|
||||
"resourceName": "resourceName"
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"body": {
|
||||
"value": [
|
||||
{
|
||||
"id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName/machinePools/myMachinePool",
|
||||
"name": "myMachinePool",
|
||||
"type": "Microsoft.RedHatOpenShift/OpenShiftClusters/MachinePools",
|
||||
"properties": {
|
||||
"resources": "ewogICAgImFwaVZlcnNpb24iOiAiaGl2ZS5vcGVuc2hpZnQuaW8vdjEiLAogICAgImtpbmQiOiAiTWFjaGluZVBvb2wiLAogICAgIm1ldGFkYXRhIjogewogICAgICAgICJuYW1lIjogInRlc3QtY2x1c3Rlci13b3JrZXIiLAogICAgICAgICJuYW1lc3BhY2UiOiAiYXJvLWY2MGFlOGEyLWJjYTEtNDk4Ny05MDU2LVhYWFhYWFhYWFhYWCIKICAgIH0sCiAgICAic3BlYyI6IHsKICAgICAgICAiY2x1c3RlckRlcGxveW1lbnRSZWYiOiB7CiAgICAgICAgICAgICJuYW1lIjogInRlc3QtY2x1c3RlciIKICAgICAgICB9LAogICAgICAgICJuYW1lIjogIndvcmtlciIsCiAgICAgICAgInBsYXRmb3JtIjogewogICAgICAgICAgICAiYXdzIjogewogICAgICAgICAgICAgICAgInJvb3RWb2x1bWUiOiB7CiAgICAgICAgICAgICAgICAgICAgImlvcHMiOiAwLAogICAgICAgICAgICAgICAgICAgICJzaXplIjogMzAwLAogICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImdwMyIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAidHlwZSI6ICJtNS54bGFyZ2UiLAogICAgICAgICAgICAgICAgInpvbmVzIjogWwogICAgICAgICAgICAgICAgICAgICJ1cy1lYXN0LTFhIgogICAgICAgICAgICAgICAgXQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAicmVwbGljYXMiOiAyCiAgICB9LAogICAgInN0YXR1cyI6IHsKICAgICAgICAiY29uZGl0aW9ucyI6IFsKICAgICAgICBdCiAgICB9Cn0K"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-07-01-preview",
|
||||
"subscriptionId": "subscriptionId",
|
||||
"resourceGroupName": "resourceGroup",
|
||||
"resourceName": "resourceName",
|
||||
"childResourceName": "childResourceName",
|
||||
"parameters": {
|
||||
"properties": {
|
||||
"resources": "ewogICAgImFwaVZlcnNpb24iOiAiaGl2ZS5vcGVuc2hpZnQuaW8vdjEiLAogICAgImtpbmQiOiAiTWFjaGluZVBvb2wiLAogICAgIm1ldGFkYXRhIjogewogICAgICAgICJuYW1lIjogInRlc3QtY2x1c3Rlci13b3JrZXIiLAogICAgICAgICJuYW1lc3BhY2UiOiAiYXJvLWY2MGFlOGEyLWJjYTEtNDk4Ny05MDU2LVhYWFhYWFhYWFhYWCIKICAgIH0sCiAgICAic3BlYyI6IHsKICAgICAgICAiY2x1c3RlckRlcGxveW1lbnRSZWYiOiB7CiAgICAgICAgICAgICJuYW1lIjogInRlc3QtY2x1c3RlciIKICAgICAgICB9LAogICAgICAgICJuYW1lIjogIndvcmtlciIsCiAgICAgICAgInBsYXRmb3JtIjogewogICAgICAgICAgICAiYXdzIjogewogICAgICAgICAgICAgICAgInJvb3RWb2x1bWUiOiB7CiAgICAgICAgICAgICAgICAgICAgImlvcHMiOiAwLAogICAgICAgICAgICAgICAgICAgICJzaXplIjogMzAwLAogICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImdwMyIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAidHlwZSI6ICJtNS54bGFyZ2UiLAogICAgICAgICAgICAgICAgInpvbmVzIjogWwogICAgICAgICAgICAgICAgICAgICJ1cy1lYXN0LTFhIgogICAgICAgICAgICAgICAgXQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAicmVwbGljYXMiOiAyCiAgICB9LAogICAgInN0YXR1cyI6IHsKICAgICAgICAiY29uZGl0aW9ucyI6IFsKICAgICAgICBdCiAgICB9Cn0K"
|
||||
}
|
||||
}
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"body": {
|
||||
"id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName/machinePools/myMachinePool",
|
||||
"name": "myMachinePool",
|
||||
"type": "Microsoft.RedHatOpenShift/OpenShiftClusters/MachinePools",
|
||||
"properties": {
|
||||
"resources": "ewogICAgImFwaVZlcnNpb24iOiAiaGl2ZS5vcGVuc2hpZnQuaW8vdjEiLAogICAgImtpbmQiOiAiTWFjaGluZVBvb2wiLAogICAgIm1ldGFkYXRhIjogewogICAgICAgICJuYW1lIjogInRlc3QtY2x1c3Rlci13b3JrZXIiLAogICAgICAgICJuYW1lc3BhY2UiOiAiYXJvLWY2MGFlOGEyLWJjYTEtNDk4Ny05MDU2LVhYWFhYWFhYWFhYWCIKICAgIH0sCiAgICAic3BlYyI6IHsKICAgICAgICAiY2x1c3RlckRlcGxveW1lbnRSZWYiOiB7CiAgICAgICAgICAgICJuYW1lIjogInRlc3QtY2x1c3RlciIKICAgICAgICB9LAogICAgICAgICJuYW1lIjogIndvcmtlciIsCiAgICAgICAgInBsYXRmb3JtIjogewogICAgICAgICAgICAiYXdzIjogewogICAgICAgICAgICAgICAgInJvb3RWb2x1bWUiOiB7CiAgICAgICAgICAgICAgICAgICAgImlvcHMiOiAwLAogICAgICAgICAgICAgICAgICAgICJzaXplIjogMzAwLAogICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImdwMyIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAidHlwZSI6ICJtNS54bGFyZ2UiLAogICAgICAgICAgICAgICAgInpvbmVzIjogWwogICAgICAgICAgICAgICAgICAgICJ1cy1lYXN0LTFhIgogICAgICAgICAgICAgICAgXQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAicmVwbGljYXMiOiAyCiAgICB9LAogICAgInN0YXR1cyI6IHsKICAgICAgICAiY29uZGl0aW9ucyI6IFsKICAgICAgICBdCiAgICB9Cn0K"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,180 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-07-01-preview",
|
||||
"subscriptionId": "subscriptionId",
|
||||
"resourceGroupName": "resourceGroup",
|
||||
"resourceName": "resourceName",
|
||||
"parameters": {
|
||||
"location": "location",
|
||||
"tags": {
|
||||
"key": "value"
|
||||
},
|
||||
"properties": {
|
||||
"clusterProfile": {
|
||||
"pullSecret": "{\"auths\":{\"registry.connect.redhat.com\":{\"auth\":\"\"},\"registry.redhat.io\":{\"auth\":\"\"}}}",
|
||||
"domain": "cluster.location.aroapp.io",
|
||||
"resourceGroupId": "/subscriptions/subscriptionId/resourceGroups/clusterResourceGroup",
|
||||
"fipsValidatedModules": "Enabled"
|
||||
},
|
||||
"consoleProfile": {},
|
||||
"servicePrincipalProfile": {
|
||||
"clientId": "clientId",
|
||||
"clientSecret": "clientSecret"
|
||||
},
|
||||
"networkProfile": {
|
||||
"podCidr": "10.128.0.0/14",
|
||||
"serviceCidr": "172.30.0.0/16"
|
||||
},
|
||||
"masterProfile": {
|
||||
"vmSize": "Standard_D8s_v3",
|
||||
"subnetId": "/subscriptions/subscriptionId/resourceGroups/vnetResourceGroup/providers/Microsoft.Network/virtualNetworks/vnet/subnets/master",
|
||||
"encryptionAtHost": "Enabled"
|
||||
},
|
||||
"workerProfiles": [
|
||||
{
|
||||
"name": "worker",
|
||||
"vmSize": "Standard_D2s_v3",
|
||||
"diskSizeGB": 128,
|
||||
"subnetId": "/subscriptions/subscriptionId/resourceGroups/vnetResourceGroup/providers/Microsoft.Network/virtualNetworks/vnet/subnets/worker",
|
||||
"count": 3
|
||||
}
|
||||
],
|
||||
"apiserverProfile": {
|
||||
"visibility": "Public"
|
||||
},
|
||||
"ingressProfiles": [
|
||||
{
|
||||
"name": "default",
|
||||
"visibility": "Public"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"body": {
|
||||
"id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName",
|
||||
"name": "resourceName",
|
||||
"type": "Microsoft.RedHatOpenShift/OpenShiftClusters",
|
||||
"location": "location",
|
||||
"systemData": {
|
||||
"createdBy": "string",
|
||||
"createdByType": "Application",
|
||||
"createdAt": "2020-02-03T01:01:01.1075056Z",
|
||||
"lastModifiedBy": "string",
|
||||
"lastModifiedByType": "Application",
|
||||
"lastModifiedAt": "2020-02-03T01:01:01.1075056Z"
|
||||
},
|
||||
"tags": {
|
||||
"key": "value"
|
||||
},
|
||||
"properties": {
|
||||
"provisioningState": "Succeeded",
|
||||
"clusterProfile": {
|
||||
"domain": "cluster.location.aroapp.io",
|
||||
"version": "4.11.0",
|
||||
"resourceGroupId": "/subscriptions/subscriptionId/resourceGroups/clusterResourceGroup"
|
||||
},
|
||||
"consoleProfile": {
|
||||
"url": "https://console-openshift-console.apps.cluster.location.aroapp.io/"
|
||||
},
|
||||
"servicePrincipalProfile": {
|
||||
"clientId": "clientId"
|
||||
},
|
||||
"networkProfile": {
|
||||
"podCidr": "10.128.0.0/14",
|
||||
"serviceCidr": "172.30.0.0/16"
|
||||
},
|
||||
"masterProfile": {
|
||||
"vmSize": "Standard_D8s_v3",
|
||||
"subnetId": "/subscriptions/subscriptionId/resourceGroups/vnetResourceGroup/providers/Microsoft.Network/virtualNetworks/vnet/subnets/master"
|
||||
},
|
||||
"workerProfiles": [
|
||||
{
|
||||
"name": "worker",
|
||||
"vmSize": "Standard_D2s_v3",
|
||||
"diskSizeGB": 128,
|
||||
"subnetId": "/subscriptions/subscriptionId/resourceGroups/vnetResourceGroup/providers/Microsoft.Network/virtualNetworks/vnet/subnets/worker",
|
||||
"count": 3
|
||||
}
|
||||
],
|
||||
"apiserverProfile": {
|
||||
"visibility": "Public",
|
||||
"url": "https://api.cluster.location.aroapp.io:6443/",
|
||||
"ip": "1.2.3.4"
|
||||
},
|
||||
"ingressProfiles": [
|
||||
{
|
||||
"name": "default",
|
||||
"visibility": "Public",
|
||||
"ip": "1.2.3.4"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"201": {
|
||||
"body": {
|
||||
"id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName",
|
||||
"name": "resourceName",
|
||||
"type": "Microsoft.RedHatOpenShift/OpenShiftClusters",
|
||||
"location": "location",
|
||||
"systemData": {
|
||||
"createdBy": "string",
|
||||
"createdByType": "Application",
|
||||
"createdAt": "2020-02-03T01:01:01.1075056Z",
|
||||
"lastModifiedBy": "string",
|
||||
"lastModifiedByType": "Application",
|
||||
"lastModifiedAt": "2020-02-03T01:01:01.1075056Z"
|
||||
},
|
||||
"tags": {
|
||||
"key": "value"
|
||||
},
|
||||
"properties": {
|
||||
"provisioningState": "Succeeded",
|
||||
"clusterProfile": {
|
||||
"domain": "cluster.location.aroapp.io",
|
||||
"version": "4.11.0",
|
||||
"resourceGroupId": "/subscriptions/subscriptionId/resourceGroups/clusterResourceGroup"
|
||||
},
|
||||
"consoleProfile": {
|
||||
"url": "https://console-openshift-console.apps.cluster.location.aroapp.io/"
|
||||
},
|
||||
"servicePrincipalProfile": {
|
||||
"clientId": "clientId"
|
||||
},
|
||||
"networkProfile": {
|
||||
"podCidr": "10.128.0.0/14",
|
||||
"serviceCidr": "172.30.0.0/16"
|
||||
},
|
||||
"masterProfile": {
|
||||
"vmSize": "Standard_D8s_v3",
|
||||
"subnetId": "/subscriptions/subscriptionId/resourceGroups/vnetResourceGroup/providers/Microsoft.Network/virtualNetworks/vnet/subnets/master"
|
||||
},
|
||||
"workerProfiles": [
|
||||
{
|
||||
"name": "worker",
|
||||
"vmSize": "Standard_D2s_v3",
|
||||
"diskSizeGB": 128,
|
||||
"subnetId": "/subscriptions/subscriptionId/resourceGroups/vnetResourceGroup/providers/Microsoft.Network/virtualNetworks/vnet/subnets/worker",
|
||||
"count": 3
|
||||
}
|
||||
],
|
||||
"apiserverProfile": {
|
||||
"visibility": "Public",
|
||||
"url": "https://api.cluster.location.aroapp.io:6443/",
|
||||
"ip": "1.2.3.4"
|
||||
},
|
||||
"ingressProfiles": [
|
||||
{
|
||||
"name": "default",
|
||||
"visibility": "Public",
|
||||
"ip": "1.2.3.4"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-07-01-preview",
|
||||
"subscriptionId": "subscriptionId",
|
||||
"resourceGroupName": "resourceGroup",
|
||||
"resourceName": "resourceName"
|
||||
},
|
||||
"responses": {
|
||||
"202": {
|
||||
"headers": {
|
||||
"location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Cache/...pathToOperationResult..."
|
||||
}
|
||||
},
|
||||
"204": {}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,72 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-07-01-preview",
|
||||
"subscriptionId": "subscriptionId",
|
||||
"resourceGroupName": "resourceGroup",
|
||||
"resourceName": "resourceName"
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"body": {
|
||||
"id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName",
|
||||
"name": "resourceName",
|
||||
"type": "Microsoft.RedHatOpenShift/OpenShiftClusters",
|
||||
"location": "location",
|
||||
"systemData": {
|
||||
"createdBy": "string",
|
||||
"createdByType": "Application",
|
||||
"createdAt": "2020-02-03T01:01:01.1075056Z",
|
||||
"lastModifiedBy": "string",
|
||||
"lastModifiedByType": "Application",
|
||||
"lastModifiedAt": "2020-02-03T01:01:01.1075056Z"
|
||||
},
|
||||
"tags": {
|
||||
"key": "value"
|
||||
},
|
||||
"properties": {
|
||||
"provisioningState": "Succeeded",
|
||||
"clusterProfile": {
|
||||
"domain": "cluster.location.aroapp.io",
|
||||
"version": "4.11.0",
|
||||
"resourceGroupId": "/subscriptions/subscriptionId/resourceGroups/clusterResourceGroup"
|
||||
},
|
||||
"consoleProfile": {
|
||||
"url": "https://console-openshift-console.apps.cluster.location.aroapp.io/"
|
||||
},
|
||||
"servicePrincipalProfile": {
|
||||
"clientId": "clientId"
|
||||
},
|
||||
"networkProfile": {
|
||||
"podCidr": "10.128.0.0/14",
|
||||
"serviceCidr": "172.30.0.0/16"
|
||||
},
|
||||
"masterProfile": {
|
||||
"vmSize": "Standard_D8s_v3",
|
||||
"subnetId": "/subscriptions/subscriptionId/resourceGroups/vnetResourceGroup/providers/Microsoft.Network/virtualNetworks/vnet/subnets/master"
|
||||
},
|
||||
"workerProfiles": [
|
||||
{
|
||||
"name": "worker",
|
||||
"vmSize": "Standard_D2s_v3",
|
||||
"diskSizeGB": 128,
|
||||
"subnetId": "/subscriptions/subscriptionId/resourceGroups/vnetResourceGroup/providers/Microsoft.Network/virtualNetworks/vnet/subnets/worker",
|
||||
"count": 3
|
||||
}
|
||||
],
|
||||
"apiserverProfile": {
|
||||
"visibility": "Public",
|
||||
"url": "https://api.cluster.location.aroapp.io:6443/",
|
||||
"ip": "1.2.3.4"
|
||||
},
|
||||
"ingressProfiles": [
|
||||
{
|
||||
"name": "default",
|
||||
"visibility": "Public",
|
||||
"ip": "1.2.3.4"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,74 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-07-01-preview",
|
||||
"subscriptionId": "subscriptionId"
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"body": {
|
||||
"value": [
|
||||
{
|
||||
"id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName",
|
||||
"name": "resourceName",
|
||||
"type": "Microsoft.RedHatOpenShift/OpenShiftClusters",
|
||||
"location": "location",
|
||||
"systemData": {
|
||||
"createdBy": "string",
|
||||
"createdByType": "Application",
|
||||
"createdAt": "2020-02-03T01:01:01.1075056Z",
|
||||
"lastModifiedBy": "string",
|
||||
"lastModifiedByType": "Application",
|
||||
"lastModifiedAt": "2020-02-03T01:01:01.1075056Z"
|
||||
},
|
||||
"tags": {
|
||||
"key": "value"
|
||||
},
|
||||
"properties": {
|
||||
"provisioningState": "Succeeded",
|
||||
"clusterProfile": {
|
||||
"domain": "cluster.location.aroapp.io",
|
||||
"version": "4.11.0",
|
||||
"resourceGroupId": "/subscriptions/subscriptionId/resourceGroups/clusterResourceGroup"
|
||||
},
|
||||
"consoleProfile": {
|
||||
"url": "https://console-openshift-console.apps.cluster.location.aroapp.io/"
|
||||
},
|
||||
"servicePrincipalProfile": {
|
||||
"clientId": "clientId"
|
||||
},
|
||||
"networkProfile": {
|
||||
"podCidr": "10.128.0.0/14",
|
||||
"serviceCidr": "172.30.0.0/16"
|
||||
},
|
||||
"masterProfile": {
|
||||
"vmSize": "Standard_D8s_v3",
|
||||
"subnetId": "/subscriptions/subscriptionId/resourceGroups/vnetResourceGroup/providers/Microsoft.Network/virtualNetworks/vnet/subnets/master"
|
||||
},
|
||||
"workerProfiles": [
|
||||
{
|
||||
"name": "worker",
|
||||
"vmSize": "Standard_D2s_v3",
|
||||
"diskSizeGB": 128,
|
||||
"subnetId": "/subscriptions/subscriptionId/resourceGroups/vnetResourceGroup/providers/Microsoft.Network/virtualNetworks/vnet/subnets/worker",
|
||||
"count": 3
|
||||
}
|
||||
],
|
||||
"apiserverProfile": {
|
||||
"visibility": "Public",
|
||||
"url": "https://api.cluster.location.aroapp.io:6443/",
|
||||
"ip": "1.2.3.4"
|
||||
},
|
||||
"ingressProfiles": [
|
||||
{
|
||||
"name": "default",
|
||||
"visibility": "Public",
|
||||
"ip": "1.2.3.4"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-07-01-preview",
|
||||
"subscriptionId": "subscriptionId",
|
||||
"resourceGroupName": "resourceGroup",
|
||||
"resourceName": "resourceName"
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"body": {
|
||||
"kubeconfig": "e30="
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,75 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-07-01-preview",
|
||||
"subscriptionId": "subscriptionId",
|
||||
"resourceGroupName": "resourceGroup"
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"body": {
|
||||
"value": [
|
||||
{
|
||||
"id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName",
|
||||
"name": "resourceName",
|
||||
"type": "Microsoft.RedHatOpenShift/OpenShiftClusters",
|
||||
"location": "location",
|
||||
"systemData": {
|
||||
"createdBy": "string",
|
||||
"createdByType": "Application",
|
||||
"createdAt": "2020-02-03T01:01:01.1075056Z",
|
||||
"lastModifiedBy": "string",
|
||||
"lastModifiedByType": "Application",
|
||||
"lastModifiedAt": "2020-02-03T01:01:01.1075056Z"
|
||||
},
|
||||
"tags": {
|
||||
"key": "value"
|
||||
},
|
||||
"properties": {
|
||||
"provisioningState": "Succeeded",
|
||||
"clusterProfile": {
|
||||
"domain": "cluster.location.aroapp.io",
|
||||
"version": "4.11.0",
|
||||
"resourceGroupId": "/subscriptions/subscriptionId/resourceGroups/clusterResourceGroup"
|
||||
},
|
||||
"consoleProfile": {
|
||||
"url": "https://console-openshift-console.apps.cluster.location.aroapp.io/"
|
||||
},
|
||||
"servicePrincipalProfile": {
|
||||
"clientId": "clientId"
|
||||
},
|
||||
"networkProfile": {
|
||||
"podCidr": "10.128.0.0/14",
|
||||
"serviceCidr": "172.30.0.0/16"
|
||||
},
|
||||
"masterProfile": {
|
||||
"vmSize": "Standard_D8s_v3",
|
||||
"subnetId": "/subscriptions/subscriptionId/resourceGroups/vnetResourceGroup/providers/Microsoft.Network/virtualNetworks/vnet/subnets/master"
|
||||
},
|
||||
"workerProfiles": [
|
||||
{
|
||||
"name": "worker",
|
||||
"vmSize": "Standard_D2s_v3",
|
||||
"diskSizeGB": 128,
|
||||
"subnetId": "/subscriptions/subscriptionId/resourceGroups/vnetResourceGroup/providers/Microsoft.Network/virtualNetworks/vnet/subnets/worker",
|
||||
"count": 3
|
||||
}
|
||||
],
|
||||
"apiserverProfile": {
|
||||
"visibility": "Public",
|
||||
"url": "https://api.cluster.location.aroapp.io:6443/",
|
||||
"ip": "1.2.3.4"
|
||||
},
|
||||
"ingressProfiles": [
|
||||
{
|
||||
"name": "default",
|
||||
"visibility": "Public",
|
||||
"ip": "1.2.3.4"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-07-01-preview",
|
||||
"subscriptionId": "subscriptionId",
|
||||
"resourceGroupName": "resourceGroup",
|
||||
"resourceName": "resourceName"
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"body": {
|
||||
"kubeadminUsername": "kubeadmin",
|
||||
"kubeadminPassword": "password"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,179 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-07-01-preview",
|
||||
"subscriptionId": "subscriptionId",
|
||||
"resourceGroupName": "resourceGroup",
|
||||
"resourceName": "resourceName",
|
||||
"parameters": {
|
||||
"tags": {
|
||||
"key": "value"
|
||||
},
|
||||
"properties": {
|
||||
"clusterProfile": {
|
||||
"pullSecret": "{\"auths\":{\"registry.connect.redhat.com\":{\"auth\":\"\"},\"registry.redhat.io\":{\"auth\":\"\"}}}",
|
||||
"domain": "cluster.location.aroapp.io",
|
||||
"resourceGroupId": "/subscriptions/subscriptionId/resourceGroups/clusterResourceGroup",
|
||||
"fipsValidatedModules": "Enabled"
|
||||
},
|
||||
"consoleProfile": {},
|
||||
"servicePrincipalProfile": {
|
||||
"clientId": "clientId",
|
||||
"clientSecret": "clientSecret"
|
||||
},
|
||||
"networkProfile": {
|
||||
"podCidr": "10.128.0.0/14",
|
||||
"serviceCidr": "172.30.0.0/16"
|
||||
},
|
||||
"masterProfile": {
|
||||
"vmSize": "Standard_D8s_v3",
|
||||
"subnetId": "/subscriptions/subscriptionId/resourceGroups/vnetResourceGroup/providers/Microsoft.Network/virtualNetworks/vnet/subnets/master",
|
||||
"encryptionAtHost": "Enabled"
|
||||
},
|
||||
"workerProfiles": [
|
||||
{
|
||||
"name": "worker",
|
||||
"vmSize": "Standard_D2s_v3",
|
||||
"diskSizeGB": 128,
|
||||
"subnetId": "/subscriptions/subscriptionId/resourceGroups/vnetResourceGroup/providers/Microsoft.Network/virtualNetworks/vnet/subnets/worker",
|
||||
"count": 3
|
||||
}
|
||||
],
|
||||
"apiserverProfile": {
|
||||
"visibility": "Public"
|
||||
},
|
||||
"ingressProfiles": [
|
||||
{
|
||||
"name": "default",
|
||||
"visibility": "Public"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"body": {
|
||||
"id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName",
|
||||
"name": "resourceName",
|
||||
"type": "Microsoft.RedHatOpenShift/OpenShiftClusters",
|
||||
"location": "location",
|
||||
"systemData": {
|
||||
"createdBy": "string",
|
||||
"createdByType": "Application",
|
||||
"createdAt": "2020-02-03T01:01:01.1075056Z",
|
||||
"lastModifiedBy": "string",
|
||||
"lastModifiedByType": "Application",
|
||||
"lastModifiedAt": "2020-02-03T01:01:01.1075056Z"
|
||||
},
|
||||
"tags": {
|
||||
"key": "value"
|
||||
},
|
||||
"properties": {
|
||||
"provisioningState": "Succeeded",
|
||||
"clusterProfile": {
|
||||
"domain": "cluster.location.aroapp.io",
|
||||
"version": "4.11.0",
|
||||
"resourceGroupId": "/subscriptions/subscriptionId/resourceGroups/clusterResourceGroup"
|
||||
},
|
||||
"consoleProfile": {
|
||||
"url": "https://console-openshift-console.apps.cluster.location.aroapp.io/"
|
||||
},
|
||||
"servicePrincipalProfile": {
|
||||
"clientId": "clientId"
|
||||
},
|
||||
"networkProfile": {
|
||||
"podCidr": "10.128.0.0/14",
|
||||
"serviceCidr": "172.30.0.0/16"
|
||||
},
|
||||
"masterProfile": {
|
||||
"vmSize": "Standard_D8s_v3",
|
||||
"subnetId": "/subscriptions/subscriptionId/resourceGroups/vnetResourceGroup/providers/Microsoft.Network/virtualNetworks/vnet/subnets/master"
|
||||
},
|
||||
"workerProfiles": [
|
||||
{
|
||||
"name": "worker",
|
||||
"vmSize": "Standard_D2s_v3",
|
||||
"diskSizeGB": 128,
|
||||
"subnetId": "/subscriptions/subscriptionId/resourceGroups/vnetResourceGroup/providers/Microsoft.Network/virtualNetworks/vnet/subnets/worker",
|
||||
"count": 3
|
||||
}
|
||||
],
|
||||
"apiserverProfile": {
|
||||
"visibility": "Public",
|
||||
"url": "https://api.cluster.location.aroapp.io:6443/",
|
||||
"ip": "1.2.3.4"
|
||||
},
|
||||
"ingressProfiles": [
|
||||
{
|
||||
"name": "default",
|
||||
"visibility": "Public",
|
||||
"ip": "1.2.3.4"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"201": {
|
||||
"body": {
|
||||
"id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName",
|
||||
"name": "resourceName",
|
||||
"type": "Microsoft.RedHatOpenShift/OpenShiftClusters",
|
||||
"location": "location",
|
||||
"systemData": {
|
||||
"createdBy": "string",
|
||||
"createdByType": "Application",
|
||||
"createdAt": "2020-02-03T01:01:01.1075056Z",
|
||||
"lastModifiedBy": "string",
|
||||
"lastModifiedByType": "Application",
|
||||
"lastModifiedAt": "2020-02-03T01:01:01.1075056Z"
|
||||
},
|
||||
"tags": {
|
||||
"key": "value"
|
||||
},
|
||||
"properties": {
|
||||
"provisioningState": "Succeeded",
|
||||
"clusterProfile": {
|
||||
"domain": "cluster.location.aroapp.io",
|
||||
"version": "4.11.0",
|
||||
"resourceGroupId": "/subscriptions/subscriptionId/resourceGroups/clusterResourceGroup"
|
||||
},
|
||||
"consoleProfile": {
|
||||
"url": "https://console-openshift-console.apps.cluster.location.aroapp.io/"
|
||||
},
|
||||
"servicePrincipalProfile": {
|
||||
"clientId": "clientId"
|
||||
},
|
||||
"networkProfile": {
|
||||
"podCidr": "10.128.0.0/14",
|
||||
"serviceCidr": "172.30.0.0/16"
|
||||
},
|
||||
"masterProfile": {
|
||||
"vmSize": "Standard_D8s_v3",
|
||||
"subnetId": "/subscriptions/subscriptionId/resourceGroups/vnetResourceGroup/providers/Microsoft.Network/virtualNetworks/vnet/subnets/master"
|
||||
},
|
||||
"workerProfiles": [
|
||||
{
|
||||
"name": "worker",
|
||||
"vmSize": "Standard_D2s_v3",
|
||||
"diskSizeGB": 128,
|
||||
"subnetId": "/subscriptions/subscriptionId/resourceGroups/vnetResourceGroup/providers/Microsoft.Network/virtualNetworks/vnet/subnets/worker",
|
||||
"count": 3
|
||||
}
|
||||
],
|
||||
"apiserverProfile": {
|
||||
"visibility": "Public",
|
||||
"url": "https://api.cluster.location.aroapp.io:6443/",
|
||||
"ip": "1.2.3.4"
|
||||
},
|
||||
"ingressProfiles": [
|
||||
{
|
||||
"name": "default",
|
||||
"visibility": "Public",
|
||||
"ip": "1.2.3.4"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-07-01-preview",
|
||||
"subscriptionId": "subscriptionId",
|
||||
"location": "location"
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"body": {
|
||||
"value": [
|
||||
{
|
||||
"id": "00000000-0000-0000-0000-000000000000",
|
||||
"properties": {
|
||||
"version": "4.10.20"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-07-01-preview"
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"body": {
|
||||
"value": [
|
||||
{
|
||||
"name": "Microsoft.RedHatOpenShift/openShiftClusters/read",
|
||||
"display": {
|
||||
"provider": "Azure Red Hat OpenShift",
|
||||
"resource": "openShiftClusters",
|
||||
"operation": "Read OpenShift cluster"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-07-01-preview",
|
||||
"subscriptionId": "subscriptionId",
|
||||
"resourceGroupName": "resourceGroup",
|
||||
"resourceName": "resourceName",
|
||||
"childResourceName": "childResourceName",
|
||||
"parameters": {
|
||||
"properties": {}
|
||||
}
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"body": {
|
||||
"id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName/secret/mySecret",
|
||||
"name": "mySecret",
|
||||
"type": "Microsoft.RedHatOpenShift/OpenShiftClusters/Secrets",
|
||||
"properties": {}
|
||||
}
|
||||
},
|
||||
"201": {
|
||||
"body": {
|
||||
"id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName/secret/mySecret",
|
||||
"name": "mySecret",
|
||||
"type": "Microsoft.RedHatOpenShift/OpenShiftClusters/Secrets",
|
||||
"properties": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-07-01-preview",
|
||||
"subscriptionId": "subscriptionId",
|
||||
"resourceGroupName": "resourceGroup",
|
||||
"resourceName": "resourceName",
|
||||
"childResourceName": "childResourceName"
|
||||
},
|
||||
"responses": {
|
||||
"200": {},
|
||||
"204": {}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-07-01-preview",
|
||||
"subscriptionId": "subscriptionId",
|
||||
"resourceGroupName": "resourceGroup",
|
||||
"resourceName": "resourceName",
|
||||
"childResourceName": "childResourceName"
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"body": {
|
||||
"id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName/secret/mySecret",
|
||||
"name": "mySecret",
|
||||
"type": "Microsoft.RedHatOpenShift/OpenShiftClusters/Secrets",
|
||||
"properties": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-07-01-preview",
|
||||
"subscriptionId": "subscriptionId",
|
||||
"resourceGroupName": "resourceGroup",
|
||||
"resourceName": "resourceName"
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"body": {
|
||||
"value": [
|
||||
{
|
||||
"id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName/secret/mySecret",
|
||||
"name": "mySecret",
|
||||
"type": "Microsoft.RedHatOpenShift/OpenShiftClusters/Secrets",
|
||||
"properties": {}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-07-01-preview",
|
||||
"subscriptionId": "subscriptionId",
|
||||
"resourceGroupName": "resourceGroup",
|
||||
"resourceName": "resourceName",
|
||||
"childResourceName": "childResourceName",
|
||||
"parameters": {
|
||||
"properties": {}
|
||||
}
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"body": {
|
||||
"id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName/secret/mySecret",
|
||||
"name": "mySecret",
|
||||
"type": "Microsoft.RedHatOpenShift/OpenShiftClusters/Secrets",
|
||||
"properties": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-07-01-preview",
|
||||
"subscriptionId": "subscriptionId",
|
||||
"resourceGroupName": "resourceGroup",
|
||||
"resourceName": "resourceName",
|
||||
"childResourceName": "childResourceName",
|
||||
"parameters": {
|
||||
"properties": {
|
||||
"resources": "ewogICAgImFwaVZlcnNpb24iOiAiaGl2ZS5vcGVuc2hpZnQuaW8vdjEiLAogICAgImtpbmQiOiAiU3luY0lkZW50aXR5UHJvdmlkZXIiLAogICAgIm1ldGFkYXRhIjogewogICAgICAgICJuYW1lIjogInRlc3QtY2x1c3RlciIsCiAgICAgICAgIm5hbWVzcGFjZSI6ICJhcm8tZjYwYWU4YTItYmNhMS00OTg3LTkwNTYtWFhYWFhYWFhYWFhYIgogICAgfSwKICAgICJzcGVjIjogewogICAgICAgICJjbHVzdGVyRGVwbG95bWVudFJlZnMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJuYW1lIjogInRlc3QtY2x1c3RlciIKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgImlkZW50aXR5UHJvdmlkZXJzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiaHRwYXNzd2QiOiB7CiAgICAgICAgICAgICAgICAgICAgImZpbGVEYXRhIjogewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJodHBhc3N3ZC1zZWNyZXQiCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJtYXBwaW5nTWV0aG9kIjogImNsYWltIiwKICAgICAgICAgICAgICAgICJuYW1lIjogIkhUUGFzc3dkIiwKICAgICAgICAgICAgICAgICJ0eXBlIjogIkhUUGFzc3dkIgogICAgICAgICAgICB9CiAgICAgICAgXQogICAgfSwKICAgICJzdGF0dXMiOiB7fQp9Cg=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"body": {
|
||||
"id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName/syncidentityprovider/mySyncIdentityProvider",
|
||||
"name": "mySyncIdentityProvider",
|
||||
"type": "Microsoft.RedHatOpenShift/OpenShiftClusters/SyncIdentityProviders",
|
||||
"properties": {
|
||||
"resources": "ewogICAgImFwaVZlcnNpb24iOiAiaGl2ZS5vcGVuc2hpZnQuaW8vdjEiLAogICAgImtpbmQiOiAiU3luY0lkZW50aXR5UHJvdmlkZXIiLAogICAgIm1ldGFkYXRhIjogewogICAgICAgICJuYW1lIjogInRlc3QtY2x1c3RlciIsCiAgICAgICAgIm5hbWVzcGFjZSI6ICJhcm8tZjYwYWU4YTItYmNhMS00OTg3LTkwNTYtWFhYWFhYWFhYWFhYIgogICAgfSwKICAgICJzcGVjIjogewogICAgICAgICJjbHVzdGVyRGVwbG95bWVudFJlZnMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJuYW1lIjogInRlc3QtY2x1c3RlciIKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgImlkZW50aXR5UHJvdmlkZXJzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiaHRwYXNzd2QiOiB7CiAgICAgICAgICAgICAgICAgICAgImZpbGVEYXRhIjogewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJodHBhc3N3ZC1zZWNyZXQiCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJtYXBwaW5nTWV0aG9kIjogImNsYWltIiwKICAgICAgICAgICAgICAgICJuYW1lIjogIkhUUGFzc3dkIiwKICAgICAgICAgICAgICAgICJ0eXBlIjogIkhUUGFzc3dkIgogICAgICAgICAgICB9CiAgICAgICAgXQogICAgfSwKICAgICJzdGF0dXMiOiB7fQp9Cg=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"201": {
|
||||
"body": {
|
||||
"id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName/syncidentityprovider/mySyncIdentityProvider",
|
||||
"name": "mySyncIdentityProvider",
|
||||
"type": "Microsoft.RedHatOpenShift/OpenShiftClusters/SyncIdentityProviders",
|
||||
"properties": {
|
||||
"resources": "ewogICAgImFwaVZlcnNpb24iOiAiaGl2ZS5vcGVuc2hpZnQuaW8vdjEiLAogICAgImtpbmQiOiAiU3luY0lkZW50aXR5UHJvdmlkZXIiLAogICAgIm1ldGFkYXRhIjogewogICAgICAgICJuYW1lIjogInRlc3QtY2x1c3RlciIsCiAgICAgICAgIm5hbWVzcGFjZSI6ICJhcm8tZjYwYWU4YTItYmNhMS00OTg3LTkwNTYtWFhYWFhYWFhYWFhYIgogICAgfSwKICAgICJzcGVjIjogewogICAgICAgICJjbHVzdGVyRGVwbG95bWVudFJlZnMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJuYW1lIjogInRlc3QtY2x1c3RlciIKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgImlkZW50aXR5UHJvdmlkZXJzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiaHRwYXNzd2QiOiB7CiAgICAgICAgICAgICAgICAgICAgImZpbGVEYXRhIjogewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJodHBhc3N3ZC1zZWNyZXQiCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJtYXBwaW5nTWV0aG9kIjogImNsYWltIiwKICAgICAgICAgICAgICAgICJuYW1lIjogIkhUUGFzc3dkIiwKICAgICAgICAgICAgICAgICJ0eXBlIjogIkhUUGFzc3dkIgogICAgICAgICAgICB9CiAgICAgICAgXQogICAgfSwKICAgICJzdGF0dXMiOiB7fQp9Cg=="
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-07-01-preview",
|
||||
"subscriptionId": "subscriptionId",
|
||||
"resourceGroupName": "resourceGroup",
|
||||
"resourceName": "resourceName",
|
||||
"childResourceName": "childResourceName"
|
||||
},
|
||||
"responses": {
|
||||
"200": {},
|
||||
"204": {}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-07-01-preview",
|
||||
"subscriptionId": "subscriptionId",
|
||||
"resourceGroupName": "resourceGroup",
|
||||
"resourceName": "resourceName",
|
||||
"childResourceName": "childResourceName"
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"body": {
|
||||
"id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName/syncidentityprovider/mySyncIdentityProvider",
|
||||
"name": "mySyncIdentityProvider",
|
||||
"type": "Microsoft.RedHatOpenShift/OpenShiftClusters/SyncIdentityProviders",
|
||||
"properties": {
|
||||
"resources": "ewogICAgImFwaVZlcnNpb24iOiAiaGl2ZS5vcGVuc2hpZnQuaW8vdjEiLAogICAgImtpbmQiOiAiU3luY0lkZW50aXR5UHJvdmlkZXIiLAogICAgIm1ldGFkYXRhIjogewogICAgICAgICJuYW1lIjogInRlc3QtY2x1c3RlciIsCiAgICAgICAgIm5hbWVzcGFjZSI6ICJhcm8tZjYwYWU4YTItYmNhMS00OTg3LTkwNTYtWFhYWFhYWFhYWFhYIgogICAgfSwKICAgICJzcGVjIjogewogICAgICAgICJjbHVzdGVyRGVwbG95bWVudFJlZnMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJuYW1lIjogInRlc3QtY2x1c3RlciIKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgImlkZW50aXR5UHJvdmlkZXJzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiaHRwYXNzd2QiOiB7CiAgICAgICAgICAgICAgICAgICAgImZpbGVEYXRhIjogewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJodHBhc3N3ZC1zZWNyZXQiCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJtYXBwaW5nTWV0aG9kIjogImNsYWltIiwKICAgICAgICAgICAgICAgICJuYW1lIjogIkhUUGFzc3dkIiwKICAgICAgICAgICAgICAgICJ0eXBlIjogIkhUUGFzc3dkIgogICAgICAgICAgICB9CiAgICAgICAgXQogICAgfSwKICAgICJzdGF0dXMiOiB7fQp9Cg=="
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-07-01-preview",
|
||||
"subscriptionId": "subscriptionId",
|
||||
"resourceGroupName": "resourceGroup",
|
||||
"resourceName": "resourceName"
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"body": {
|
||||
"value": [
|
||||
{
|
||||
"id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName/syncidentityprovider/mySyncIdentityProvider",
|
||||
"name": "mySyncIdentityProvider",
|
||||
"type": "Microsoft.RedHatOpenShift/OpenShiftClusters/SyncIdentityProviders",
|
||||
"properties": {
|
||||
"resources": "ewogICAgImFwaVZlcnNpb24iOiAiaGl2ZS5vcGVuc2hpZnQuaW8vdjEiLAogICAgImtpbmQiOiAiU3luY0lkZW50aXR5UHJvdmlkZXIiLAogICAgIm1ldGFkYXRhIjogewogICAgICAgICJuYW1lIjogInRlc3QtY2x1c3RlciIsCiAgICAgICAgIm5hbWVzcGFjZSI6ICJhcm8tZjYwYWU4YTItYmNhMS00OTg3LTkwNTYtWFhYWFhYWFhYWFhYIgogICAgfSwKICAgICJzcGVjIjogewogICAgICAgICJjbHVzdGVyRGVwbG95bWVudFJlZnMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJuYW1lIjogInRlc3QtY2x1c3RlciIKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgImlkZW50aXR5UHJvdmlkZXJzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiaHRwYXNzd2QiOiB7CiAgICAgICAgICAgICAgICAgICAgImZpbGVEYXRhIjogewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJodHBhc3N3ZC1zZWNyZXQiCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJtYXBwaW5nTWV0aG9kIjogImNsYWltIiwKICAgICAgICAgICAgICAgICJuYW1lIjogIkhUUGFzc3dkIiwKICAgICAgICAgICAgICAgICJ0eXBlIjogIkhUUGFzc3dkIgogICAgICAgICAgICB9CiAgICAgICAgXQogICAgfSwKICAgICJzdGF0dXMiOiB7fQp9Cg=="
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-07-01-preview",
|
||||
"subscriptionId": "subscriptionId",
|
||||
"resourceGroupName": "resourceGroup",
|
||||
"resourceName": "resourceName",
|
||||
"childResourceName": "childResourceName",
|
||||
"parameters": {
|
||||
"properties": {
|
||||
"resources": "ewogICAgImFwaVZlcnNpb24iOiAiaGl2ZS5vcGVuc2hpZnQuaW8vdjEiLAogICAgImtpbmQiOiAiU3luY0lkZW50aXR5UHJvdmlkZXIiLAogICAgIm1ldGFkYXRhIjogewogICAgICAgICJuYW1lIjogInRlc3QtY2x1c3RlciIsCiAgICAgICAgIm5hbWVzcGFjZSI6ICJhcm8tZjYwYWU4YTItYmNhMS00OTg3LTkwNTYtWFhYWFhYWFhYWFhYIgogICAgfSwKICAgICJzcGVjIjogewogICAgICAgICJjbHVzdGVyRGVwbG95bWVudFJlZnMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJuYW1lIjogInRlc3QtY2x1c3RlciIKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgImlkZW50aXR5UHJvdmlkZXJzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiaHRwYXNzd2QiOiB7CiAgICAgICAgICAgICAgICAgICAgImZpbGVEYXRhIjogewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJodHBhc3N3ZC1zZWNyZXQiCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJtYXBwaW5nTWV0aG9kIjogImNsYWltIiwKICAgICAgICAgICAgICAgICJuYW1lIjogIkhUUGFzc3dkIiwKICAgICAgICAgICAgICAgICJ0eXBlIjogIkhUUGFzc3dkIgogICAgICAgICAgICB9CiAgICAgICAgXQogICAgfSwKICAgICJzdGF0dXMiOiB7fQp9Cg=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"body": {
|
||||
"id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName/syncidentityprovider/mySyncIdentityProvider",
|
||||
"name": "mySyncIdentityProvider",
|
||||
"type": "Microsoft.RedHatOpenShift/OpenShiftClusters/SyncIdentityProviders",
|
||||
"properties": {
|
||||
"resources": "ewogICAgImFwaVZlcnNpb24iOiAiaGl2ZS5vcGVuc2hpZnQuaW8vdjEiLAogICAgImtpbmQiOiAiU3luY0lkZW50aXR5UHJvdmlkZXIiLAogICAgIm1ldGFkYXRhIjogewogICAgICAgICJuYW1lIjogInRlc3QtY2x1c3RlciIsCiAgICAgICAgIm5hbWVzcGFjZSI6ICJhcm8tZjYwYWU4YTItYmNhMS00OTg3LTkwNTYtWFhYWFhYWFhYWFhYIgogICAgfSwKICAgICJzcGVjIjogewogICAgICAgICJjbHVzdGVyRGVwbG95bWVudFJlZnMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJuYW1lIjogInRlc3QtY2x1c3RlciIKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgImlkZW50aXR5UHJvdmlkZXJzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiaHRwYXNzd2QiOiB7CiAgICAgICAgICAgICAgICAgICAgImZpbGVEYXRhIjogewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJodHBhc3N3ZC1zZWNyZXQiCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJtYXBwaW5nTWV0aG9kIjogImNsYWltIiwKICAgICAgICAgICAgICAgICJuYW1lIjogIkhUUGFzc3dkIiwKICAgICAgICAgICAgICAgICJ0eXBlIjogIkhUUGFzc3dkIgogICAgICAgICAgICB9CiAgICAgICAgXQogICAgfSwKICAgICJzdGF0dXMiOiB7fQp9Cg=="
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-07-01-preview",
|
||||
"subscriptionId": "subscriptionId",
|
||||
"resourceGroupName": "resourceGroup",
|
||||
"resourceName": "resourceName",
|
||||
"childResourceName": "childResourceName",
|
||||
"parameters": {
|
||||
"properties": {
|
||||
"resources": "eyAKICAiYXBpVmVyc2lvbiI6ICJoaXZlLm9wZW5zaGlmdC5pby92MSIsCiAgImtpbmQiOiAiU3luY1NldCIsCiAgIm1ldGFkYXRhIjogewogICAgIm5hbWUiOiAic2FtcGxlIiwKICAgICJuYW1lc3BhY2UiOiAiYXJvLWY2MGFlOGEyLWJjYTEtNDk4Ny05MDU2LWYyZjZhMTgzN2NhYSIKICB9LAogICJzcGVjIjogewogICAgImNsdXN0ZXJEZXBsb3ltZW50UmVmcyI6IFtdLAogICAgInJlc291cmNlcyI6IFsKICAgICAgewogICAgICAgICJhcGlWZXJzaW9uIjogInYxIiwKICAgICAgICAia2luZCI6ICJDb25maWdNYXAiLAogICAgICAgICJtZXRhZGF0YSI6IHsKICAgICAgICAgICJuYW1lIjogIm15Y29uZmlnbWFwIgogICAgICAgIH0KICAgICAgfQogICAgXQogIH0KfQo="
|
||||
}
|
||||
}
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"body": {
|
||||
"id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName/syncSets/mySyncSet",
|
||||
"name": "mySyncSet",
|
||||
"type": "Microsoft.RedHatOpenShift/OpenShiftClusters/SyncSets",
|
||||
"properties": {
|
||||
"resources": "eyAKICAiYXBpVmVyc2lvbiI6ICJoaXZlLm9wZW5zaGlmdC5pby92MSIsCiAgImtpbmQiOiAiU3luY1NldCIsCiAgIm1ldGFkYXRhIjogewogICAgIm5hbWUiOiAic2FtcGxlIiwKICAgICJuYW1lc3BhY2UiOiAiYXJvLWY2MGFlOGEyLWJjYTEtNDk4Ny05MDU2LWYyZjZhMTgzN2NhYSIKICB9LAogICJzcGVjIjogewogICAgImNsdXN0ZXJEZXBsb3ltZW50UmVmcyI6IFtdLAogICAgInJlc291cmNlcyI6IFsKICAgICAgewogICAgICAgICJhcGlWZXJzaW9uIjogInYxIiwKICAgICAgICAia2luZCI6ICJDb25maWdNYXAiLAogICAgICAgICJtZXRhZGF0YSI6IHsKICAgICAgICAgICJuYW1lIjogIm15Y29uZmlnbWFwIgogICAgICAgIH0KICAgICAgfQogICAgXQogIH0KfQo="
|
||||
}
|
||||
}
|
||||
},
|
||||
"201": {
|
||||
"body": {
|
||||
"id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName/syncSets/mySyncSet",
|
||||
"name": "mySyncSet",
|
||||
"type": "Microsoft.RedHatOpenShift/OpenShiftClusters/SyncSets",
|
||||
"properties": {
|
||||
"resources": "eyAKICAiYXBpVmVyc2lvbiI6ICJoaXZlLm9wZW5zaGlmdC5pby92MSIsCiAgImtpbmQiOiAiU3luY1NldCIsCiAgIm1ldGFkYXRhIjogewogICAgIm5hbWUiOiAic2FtcGxlIiwKICAgICJuYW1lc3BhY2UiOiAiYXJvLWY2MGFlOGEyLWJjYTEtNDk4Ny05MDU2LWYyZjZhMTgzN2NhYSIKICB9LAogICJzcGVjIjogewogICAgImNsdXN0ZXJEZXBsb3ltZW50UmVmcyI6IFtdLAogICAgInJlc291cmNlcyI6IFsKICAgICAgewogICAgICAgICJhcGlWZXJzaW9uIjogInYxIiwKICAgICAgICAia2luZCI6ICJDb25maWdNYXAiLAogICAgICAgICJtZXRhZGF0YSI6IHsKICAgICAgICAgICJuYW1lIjogIm15Y29uZmlnbWFwIgogICAgICAgIH0KICAgICAgfQogICAgXQogIH0KfQo="
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-07-01-preview",
|
||||
"subscriptionId": "subscriptionId",
|
||||
"resourceGroupName": "resourceGroup",
|
||||
"resourceName": "resourceName",
|
||||
"childResourceName": "childResourceName"
|
||||
},
|
||||
"responses": {
|
||||
"200": {},
|
||||
"204": {}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-07-01-preview",
|
||||
"subscriptionId": "subscriptionId",
|
||||
"resourceGroupName": "resourceGroup",
|
||||
"resourceName": "resourceName",
|
||||
"childResourceName": "childResourceName"
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"body": {
|
||||
"id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName/syncSets/mySyncSet",
|
||||
"name": "mySyncSet",
|
||||
"type": "Microsoft.RedHatOpenShift/OpenShiftClusters/SyncSets",
|
||||
"properties": {
|
||||
"resources": "eyAKICAiYXBpVmVyc2lvbiI6ICJoaXZlLm9wZW5zaGlmdC5pby92MSIsCiAgImtpbmQiOiAiU3luY1NldCIsCiAgIm1ldGFkYXRhIjogewogICAgIm5hbWUiOiAic2FtcGxlIiwKICAgICJuYW1lc3BhY2UiOiAiYXJvLWY2MGFlOGEyLWJjYTEtNDk4Ny05MDU2LWYyZjZhMTgzN2NhYSIKICB9LAogICJzcGVjIjogewogICAgImNsdXN0ZXJEZXBsb3ltZW50UmVmcyI6IFtdLAogICAgInJlc291cmNlcyI6IFsKICAgICAgewogICAgICAgICJhcGlWZXJzaW9uIjogInYxIiwKICAgICAgICAia2luZCI6ICJDb25maWdNYXAiLAogICAgICAgICJtZXRhZGF0YSI6IHsKICAgICAgICAgICJuYW1lIjogIm15Y29uZmlnbWFwIgogICAgICAgIH0KICAgICAgfQogICAgXQogIH0KfQo="
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-07-01-preview",
|
||||
"subscriptionId": "subscriptionId",
|
||||
"resourceGroupName": "resourceGroup",
|
||||
"resourceName": "resourceName"
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"body": {
|
||||
"value": [
|
||||
{
|
||||
"id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName/syncSets/mySyncSet",
|
||||
"name": "mySyncSet",
|
||||
"type": "Microsoft.RedHatOpenShift/OpenShiftClusters/SyncSets",
|
||||
"properties": {
|
||||
"resources": "eyAKICAiYXBpVmVyc2lvbiI6ICJoaXZlLm9wZW5zaGlmdC5pby92MSIsCiAgImtpbmQiOiAiU3luY1NldCIsCiAgIm1ldGFkYXRhIjogewogICAgIm5hbWUiOiAic2FtcGxlIiwKICAgICJuYW1lc3BhY2UiOiAiYXJvLWY2MGFlOGEyLWJjYTEtNDk4Ny05MDU2LWYyZjZhMTgzN2NhYSIKICB9LAogICJzcGVjIjogewogICAgImNsdXN0ZXJEZXBsb3ltZW50UmVmcyI6IFtdLAogICAgInJlc291cmNlcyI6IFsKICAgICAgewogICAgICAgICJhcGlWZXJzaW9uIjogInYxIiwKICAgICAgICAia2luZCI6ICJDb25maWdNYXAiLAogICAgICAgICJtZXRhZGF0YSI6IHsKICAgICAgICAgICJuYW1lIjogIm15Y29uZmlnbWFwIgogICAgICAgIH0KICAgICAgfQogICAgXQogIH0KfQo="
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-07-01-preview",
|
||||
"subscriptionId": "subscriptionId",
|
||||
"resourceGroupName": "resourceGroup",
|
||||
"resourceName": "resourceName",
|
||||
"childResourceName": "childResourceName",
|
||||
"parameters": {
|
||||
"properties": {
|
||||
"resources": "eyAKICAiYXBpVmVyc2lvbiI6ICJoaXZlLm9wZW5zaGlmdC5pby92MSIsCiAgImtpbmQiOiAiU3luY1NldCIsCiAgIm1ldGFkYXRhIjogewogICAgIm5hbWUiOiAic2FtcGxlIiwKICAgICJuYW1lc3BhY2UiOiAiYXJvLWY2MGFlOGEyLWJjYTEtNDk4Ny05MDU2LWYyZjZhMTgzN2NhYSIKICB9LAogICJzcGVjIjogewogICAgImNsdXN0ZXJEZXBsb3ltZW50UmVmcyI6IFtdLAogICAgInJlc291cmNlcyI6IFsKICAgICAgewogICAgICAgICJhcGlWZXJzaW9uIjogInYxIiwKICAgICAgICAia2luZCI6ICJDb25maWdNYXAiLAogICAgICAgICJtZXRhZGF0YSI6IHsKICAgICAgICAgICJuYW1lIjogIm15Y29uZmlnbWFwIgogICAgICAgIH0KICAgICAgfQogICAgXQogIH0KfQo="
|
||||
}
|
||||
}
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"body": {
|
||||
"id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName/syncSets/mySyncSet",
|
||||
"name": "mySyncSet",
|
||||
"type": "Microsoft.RedHatOpenShift/OpenShiftClusters/SyncSets",
|
||||
"properties": {
|
||||
"resources": "eyAKICAiYXBpVmVyc2lvbiI6ICJoaXZlLm9wZW5zaGlmdC5pby92MSIsCiAgImtpbmQiOiAiU3luY1NldCIsCiAgIm1ldGFkYXRhIjogewogICAgIm5hbWUiOiAic2FtcGxlIiwKICAgICJuYW1lc3BhY2UiOiAiYXJvLWY2MGFlOGEyLWJjYTEtNDk4Ny05MDU2LWYyZjZhMTgzN2NhYSIKICB9LAogICJzcGVjIjogewogICAgImNsdXN0ZXJEZXBsb3ltZW50UmVmcyI6IFtdLAogICAgInJlc291cmNlcyI6IFsKICAgICAgewogICAgICAgICJhcGlWZXJzaW9uIjogInYxIiwKICAgICAgICAia2luZCI6ICJDb25maWdNYXAiLAogICAgICAgICJtZXRhZGF0YSI6IHsKICAgICAgICAgICJuYW1lIjogIm15Y29uZmlnbWFwIgogICAgICAgIH0KICAgICAgfQogICAgXQogIH0KfQo="
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Загрузка…
Ссылка в новой задаче