[Release] sdk/resourcemanager/hybridkubernetes/armhybridkubernetes/0.1.0 (#16383)

* [Release] sdk/resourcemanager/hybridkubernetes/armhybridkubernetes/0.1.0 generation from spec commit: 3c5135f8325eaf79be7b137cae363bdcba028c17

* Update CHANGELOG.md

Co-authored-by: Dapeng Zhang <ufo54153@gmail.com>
This commit is contained in:
Jiahui Peng 2021-12-07 17:09:45 +08:00 коммит произвёл GitHub
Родитель 7a7641e8e3
Коммит 58106b7800
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
19 изменённых файлов: 2264 добавлений и 0 удалений

Просмотреть файл

@ -0,0 +1,5 @@
# Release History
## 0.1.0 (2021-12-07)
- Init release.

Просмотреть файл

@ -0,0 +1,21 @@
MIT License
Copyright (c) Microsoft Corporation. All rights reserved.
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.

Просмотреть файл

@ -0,0 +1,75 @@
# Azure Kubernetes Connect Service Module for Go
[![PkgGoDev](https://pkg.go.dev/badge/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hybridkubernetes/armhybridkubernetes)](https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hybridkubernetes/armhybridkubernetes)
The `armhybridkubernetes` module provides operations for working with Azure Kubernetes Connect Service.
[Source code](https://github.com/Azure/azure-sdk-for-go/tree/main/sdk/resourcemanager/hybridkubernetes/armhybridkubernetes)
# Getting started
## Prerequisites
- an [Azure subscription](https://azure.microsoft.com/free/)
- Go 1.13 or above
## Install the package
This project uses [Go modules](https://github.com/golang/go/wiki/Modules) for versioning and dependency management.
Install the Azure Kubernetes Connect Service module:
```sh
go get github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hybridkubernetes/armhybridkubernetes
```
## Authorization
When creating a client, you will need to provide a credential for authenticating with Azure Kubernetes Connect Service. The `azidentity` module provides facilities for various ways of authenticating with Azure including client/secret, certificate, managed identity, and more.
```go
cred, err := azidentity.NewDefaultAzureCredential(nil)
```
For more information on authentication, please see the documentation for `azidentity` at [pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/azidentity](https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/azidentity).
## Clients
Azure Kubernetes Connect Service modules consist of one or more clients. A client groups a set of related APIs, providing access to its functionality within the specified subscription. Create one or more clients to access the APIs you require using your credential.
```go
client := armhybridkubernetes.NewConnectedClusterClient(<subscription ID>, cred, nil)
```
You can use `ClientOptions` in package `github.com/Azure/azure-sdk-for-go/sdk/azcore/arm` to set endpoint to connect with public and sovereign clouds as well as Azure Stack. For more information, please see the documentation for `azcore` at [pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/azcore](https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/azcore).
```go
options = arm.ClientOptions{
Host: arm.AzureChina,
}
client := armhybridkubernetes.NewConnectedClusterClient(<subscription ID>, cred, &options)
```
## Provide Feedback
If you encounter bugs or have suggestions, please
[open an issue](https://github.com/Azure/azure-sdk-for-go/issues) and assign the `Kubernetes Connect Service` label.
# Contributing
This project welcomes contributions and suggestions. Most contributions require
you to agree to a Contributor License Agreement (CLA) declaring that you have
the right to, and actually do, grant us the rights to use your contribution.
For details, visit [https://cla.microsoft.com](https://cla.microsoft.com).
When you submit a pull request, a CLA-bot will automatically determine whether
you need to provide a CLA and decorate the PR appropriately (e.g., label,
comment). Simply follow the instructions provided by the bot. You will only
need to do this once across all repos using our CLA.
This project has adopted the
[Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
For more information, see the
[Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/)
or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any
additional questions or comments.

Просмотреть файл

@ -0,0 +1,13 @@
### AutoRest Configuration
> see https://aka.ms/autorest
``` yaml
azure-arm: true
require:
- https://github.com/Azure/azure-rest-api-specs/blob/3c5135f8325eaf79be7b137cae363bdcba028c17/specification/hybridkubernetes/resource-manager/readme.md
- https://github.com/Azure/azure-rest-api-specs/blob/3c5135f8325eaf79be7b137cae363bdcba028c17/specification/hybridkubernetes/resource-manager/readme.go.md
license-header: MICROSOFT_MIT_NO_VERSION
module-version: 0.1.0
```

Просмотреть файл

@ -0,0 +1,7 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// This file enables 'go generate' to regenerate this specific SDK
//go:generate pwsh.exe ../../../../eng/scripts/build.ps1 -skipBuild -cleanGenerated -format -tidy -generate resourcemanager/hybridkubernetes/armhybridkubernetes
package armhybridkubernetes

Просмотреть файл

@ -0,0 +1,27 @@
# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file.
trigger:
branches:
include:
- main
- feature/*
- hotfix/*
- release/*
paths:
include:
- sdk/resourcemanager/hybridkubernetes/armhybridkubernetes/
pr:
branches:
include:
- main
- feature/*
- hotfix/*
- release/*
paths:
include:
- sdk/resourcemanager/hybridkubernetes/armhybridkubernetes/
stages:
- template: /eng/pipelines/templates/jobs/archetype-sdk-client.yml
parameters:
ServiceDirectory: 'resourcemanager/hybridkubernetes/armhybridkubernetes'

Просмотреть файл

@ -0,0 +1,9 @@
module github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hybridkubernetes/armhybridkubernetes
go 1.16
require (
github.com/Azure/azure-sdk-for-go v59.4.0+incompatible
github.com/Azure/azure-sdk-for-go/sdk/azcore v0.20.0
github.com/Azure/azure-sdk-for-go/sdk/azidentity v0.12.0
)

Просмотреть файл

@ -0,0 +1,45 @@
github.com/Azure/azure-sdk-for-go v59.4.0+incompatible h1:gDA8odnngdNd3KYHL2NoK1j9vpWBgEnFSjKKLpkC8Aw=
github.com/Azure/azure-sdk-for-go v59.4.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc=
github.com/Azure/azure-sdk-for-go/sdk/azcore v0.20.0 h1:KQgdWmEOmaJKxaUUZwHAYh12t+b+ZJf8q3friycK1kA=
github.com/Azure/azure-sdk-for-go/sdk/azcore v0.20.0/go.mod h1:ZPW/Z0kLCTdDZaDbYTetxc9Cxl/2lNqxYHYNOF2bti0=
github.com/Azure/azure-sdk-for-go/sdk/azidentity v0.12.0 h1:VBvHGLJbaY0+c66NZHdS9cgjHVYSH6DDa0XJMyrblsI=
github.com/Azure/azure-sdk-for-go/sdk/azidentity v0.12.0/go.mod h1:GJzjM4SR9T0KyX5gKCVyz1ytD8FeWeUPCwtFCt1AyfE=
github.com/Azure/azure-sdk-for-go/sdk/internal v0.8.1 h1:BUYIbDf/mMZ8945v3QkG3OuqGVyS4Iek0AOLwdRAYoc=
github.com/Azure/azure-sdk-for-go/sdk/internal v0.8.1/go.mod h1:KLF4gFr6DcKFZwSuH8w8yEK6DpFl3LP5rhdvAb7Yz5I=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/dnaeon/go-vcr v1.1.0/go.mod h1:M7tiix8f0r6mKKJ3Yq/kqU1OYf3MnfmBWVbPx/yU9ko=
github.com/modocache/gover v0.0.0-20171022184752-b58185e213c5/go.mod h1:caMODM3PzxT8aQXRPkAt8xlV/e7d7w8GM5g0fa5F0D8=
github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4 h1:49lOXmGaUpV9Fz3gd7TFZY106KVlPVa5jcYD1gaQf98=
github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4/go.mod h1:4OwLy04Bl9Ef3GJJCoec+30X3LQs/0/m4HFRt/2LUSA=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897 h1:pLI5jrR7OSLijeIDcmRxNmw2api+jEfxLoykJVice/E=
golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20201010224723-4f7140c49acb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.0.0-20210610132358-84b48f89b13b h1:k+E048sYJHyVnsr1GDrRZWQ32D2C7lWs9JRc0bel53A=
golang.org/x/net v0.0.0-20210610132358-84b48f89b13b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6 h1:aRYxNxv6iGQlyVaZmk6ZgYEDa+Jg18DxebPSrd6bg1M=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo=
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

Просмотреть файл

@ -0,0 +1,13 @@
//go:build modhack
// +build modhack
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// This file, and the github.com/Azure/azure-sdk-for-go import, won't actually become part of
// the resultant binary.
package armhybridkubernetes
// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
import _ "github.com/Azure/azure-sdk-for-go"

Просмотреть файл

@ -0,0 +1,157 @@
//go:build go1.16
// +build go1.16
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// Code generated by Microsoft (R) AutoRest Code Generator.
// Changes may cause incorrect behavior and will be lost if the code is regenerated.
package armhybridkubernetes_test
import (
"context"
"log"
"time"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hybridkubernetes/armhybridkubernetes"
)
// x-ms-original-file: specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/stable/2021-10-01/examples/CreateClusterExample.json
func ExampleConnectedClusterClient_BeginCreate() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
client := armhybridkubernetes.NewConnectedClusterClient("<subscription-id>", cred, nil)
poller, err := client.BeginCreate(ctx,
"<resource-group-name>",
"<cluster-name>",
armhybridkubernetes.ConnectedCluster{},
nil)
if err != nil {
log.Fatal(err)
}
res, err := poller.PollUntilDone(ctx, 30*time.Second)
if err != nil {
log.Fatal(err)
}
log.Printf("ConnectedCluster.ID: %s\n", *res.ID)
}
// x-ms-original-file: specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/stable/2021-10-01/examples/UpdateClusterExample.json
func ExampleConnectedClusterClient_Update() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
client := armhybridkubernetes.NewConnectedClusterClient("<subscription-id>", cred, nil)
res, err := client.Update(ctx,
"<resource-group-name>",
"<cluster-name>",
armhybridkubernetes.ConnectedClusterPatch{},
nil)
if err != nil {
log.Fatal(err)
}
log.Printf("ConnectedCluster.ID: %s\n", *res.ID)
}
// x-ms-original-file: specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/stable/2021-10-01/examples/GetClusterExample.json
func ExampleConnectedClusterClient_Get() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
client := armhybridkubernetes.NewConnectedClusterClient("<subscription-id>", cred, nil)
res, err := client.Get(ctx,
"<resource-group-name>",
"<cluster-name>",
nil)
if err != nil {
log.Fatal(err)
}
log.Printf("ConnectedCluster.ID: %s\n", *res.ID)
}
// x-ms-original-file: specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/stable/2021-10-01/examples/DeleteClusterExample.json
func ExampleConnectedClusterClient_BeginDelete() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
client := armhybridkubernetes.NewConnectedClusterClient("<subscription-id>", cred, nil)
poller, err := client.BeginDelete(ctx,
"<resource-group-name>",
"<cluster-name>",
nil)
if err != nil {
log.Fatal(err)
}
_, err = poller.PollUntilDone(ctx, 30*time.Second)
if err != nil {
log.Fatal(err)
}
}
// x-ms-original-file: specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/stable/2021-10-01/examples/ConnectedClustersListClusterCredentialResultHPAAD.json
func ExampleConnectedClusterClient_ListClusterUserCredential() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
client := armhybridkubernetes.NewConnectedClusterClient("<subscription-id>", cred, nil)
_, err = client.ListClusterUserCredential(ctx,
"<resource-group-name>",
"<cluster-name>",
armhybridkubernetes.ListClusterUserCredentialProperties{},
nil)
if err != nil {
log.Fatal(err)
}
}
// x-ms-original-file: specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/stable/2021-10-01/examples/GetClustersByResourceGroupExample.json
func ExampleConnectedClusterClient_ListByResourceGroup() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
client := armhybridkubernetes.NewConnectedClusterClient("<subscription-id>", cred, nil)
pager := client.ListByResourceGroup("<resource-group-name>",
nil)
for pager.NextPage(ctx) {
if err := pager.Err(); err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range pager.PageResponse().Value {
log.Printf("ConnectedCluster.ID: %s\n", *v.ID)
}
}
}
// x-ms-original-file: specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/stable/2021-10-01/examples/GetClustersBySubscriptionExample.json
func ExampleConnectedClusterClient_ListBySubscription() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
client := armhybridkubernetes.NewConnectedClusterClient("<subscription-id>", cred, nil)
pager := client.ListBySubscription(nil)
for pager.NextPage(ctx) {
if err := pager.Err(); err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range pager.PageResponse().Value {
log.Printf("ConnectedCluster.ID: %s\n", *v.ID)
}
}
}

Просмотреть файл

@ -0,0 +1,33 @@
//go:build go1.16
// +build go1.16
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// Code generated by Microsoft (R) AutoRest Code Generator.
// Changes may cause incorrect behavior and will be lost if the code is regenerated.
package armhybridkubernetes_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hybridkubernetes/armhybridkubernetes"
)
// x-ms-original-file: specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/stable/2021-10-01/examples/ListConnectedClusterOperationsExample.json
func ExampleOperationsClient_Get() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
client := armhybridkubernetes.NewOperationsClient(cred, nil)
pager := client.Get(nil)
for pager.NextPage(ctx) {
if err := pager.Err(); err != nil {
log.Fatalf("failed to advance page: %v", err)
}
}
}

Просмотреть файл

@ -0,0 +1,502 @@
//go:build go1.16
// +build go1.16
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// Code generated by Microsoft (R) AutoRest Code Generator.
// Changes may cause incorrect behavior and will be lost if the code is regenerated.
package armhybridkubernetes
import (
"context"
"errors"
"fmt"
"github.com/Azure/azure-sdk-for-go/sdk/azcore"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/arm"
armruntime "github.com/Azure/azure-sdk-for-go/sdk/azcore/arm/runtime"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/policy"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime"
"net/http"
"net/url"
"strings"
)
// ConnectedClusterClient contains the methods for the ConnectedCluster group.
// Don't use this type directly, use NewConnectedClusterClient() instead.
type ConnectedClusterClient struct {
ep string
pl runtime.Pipeline
subscriptionID string
}
// NewConnectedClusterClient creates a new instance of ConnectedClusterClient with the specified values.
func NewConnectedClusterClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) *ConnectedClusterClient {
cp := arm.ClientOptions{}
if options != nil {
cp = *options
}
if len(cp.Host) == 0 {
cp.Host = arm.AzurePublicCloud
}
return &ConnectedClusterClient{subscriptionID: subscriptionID, ep: string(cp.Host), pl: armruntime.NewPipeline(module, version, credential, &cp)}
}
// BeginCreate - API to register a new Kubernetes cluster and create a tracked resource in Azure Resource Manager (ARM).
// If the operation fails it returns the *ErrorResponse error type.
func (client *ConnectedClusterClient) BeginCreate(ctx context.Context, resourceGroupName string, clusterName string, connectedCluster ConnectedCluster, options *ConnectedClusterBeginCreateOptions) (ConnectedClusterCreatePollerResponse, error) {
resp, err := client.create(ctx, resourceGroupName, clusterName, connectedCluster, options)
if err != nil {
return ConnectedClusterCreatePollerResponse{}, err
}
result := ConnectedClusterCreatePollerResponse{
RawResponse: resp,
}
pt, err := armruntime.NewPoller("ConnectedClusterClient.Create", "azure-async-operation", resp, client.pl, client.createHandleError)
if err != nil {
return ConnectedClusterCreatePollerResponse{}, err
}
result.Poller = &ConnectedClusterCreatePoller{
pt: pt,
}
return result, nil
}
// Create - API to register a new Kubernetes cluster and create a tracked resource in Azure Resource Manager (ARM).
// If the operation fails it returns the *ErrorResponse error type.
func (client *ConnectedClusterClient) create(ctx context.Context, resourceGroupName string, clusterName string, connectedCluster ConnectedCluster, options *ConnectedClusterBeginCreateOptions) (*http.Response, error) {
req, err := client.createCreateRequest(ctx, resourceGroupName, clusterName, connectedCluster, options)
if err != nil {
return nil, err
}
resp, err := client.pl.Do(req)
if err != nil {
return nil, err
}
if !runtime.HasStatusCode(resp, http.StatusOK, http.StatusCreated) {
return nil, client.createHandleError(resp)
}
return resp, nil
}
// createCreateRequest creates the Create request.
func (client *ConnectedClusterClient) createCreateRequest(ctx context.Context, resourceGroupName string, clusterName string, connectedCluster ConnectedCluster, options *ConnectedClusterBeginCreateOptions) (*policy.Request, error) {
urlPath := "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedClusters/{clusterName}"
if client.subscriptionID == "" {
return nil, errors.New("parameter client.subscriptionID cannot be empty")
}
urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID))
if resourceGroupName == "" {
return nil, errors.New("parameter resourceGroupName cannot be empty")
}
urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName))
if clusterName == "" {
return nil, errors.New("parameter clusterName cannot be empty")
}
urlPath = strings.ReplaceAll(urlPath, "{clusterName}", url.PathEscape(clusterName))
req, err := runtime.NewRequest(ctx, http.MethodPut, runtime.JoinPaths(client.ep, urlPath))
if err != nil {
return nil, err
}
reqQP := req.Raw().URL.Query()
reqQP.Set("api-version", "2021-10-01")
req.Raw().URL.RawQuery = reqQP.Encode()
req.Raw().Header.Set("Accept", "application/json")
return req, runtime.MarshalAsJSON(req, connectedCluster)
}
// createHandleError handles the Create error response.
func (client *ConnectedClusterClient) createHandleError(resp *http.Response) error {
body, err := runtime.Payload(resp)
if err != nil {
return runtime.NewResponseError(err, resp)
}
errType := ErrorResponse{raw: string(body)}
if err := runtime.UnmarshalAsJSON(resp, &errType); err != nil {
return runtime.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp)
}
return runtime.NewResponseError(&errType, resp)
}
// BeginDelete - Delete a connected cluster, removing the tracked resource in Azure Resource Manager (ARM).
// If the operation fails it returns the *ErrorResponse error type.
func (client *ConnectedClusterClient) BeginDelete(ctx context.Context, resourceGroupName string, clusterName string, options *ConnectedClusterBeginDeleteOptions) (ConnectedClusterDeletePollerResponse, error) {
resp, err := client.deleteOperation(ctx, resourceGroupName, clusterName, options)
if err != nil {
return ConnectedClusterDeletePollerResponse{}, err
}
result := ConnectedClusterDeletePollerResponse{
RawResponse: resp,
}
pt, err := armruntime.NewPoller("ConnectedClusterClient.Delete", "location", resp, client.pl, client.deleteHandleError)
if err != nil {
return ConnectedClusterDeletePollerResponse{}, err
}
result.Poller = &ConnectedClusterDeletePoller{
pt: pt,
}
return result, nil
}
// Delete - Delete a connected cluster, removing the tracked resource in Azure Resource Manager (ARM).
// If the operation fails it returns the *ErrorResponse error type.
func (client *ConnectedClusterClient) deleteOperation(ctx context.Context, resourceGroupName string, clusterName string, options *ConnectedClusterBeginDeleteOptions) (*http.Response, error) {
req, err := client.deleteCreateRequest(ctx, resourceGroupName, clusterName, options)
if err != nil {
return nil, err
}
resp, err := client.pl.Do(req)
if err != nil {
return nil, err
}
if !runtime.HasStatusCode(resp, http.StatusOK, http.StatusAccepted, http.StatusNoContent) {
return nil, client.deleteHandleError(resp)
}
return resp, nil
}
// deleteCreateRequest creates the Delete request.
func (client *ConnectedClusterClient) deleteCreateRequest(ctx context.Context, resourceGroupName string, clusterName string, options *ConnectedClusterBeginDeleteOptions) (*policy.Request, error) {
urlPath := "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedClusters/{clusterName}"
if client.subscriptionID == "" {
return nil, errors.New("parameter client.subscriptionID cannot be empty")
}
urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID))
if resourceGroupName == "" {
return nil, errors.New("parameter resourceGroupName cannot be empty")
}
urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName))
if clusterName == "" {
return nil, errors.New("parameter clusterName cannot be empty")
}
urlPath = strings.ReplaceAll(urlPath, "{clusterName}", url.PathEscape(clusterName))
req, err := runtime.NewRequest(ctx, http.MethodDelete, runtime.JoinPaths(client.ep, urlPath))
if err != nil {
return nil, err
}
reqQP := req.Raw().URL.Query()
reqQP.Set("api-version", "2021-10-01")
req.Raw().URL.RawQuery = reqQP.Encode()
req.Raw().Header.Set("Accept", "application/json")
return req, nil
}
// deleteHandleError handles the Delete error response.
func (client *ConnectedClusterClient) deleteHandleError(resp *http.Response) error {
body, err := runtime.Payload(resp)
if err != nil {
return runtime.NewResponseError(err, resp)
}
errType := ErrorResponse{raw: string(body)}
if err := runtime.UnmarshalAsJSON(resp, &errType); err != nil {
return runtime.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp)
}
return runtime.NewResponseError(&errType, resp)
}
// Get - Returns the properties of the specified connected cluster, including name, identity, properties, and additional cluster details.
// If the operation fails it returns the *ErrorResponse error type.
func (client *ConnectedClusterClient) Get(ctx context.Context, resourceGroupName string, clusterName string, options *ConnectedClusterGetOptions) (ConnectedClusterGetResponse, error) {
req, err := client.getCreateRequest(ctx, resourceGroupName, clusterName, options)
if err != nil {
return ConnectedClusterGetResponse{}, err
}
resp, err := client.pl.Do(req)
if err != nil {
return ConnectedClusterGetResponse{}, err
}
if !runtime.HasStatusCode(resp, http.StatusOK) {
return ConnectedClusterGetResponse{}, client.getHandleError(resp)
}
return client.getHandleResponse(resp)
}
// getCreateRequest creates the Get request.
func (client *ConnectedClusterClient) getCreateRequest(ctx context.Context, resourceGroupName string, clusterName string, options *ConnectedClusterGetOptions) (*policy.Request, error) {
urlPath := "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedClusters/{clusterName}"
if client.subscriptionID == "" {
return nil, errors.New("parameter client.subscriptionID cannot be empty")
}
urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID))
if resourceGroupName == "" {
return nil, errors.New("parameter resourceGroupName cannot be empty")
}
urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName))
if clusterName == "" {
return nil, errors.New("parameter clusterName cannot be empty")
}
urlPath = strings.ReplaceAll(urlPath, "{clusterName}", url.PathEscape(clusterName))
req, err := runtime.NewRequest(ctx, http.MethodGet, runtime.JoinPaths(client.ep, urlPath))
if err != nil {
return nil, err
}
reqQP := req.Raw().URL.Query()
reqQP.Set("api-version", "2021-10-01")
req.Raw().URL.RawQuery = reqQP.Encode()
req.Raw().Header.Set("Accept", "application/json")
return req, nil
}
// getHandleResponse handles the Get response.
func (client *ConnectedClusterClient) getHandleResponse(resp *http.Response) (ConnectedClusterGetResponse, error) {
result := ConnectedClusterGetResponse{RawResponse: resp}
if err := runtime.UnmarshalAsJSON(resp, &result.ConnectedCluster); err != nil {
return ConnectedClusterGetResponse{}, runtime.NewResponseError(err, resp)
}
return result, nil
}
// getHandleError handles the Get error response.
func (client *ConnectedClusterClient) getHandleError(resp *http.Response) error {
body, err := runtime.Payload(resp)
if err != nil {
return runtime.NewResponseError(err, resp)
}
errType := ErrorResponse{raw: string(body)}
if err := runtime.UnmarshalAsJSON(resp, &errType); err != nil {
return runtime.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp)
}
return runtime.NewResponseError(&errType, resp)
}
// ListByResourceGroup - API to enumerate registered connected K8s clusters under a Resource Group
// If the operation fails it returns the *ErrorResponse error type.
func (client *ConnectedClusterClient) ListByResourceGroup(resourceGroupName string, options *ConnectedClusterListByResourceGroupOptions) *ConnectedClusterListByResourceGroupPager {
return &ConnectedClusterListByResourceGroupPager{
client: client,
requester: func(ctx context.Context) (*policy.Request, error) {
return client.listByResourceGroupCreateRequest(ctx, resourceGroupName, options)
},
advancer: func(ctx context.Context, resp ConnectedClusterListByResourceGroupResponse) (*policy.Request, error) {
return runtime.NewRequest(ctx, http.MethodGet, *resp.ConnectedClusterList.NextLink)
},
}
}
// listByResourceGroupCreateRequest creates the ListByResourceGroup request.
func (client *ConnectedClusterClient) listByResourceGroupCreateRequest(ctx context.Context, resourceGroupName string, options *ConnectedClusterListByResourceGroupOptions) (*policy.Request, error) {
urlPath := "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedClusters"
if client.subscriptionID == "" {
return nil, errors.New("parameter client.subscriptionID cannot be empty")
}
urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID))
if resourceGroupName == "" {
return nil, errors.New("parameter resourceGroupName cannot be empty")
}
urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName))
req, err := runtime.NewRequest(ctx, http.MethodGet, runtime.JoinPaths(client.ep, urlPath))
if err != nil {
return nil, err
}
reqQP := req.Raw().URL.Query()
reqQP.Set("api-version", "2021-10-01")
req.Raw().URL.RawQuery = reqQP.Encode()
req.Raw().Header.Set("Accept", "application/json")
return req, nil
}
// listByResourceGroupHandleResponse handles the ListByResourceGroup response.
func (client *ConnectedClusterClient) listByResourceGroupHandleResponse(resp *http.Response) (ConnectedClusterListByResourceGroupResponse, error) {
result := ConnectedClusterListByResourceGroupResponse{RawResponse: resp}
if err := runtime.UnmarshalAsJSON(resp, &result.ConnectedClusterList); err != nil {
return ConnectedClusterListByResourceGroupResponse{}, runtime.NewResponseError(err, resp)
}
return result, nil
}
// listByResourceGroupHandleError handles the ListByResourceGroup error response.
func (client *ConnectedClusterClient) listByResourceGroupHandleError(resp *http.Response) error {
body, err := runtime.Payload(resp)
if err != nil {
return runtime.NewResponseError(err, resp)
}
errType := ErrorResponse{raw: string(body)}
if err := runtime.UnmarshalAsJSON(resp, &errType); err != nil {
return runtime.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp)
}
return runtime.NewResponseError(&errType, resp)
}
// ListBySubscription - API to enumerate registered connected K8s clusters under a Subscription
// If the operation fails it returns the *ErrorResponse error type.
func (client *ConnectedClusterClient) ListBySubscription(options *ConnectedClusterListBySubscriptionOptions) *ConnectedClusterListBySubscriptionPager {
return &ConnectedClusterListBySubscriptionPager{
client: client,
requester: func(ctx context.Context) (*policy.Request, error) {
return client.listBySubscriptionCreateRequest(ctx, options)
},
advancer: func(ctx context.Context, resp ConnectedClusterListBySubscriptionResponse) (*policy.Request, error) {
return runtime.NewRequest(ctx, http.MethodGet, *resp.ConnectedClusterList.NextLink)
},
}
}
// listBySubscriptionCreateRequest creates the ListBySubscription request.
func (client *ConnectedClusterClient) listBySubscriptionCreateRequest(ctx context.Context, options *ConnectedClusterListBySubscriptionOptions) (*policy.Request, error) {
urlPath := "/subscriptions/{subscriptionId}/providers/Microsoft.Kubernetes/connectedClusters"
if client.subscriptionID == "" {
return nil, errors.New("parameter client.subscriptionID cannot be empty")
}
urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID))
req, err := runtime.NewRequest(ctx, http.MethodGet, runtime.JoinPaths(client.ep, urlPath))
if err != nil {
return nil, err
}
reqQP := req.Raw().URL.Query()
reqQP.Set("api-version", "2021-10-01")
req.Raw().URL.RawQuery = reqQP.Encode()
req.Raw().Header.Set("Accept", "application/json")
return req, nil
}
// listBySubscriptionHandleResponse handles the ListBySubscription response.
func (client *ConnectedClusterClient) listBySubscriptionHandleResponse(resp *http.Response) (ConnectedClusterListBySubscriptionResponse, error) {
result := ConnectedClusterListBySubscriptionResponse{RawResponse: resp}
if err := runtime.UnmarshalAsJSON(resp, &result.ConnectedClusterList); err != nil {
return ConnectedClusterListBySubscriptionResponse{}, runtime.NewResponseError(err, resp)
}
return result, nil
}
// listBySubscriptionHandleError handles the ListBySubscription error response.
func (client *ConnectedClusterClient) listBySubscriptionHandleError(resp *http.Response) error {
body, err := runtime.Payload(resp)
if err != nil {
return runtime.NewResponseError(err, resp)
}
errType := ErrorResponse{raw: string(body)}
if err := runtime.UnmarshalAsJSON(resp, &errType); err != nil {
return runtime.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp)
}
return runtime.NewResponseError(&errType, resp)
}
// ListClusterUserCredential - Gets cluster user credentials of the connected cluster with a specified resource group and name.
// If the operation fails it returns the *ErrorResponse error type.
func (client *ConnectedClusterClient) ListClusterUserCredential(ctx context.Context, resourceGroupName string, clusterName string, properties ListClusterUserCredentialProperties, options *ConnectedClusterListClusterUserCredentialOptions) (ConnectedClusterListClusterUserCredentialResponse, error) {
req, err := client.listClusterUserCredentialCreateRequest(ctx, resourceGroupName, clusterName, properties, options)
if err != nil {
return ConnectedClusterListClusterUserCredentialResponse{}, err
}
resp, err := client.pl.Do(req)
if err != nil {
return ConnectedClusterListClusterUserCredentialResponse{}, err
}
if !runtime.HasStatusCode(resp, http.StatusOK) {
return ConnectedClusterListClusterUserCredentialResponse{}, client.listClusterUserCredentialHandleError(resp)
}
return client.listClusterUserCredentialHandleResponse(resp)
}
// listClusterUserCredentialCreateRequest creates the ListClusterUserCredential request.
func (client *ConnectedClusterClient) listClusterUserCredentialCreateRequest(ctx context.Context, resourceGroupName string, clusterName string, properties ListClusterUserCredentialProperties, options *ConnectedClusterListClusterUserCredentialOptions) (*policy.Request, error) {
urlPath := "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedClusters/{clusterName}/listClusterUserCredential"
if client.subscriptionID == "" {
return nil, errors.New("parameter client.subscriptionID cannot be empty")
}
urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID))
if resourceGroupName == "" {
return nil, errors.New("parameter resourceGroupName cannot be empty")
}
urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName))
if clusterName == "" {
return nil, errors.New("parameter clusterName cannot be empty")
}
urlPath = strings.ReplaceAll(urlPath, "{clusterName}", url.PathEscape(clusterName))
req, err := runtime.NewRequest(ctx, http.MethodPost, runtime.JoinPaths(client.ep, urlPath))
if err != nil {
return nil, err
}
reqQP := req.Raw().URL.Query()
reqQP.Set("api-version", "2021-10-01")
req.Raw().URL.RawQuery = reqQP.Encode()
req.Raw().Header.Set("Accept", "application/json")
return req, runtime.MarshalAsJSON(req, properties)
}
// listClusterUserCredentialHandleResponse handles the ListClusterUserCredential response.
func (client *ConnectedClusterClient) listClusterUserCredentialHandleResponse(resp *http.Response) (ConnectedClusterListClusterUserCredentialResponse, error) {
result := ConnectedClusterListClusterUserCredentialResponse{RawResponse: resp}
if err := runtime.UnmarshalAsJSON(resp, &result.CredentialResults); err != nil {
return ConnectedClusterListClusterUserCredentialResponse{}, runtime.NewResponseError(err, resp)
}
return result, nil
}
// listClusterUserCredentialHandleError handles the ListClusterUserCredential error response.
func (client *ConnectedClusterClient) listClusterUserCredentialHandleError(resp *http.Response) error {
body, err := runtime.Payload(resp)
if err != nil {
return runtime.NewResponseError(err, resp)
}
errType := ErrorResponse{raw: string(body)}
if err := runtime.UnmarshalAsJSON(resp, &errType); err != nil {
return runtime.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp)
}
return runtime.NewResponseError(&errType, resp)
}
// Update - API to update certain properties of the connected cluster resource
// If the operation fails it returns the *ErrorResponse error type.
func (client *ConnectedClusterClient) Update(ctx context.Context, resourceGroupName string, clusterName string, connectedClusterPatch ConnectedClusterPatch, options *ConnectedClusterUpdateOptions) (ConnectedClusterUpdateResponse, error) {
req, err := client.updateCreateRequest(ctx, resourceGroupName, clusterName, connectedClusterPatch, options)
if err != nil {
return ConnectedClusterUpdateResponse{}, err
}
resp, err := client.pl.Do(req)
if err != nil {
return ConnectedClusterUpdateResponse{}, err
}
if !runtime.HasStatusCode(resp, http.StatusOK) {
return ConnectedClusterUpdateResponse{}, client.updateHandleError(resp)
}
return client.updateHandleResponse(resp)
}
// updateCreateRequest creates the Update request.
func (client *ConnectedClusterClient) updateCreateRequest(ctx context.Context, resourceGroupName string, clusterName string, connectedClusterPatch ConnectedClusterPatch, options *ConnectedClusterUpdateOptions) (*policy.Request, error) {
urlPath := "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedClusters/{clusterName}"
if client.subscriptionID == "" {
return nil, errors.New("parameter client.subscriptionID cannot be empty")
}
urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID))
if resourceGroupName == "" {
return nil, errors.New("parameter resourceGroupName cannot be empty")
}
urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName))
if clusterName == "" {
return nil, errors.New("parameter clusterName cannot be empty")
}
urlPath = strings.ReplaceAll(urlPath, "{clusterName}", url.PathEscape(clusterName))
req, err := runtime.NewRequest(ctx, http.MethodPatch, runtime.JoinPaths(client.ep, urlPath))
if err != nil {
return nil, err
}
reqQP := req.Raw().URL.Query()
reqQP.Set("api-version", "2021-10-01")
req.Raw().URL.RawQuery = reqQP.Encode()
req.Raw().Header.Set("Accept", "application/json")
return req, runtime.MarshalAsJSON(req, connectedClusterPatch)
}
// updateHandleResponse handles the Update response.
func (client *ConnectedClusterClient) updateHandleResponse(resp *http.Response) (ConnectedClusterUpdateResponse, error) {
result := ConnectedClusterUpdateResponse{RawResponse: resp}
if err := runtime.UnmarshalAsJSON(resp, &result.ConnectedCluster); err != nil {
return ConnectedClusterUpdateResponse{}, runtime.NewResponseError(err, resp)
}
return result, nil
}
// updateHandleError handles the Update error response.
func (client *ConnectedClusterClient) updateHandleError(resp *http.Response) error {
body, err := runtime.Payload(resp)
if err != nil {
return runtime.NewResponseError(err, resp)
}
errType := ErrorResponse{raw: string(body)}
if err := runtime.UnmarshalAsJSON(resp, &errType); err != nil {
return runtime.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp)
}
return runtime.NewResponseError(&errType, resp)
}

Просмотреть файл

@ -0,0 +1,163 @@
//go:build go1.16
// +build go1.16
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// Code generated by Microsoft (R) AutoRest Code Generator.
// Changes may cause incorrect behavior and will be lost if the code is regenerated.
package armhybridkubernetes
const (
module = "armhybridkubernetes"
version = "v0.1.0"
)
// AuthenticationMethod - The mode of client authentication.
type AuthenticationMethod string
const (
AuthenticationMethodAAD AuthenticationMethod = "AAD"
AuthenticationMethodToken AuthenticationMethod = "Token"
)
// PossibleAuthenticationMethodValues returns the possible values for the AuthenticationMethod const type.
func PossibleAuthenticationMethodValues() []AuthenticationMethod {
return []AuthenticationMethod{
AuthenticationMethodAAD,
AuthenticationMethodToken,
}
}
// ToPtr returns a *AuthenticationMethod pointing to the current value.
func (c AuthenticationMethod) ToPtr() *AuthenticationMethod {
return &c
}
// ConnectivityStatus - Represents the connectivity status of the connected cluster.
type ConnectivityStatus string
const (
ConnectivityStatusConnected ConnectivityStatus = "Connected"
ConnectivityStatusConnecting ConnectivityStatus = "Connecting"
ConnectivityStatusExpired ConnectivityStatus = "Expired"
ConnectivityStatusOffline ConnectivityStatus = "Offline"
)
// PossibleConnectivityStatusValues returns the possible values for the ConnectivityStatus const type.
func PossibleConnectivityStatusValues() []ConnectivityStatus {
return []ConnectivityStatus{
ConnectivityStatusConnected,
ConnectivityStatusConnecting,
ConnectivityStatusExpired,
ConnectivityStatusOffline,
}
}
// ToPtr returns a *ConnectivityStatus pointing to the current value.
func (c ConnectivityStatus) ToPtr() *ConnectivityStatus {
return &c
}
// CreatedByType - The type of identity that created the resource.
type CreatedByType string
const (
CreatedByTypeApplication CreatedByType = "Application"
CreatedByTypeKey CreatedByType = "Key"
CreatedByTypeManagedIdentity CreatedByType = "ManagedIdentity"
CreatedByTypeUser CreatedByType = "User"
)
// PossibleCreatedByTypeValues returns the possible values for the CreatedByType const type.
func PossibleCreatedByTypeValues() []CreatedByType {
return []CreatedByType{
CreatedByTypeApplication,
CreatedByTypeKey,
CreatedByTypeManagedIdentity,
CreatedByTypeUser,
}
}
// ToPtr returns a *CreatedByType pointing to the current value.
func (c CreatedByType) ToPtr() *CreatedByType {
return &c
}
// LastModifiedByType - The type of identity that last modified the resource.
type LastModifiedByType string
const (
LastModifiedByTypeApplication LastModifiedByType = "Application"
LastModifiedByTypeKey LastModifiedByType = "Key"
LastModifiedByTypeManagedIdentity LastModifiedByType = "ManagedIdentity"
LastModifiedByTypeUser LastModifiedByType = "User"
)
// PossibleLastModifiedByTypeValues returns the possible values for the LastModifiedByType const type.
func PossibleLastModifiedByTypeValues() []LastModifiedByType {
return []LastModifiedByType{
LastModifiedByTypeApplication,
LastModifiedByTypeKey,
LastModifiedByTypeManagedIdentity,
LastModifiedByTypeUser,
}
}
// ToPtr returns a *LastModifiedByType pointing to the current value.
func (c LastModifiedByType) ToPtr() *LastModifiedByType {
return &c
}
// ProvisioningState - The current deployment state of connectedClusters.
type ProvisioningState string
const (
ProvisioningStateAccepted ProvisioningState = "Accepted"
ProvisioningStateCanceled ProvisioningState = "Canceled"
ProvisioningStateDeleting ProvisioningState = "Deleting"
ProvisioningStateFailed ProvisioningState = "Failed"
ProvisioningStateProvisioning ProvisioningState = "Provisioning"
ProvisioningStateSucceeded ProvisioningState = "Succeeded"
ProvisioningStateUpdating ProvisioningState = "Updating"
)
// PossibleProvisioningStateValues returns the possible values for the ProvisioningState const type.
func PossibleProvisioningStateValues() []ProvisioningState {
return []ProvisioningState{
ProvisioningStateAccepted,
ProvisioningStateCanceled,
ProvisioningStateDeleting,
ProvisioningStateFailed,
ProvisioningStateProvisioning,
ProvisioningStateSucceeded,
ProvisioningStateUpdating,
}
}
// ToPtr returns a *ProvisioningState pointing to the current value.
func (c ProvisioningState) ToPtr() *ProvisioningState {
return &c
}
// ResourceIdentityType - The type of identity used for the connected cluster. The type 'SystemAssigned, includes a system created identity. The type 'None'
// means no identity is assigned to the connected cluster.
type ResourceIdentityType string
const (
ResourceIdentityTypeNone ResourceIdentityType = "None"
ResourceIdentityTypeSystemAssigned ResourceIdentityType = "SystemAssigned"
)
// PossibleResourceIdentityTypeValues returns the possible values for the ResourceIdentityType const type.
func PossibleResourceIdentityTypeValues() []ResourceIdentityType {
return []ResourceIdentityType{
ResourceIdentityTypeNone,
ResourceIdentityTypeSystemAssigned,
}
}
// ToPtr returns a *ResourceIdentityType pointing to the current value.
func (c ResourceIdentityType) ToPtr() *ResourceIdentityType {
return &c
}

Просмотреть файл

@ -0,0 +1,554 @@
//go:build go1.16
// +build go1.16
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// Code generated by Microsoft (R) AutoRest Code Generator.
// Changes may cause incorrect behavior and will be lost if the code is regenerated.
package armhybridkubernetes
import (
"encoding/json"
"github.com/Azure/azure-sdk-for-go/sdk/azcore"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime"
"reflect"
"time"
)
// ConnectedCluster - Represents a connected cluster.
type ConnectedCluster struct {
TrackedResource
// REQUIRED; The identity of the connected cluster.
Identity *ConnectedClusterIdentity `json:"identity,omitempty"`
// REQUIRED; Describes the connected cluster resource properties.
Properties *ConnectedClusterProperties `json:"properties,omitempty"`
// READ-ONLY; Metadata pertaining to creation and last modification of the resource
SystemData *SystemData `json:"systemData,omitempty" azure:"ro"`
}
// MarshalJSON implements the json.Marshaller interface for type ConnectedCluster.
func (c ConnectedCluster) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]interface{})
c.TrackedResource.marshalInternal(objectMap)
populate(objectMap, "identity", c.Identity)
populate(objectMap, "properties", c.Properties)
populate(objectMap, "systemData", c.SystemData)
return json.Marshal(objectMap)
}
// ConnectedClusterBeginCreateOptions contains the optional parameters for the ConnectedCluster.BeginCreate method.
type ConnectedClusterBeginCreateOptions struct {
// placeholder for future optional parameters
}
// ConnectedClusterBeginDeleteOptions contains the optional parameters for the ConnectedCluster.BeginDelete method.
type ConnectedClusterBeginDeleteOptions struct {
// placeholder for future optional parameters
}
// ConnectedClusterGetOptions contains the optional parameters for the ConnectedCluster.Get method.
type ConnectedClusterGetOptions struct {
// placeholder for future optional parameters
}
// ConnectedClusterIdentity - Identity for the connected cluster.
type ConnectedClusterIdentity struct {
// REQUIRED; The type of identity used for the connected cluster. The type 'SystemAssigned, includes a system created identity. The type 'None' means no
// identity is assigned to the connected cluster.
Type *ResourceIdentityType `json:"type,omitempty"`
// READ-ONLY; The principal id of connected cluster identity. This property will only be provided for a system assigned identity.
PrincipalID *string `json:"principalId,omitempty" azure:"ro"`
// READ-ONLY; The tenant id associated with the connected cluster. This property will only be provided for a system assigned identity.
TenantID *string `json:"tenantId,omitempty" azure:"ro"`
}
// ConnectedClusterList - The paginated list of connected Clusters
type ConnectedClusterList struct {
// The link to fetch the next page of connected cluster
NextLink *string `json:"nextLink,omitempty"`
// The list of connected clusters
Value []*ConnectedCluster `json:"value,omitempty"`
}
// MarshalJSON implements the json.Marshaller interface for type ConnectedClusterList.
func (c ConnectedClusterList) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]interface{})
populate(objectMap, "nextLink", c.NextLink)
populate(objectMap, "value", c.Value)
return json.Marshal(objectMap)
}
// ConnectedClusterListByResourceGroupOptions contains the optional parameters for the ConnectedCluster.ListByResourceGroup method.
type ConnectedClusterListByResourceGroupOptions struct {
// placeholder for future optional parameters
}
// ConnectedClusterListBySubscriptionOptions contains the optional parameters for the ConnectedCluster.ListBySubscription method.
type ConnectedClusterListBySubscriptionOptions struct {
// placeholder for future optional parameters
}
// ConnectedClusterListClusterUserCredentialOptions contains the optional parameters for the ConnectedCluster.ListClusterUserCredential method.
type ConnectedClusterListClusterUserCredentialOptions struct {
// placeholder for future optional parameters
}
// ConnectedClusterPatch - Object containing updates for patch operations.
type ConnectedClusterPatch struct {
// Describes the connected cluster resource properties that can be updated during PATCH operation.
Properties map[string]interface{} `json:"properties,omitempty"`
// Resource tags.
Tags map[string]*string `json:"tags,omitempty"`
}
// MarshalJSON implements the json.Marshaller interface for type ConnectedClusterPatch.
func (c ConnectedClusterPatch) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]interface{})
populate(objectMap, "properties", c.Properties)
populate(objectMap, "tags", c.Tags)
return json.Marshal(objectMap)
}
// ConnectedClusterProperties - Properties of the connected cluster.
type ConnectedClusterProperties struct {
// REQUIRED; Base64 encoded public certificate used by the agent to do the initial handshake to the backend services in Azure.
AgentPublicKeyCertificate *string `json:"agentPublicKeyCertificate,omitempty"`
// The Kubernetes distribution running on this connected cluster.
Distribution *string `json:"distribution,omitempty"`
// The infrastructure on which the Kubernetes cluster represented by this connected cluster is running on.
Infrastructure *string `json:"infrastructure,omitempty"`
// Provisioning state of the connected cluster resource.
ProvisioningState *ProvisioningState `json:"provisioningState,omitempty"`
// READ-ONLY; Version of the agent running on the connected cluster resource
AgentVersion *string `json:"agentVersion,omitempty" azure:"ro"`
// READ-ONLY; Represents the connectivity status of the connected cluster.
ConnectivityStatus *ConnectivityStatus `json:"connectivityStatus,omitempty" azure:"ro"`
// READ-ONLY; The Kubernetes version of the connected cluster resource
KubernetesVersion *string `json:"kubernetesVersion,omitempty" azure:"ro"`
// READ-ONLY; Time representing the last instance when heart beat was received from the cluster
LastConnectivityTime *time.Time `json:"lastConnectivityTime,omitempty" azure:"ro"`
// READ-ONLY; Expiration time of the managed identity certificate
ManagedIdentityCertificateExpirationTime *time.Time `json:"managedIdentityCertificateExpirationTime,omitempty" azure:"ro"`
// READ-ONLY; Connected cluster offering
Offering *string `json:"offering,omitempty" azure:"ro"`
// READ-ONLY; Number of CPU cores present in the connected cluster resource
TotalCoreCount *int32 `json:"totalCoreCount,omitempty" azure:"ro"`
// READ-ONLY; Number of nodes present in the connected cluster resource
TotalNodeCount *int32 `json:"totalNodeCount,omitempty" azure:"ro"`
}
// MarshalJSON implements the json.Marshaller interface for type ConnectedClusterProperties.
func (c ConnectedClusterProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]interface{})
populate(objectMap, "agentPublicKeyCertificate", c.AgentPublicKeyCertificate)
populate(objectMap, "agentVersion", c.AgentVersion)
populate(objectMap, "connectivityStatus", c.ConnectivityStatus)
populate(objectMap, "distribution", c.Distribution)
populate(objectMap, "infrastructure", c.Infrastructure)
populate(objectMap, "kubernetesVersion", c.KubernetesVersion)
populateTimeRFC3339(objectMap, "lastConnectivityTime", c.LastConnectivityTime)
populateTimeRFC3339(objectMap, "managedIdentityCertificateExpirationTime", c.ManagedIdentityCertificateExpirationTime)
populate(objectMap, "offering", c.Offering)
populate(objectMap, "provisioningState", c.ProvisioningState)
populate(objectMap, "totalCoreCount", c.TotalCoreCount)
populate(objectMap, "totalNodeCount", c.TotalNodeCount)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ConnectedClusterProperties.
func (c *ConnectedClusterProperties) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return err
}
for key, val := range rawMsg {
var err error
switch key {
case "agentPublicKeyCertificate":
err = unpopulate(val, &c.AgentPublicKeyCertificate)
delete(rawMsg, key)
case "agentVersion":
err = unpopulate(val, &c.AgentVersion)
delete(rawMsg, key)
case "connectivityStatus":
err = unpopulate(val, &c.ConnectivityStatus)
delete(rawMsg, key)
case "distribution":
err = unpopulate(val, &c.Distribution)
delete(rawMsg, key)
case "infrastructure":
err = unpopulate(val, &c.Infrastructure)
delete(rawMsg, key)
case "kubernetesVersion":
err = unpopulate(val, &c.KubernetesVersion)
delete(rawMsg, key)
case "lastConnectivityTime":
err = unpopulateTimeRFC3339(val, &c.LastConnectivityTime)
delete(rawMsg, key)
case "managedIdentityCertificateExpirationTime":
err = unpopulateTimeRFC3339(val, &c.ManagedIdentityCertificateExpirationTime)
delete(rawMsg, key)
case "offering":
err = unpopulate(val, &c.Offering)
delete(rawMsg, key)
case "provisioningState":
err = unpopulate(val, &c.ProvisioningState)
delete(rawMsg, key)
case "totalCoreCount":
err = unpopulate(val, &c.TotalCoreCount)
delete(rawMsg, key)
case "totalNodeCount":
err = unpopulate(val, &c.TotalNodeCount)
delete(rawMsg, key)
}
if err != nil {
return err
}
}
return nil
}
// ConnectedClusterUpdateOptions contains the optional parameters for the ConnectedCluster.Update method.
type ConnectedClusterUpdateOptions struct {
// placeholder for future optional parameters
}
// CredentialResult - The credential result response.
type CredentialResult struct {
// READ-ONLY; The name of the credential.
Name *string `json:"name,omitempty" azure:"ro"`
// READ-ONLY; Base64-encoded Kubernetes configuration file.
Value []byte `json:"value,omitempty" azure:"ro"`
}
// MarshalJSON implements the json.Marshaller interface for type CredentialResult.
func (c CredentialResult) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]interface{})
populate(objectMap, "name", c.Name)
populateByteArray(objectMap, "value", c.Value, runtime.Base64StdFormat)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type CredentialResult.
func (c *CredentialResult) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return err
}
for key, val := range rawMsg {
var err error
switch key {
case "name":
err = unpopulate(val, &c.Name)
delete(rawMsg, key)
case "value":
err = runtime.DecodeByteArray(string(val), &c.Value, runtime.Base64StdFormat)
delete(rawMsg, key)
}
if err != nil {
return err
}
}
return nil
}
// CredentialResults - The list of credential result response.
type CredentialResults struct {
// READ-ONLY; Contains the REP (rendezvous endpoint) and “Sender” access token.
HybridConnectionConfig *HybridConnectionConfig `json:"hybridConnectionConfig,omitempty" azure:"ro"`
// READ-ONLY; Base64-encoded Kubernetes configuration file.
Kubeconfigs []*CredentialResult `json:"kubeconfigs,omitempty" azure:"ro"`
}
// MarshalJSON implements the json.Marshaller interface for type CredentialResults.
func (c CredentialResults) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]interface{})
populate(objectMap, "hybridConnectionConfig", c.HybridConnectionConfig)
populate(objectMap, "kubeconfigs", c.Kubeconfigs)
return json.Marshal(objectMap)
}
// ErrorAdditionalInfo - The resource management error additional info.
type ErrorAdditionalInfo struct {
// READ-ONLY; The additional info.
Info map[string]interface{} `json:"info,omitempty" azure:"ro"`
// READ-ONLY; The additional info type.
Type *string `json:"type,omitempty" azure:"ro"`
}
// ErrorDetail - The error detail.
type ErrorDetail struct {
// READ-ONLY; The error additional info.
AdditionalInfo []*ErrorAdditionalInfo `json:"additionalInfo,omitempty" azure:"ro"`
// READ-ONLY; The error code.
Code *string `json:"code,omitempty" azure:"ro"`
// READ-ONLY; The error details.
Details []*ErrorDetail `json:"details,omitempty" azure:"ro"`
// READ-ONLY; The error message.
Message *string `json:"message,omitempty" azure:"ro"`
// READ-ONLY; The error target.
Target *string `json:"target,omitempty" azure:"ro"`
}
// MarshalJSON implements the json.Marshaller interface for type ErrorDetail.
func (e ErrorDetail) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]interface{})
populate(objectMap, "additionalInfo", e.AdditionalInfo)
populate(objectMap, "code", e.Code)
populate(objectMap, "details", e.Details)
populate(objectMap, "message", e.Message)
populate(objectMap, "target", e.Target)
return json.Marshal(objectMap)
}
// ErrorResponse - Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData
// error response format.).
// Implements the error and azcore.HTTPResponse interfaces.
type ErrorResponse struct {
raw string
// The error object.
InnerError *ErrorDetail `json:"error,omitempty"`
}
// Error implements the error interface for type ErrorResponse.
// The contents of the error text are not contractual and subject to change.
func (e ErrorResponse) Error() string {
return e.raw
}
// HybridConnectionConfig - Contains the REP (rendezvous endpoint) and “Sender” access token.
type HybridConnectionConfig struct {
// READ-ONLY; Timestamp when this token will be expired.
ExpirationTime *int64 `json:"expirationTime,omitempty" azure:"ro"`
// READ-ONLY; Name of the connection
HybridConnectionName *string `json:"hybridConnectionName,omitempty" azure:"ro"`
// READ-ONLY; Name of the relay.
Relay *string `json:"relay,omitempty" azure:"ro"`
// READ-ONLY; Sender access token
Token *string `json:"token,omitempty" azure:"ro"`
}
type ListClusterUserCredentialProperties struct {
// REQUIRED; The mode of client authentication.
AuthenticationMethod *AuthenticationMethod `json:"authenticationMethod,omitempty"`
// REQUIRED; Boolean value to indicate whether the request is for client side proxy or not
ClientProxy *bool `json:"clientProxy,omitempty"`
}
// Operation - The Connected cluster API operation
type Operation struct {
// READ-ONLY; The object that represents the operation.
Display *OperationDisplay `json:"display,omitempty" azure:"ro"`
// READ-ONLY; Operation name: {Microsoft.Kubernetes}/{resource}/{operation}
Name *string `json:"name,omitempty" azure:"ro"`
}
// OperationDisplay - The object that represents the operation.
type OperationDisplay struct {
// Description of the operation.
Description *string `json:"description,omitempty"`
// Operation type: Read, write, delete, etc.
Operation *string `json:"operation,omitempty"`
// Service provider: Microsoft.connectedClusters
Provider *string `json:"provider,omitempty"`
// Connected Cluster Resource on which the operation is performed
Resource *string `json:"resource,omitempty"`
}
// OperationList - The paginated list of connected cluster API operations.
type OperationList struct {
// The link to fetch the next page of connected cluster API operations.
NextLink *string `json:"nextLink,omitempty"`
// READ-ONLY; The list of connected cluster API operations.
Value []*Operation `json:"value,omitempty" azure:"ro"`
}
// MarshalJSON implements the json.Marshaller interface for type OperationList.
func (o OperationList) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]interface{})
populate(objectMap, "nextLink", o.NextLink)
populate(objectMap, "value", o.Value)
return json.Marshal(objectMap)
}
// OperationsGetOptions contains the optional parameters for the Operations.Get method.
type OperationsGetOptions struct {
// placeholder for future optional parameters
}
// Resource - Common fields that are returned in the response for all Azure Resource Manager resources
type Resource struct {
// READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
ID *string `json:"id,omitempty" azure:"ro"`
// READ-ONLY; The name of the resource
Name *string `json:"name,omitempty" azure:"ro"`
// READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
Type *string `json:"type,omitempty" azure:"ro"`
}
// MarshalJSON implements the json.Marshaller interface for type Resource.
func (r Resource) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]interface{})
r.marshalInternal(objectMap)
return json.Marshal(objectMap)
}
func (r Resource) marshalInternal(objectMap map[string]interface{}) {
populate(objectMap, "id", r.ID)
populate(objectMap, "name", r.Name)
populate(objectMap, "type", r.Type)
}
// SystemData - Metadata pertaining to creation and last modification of the resource.
type SystemData struct {
// The timestamp of resource creation (UTC).
CreatedAt *time.Time `json:"createdAt,omitempty"`
// The identity that created the resource.
CreatedBy *string `json:"createdBy,omitempty"`
// The type of identity that created the resource.
CreatedByType *CreatedByType `json:"createdByType,omitempty"`
// The timestamp of resource modification (UTC).
LastModifiedAt *time.Time `json:"lastModifiedAt,omitempty"`
// The identity that last modified the resource.
LastModifiedBy *string `json:"lastModifiedBy,omitempty"`
// The type of identity that last modified the resource.
LastModifiedByType *LastModifiedByType `json:"lastModifiedByType,omitempty"`
}
// MarshalJSON implements the json.Marshaller interface for type SystemData.
func (s SystemData) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]interface{})
populateTimeRFC3339(objectMap, "createdAt", s.CreatedAt)
populate(objectMap, "createdBy", s.CreatedBy)
populate(objectMap, "createdByType", s.CreatedByType)
populateTimeRFC3339(objectMap, "lastModifiedAt", s.LastModifiedAt)
populate(objectMap, "lastModifiedBy", s.LastModifiedBy)
populate(objectMap, "lastModifiedByType", s.LastModifiedByType)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type SystemData.
func (s *SystemData) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return err
}
for key, val := range rawMsg {
var err error
switch key {
case "createdAt":
err = unpopulateTimeRFC3339(val, &s.CreatedAt)
delete(rawMsg, key)
case "createdBy":
err = unpopulate(val, &s.CreatedBy)
delete(rawMsg, key)
case "createdByType":
err = unpopulate(val, &s.CreatedByType)
delete(rawMsg, key)
case "lastModifiedAt":
err = unpopulateTimeRFC3339(val, &s.LastModifiedAt)
delete(rawMsg, key)
case "lastModifiedBy":
err = unpopulate(val, &s.LastModifiedBy)
delete(rawMsg, key)
case "lastModifiedByType":
err = unpopulate(val, &s.LastModifiedByType)
delete(rawMsg, key)
}
if err != nil {
return err
}
}
return nil
}
// TrackedResource - The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location'
type TrackedResource struct {
Resource
// REQUIRED; The geo-location where the resource lives
Location *string `json:"location,omitempty"`
// Resource tags.
Tags map[string]*string `json:"tags,omitempty"`
}
// MarshalJSON implements the json.Marshaller interface for type TrackedResource.
func (t TrackedResource) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]interface{})
t.marshalInternal(objectMap)
return json.Marshal(objectMap)
}
func (t TrackedResource) marshalInternal(objectMap map[string]interface{}) {
t.Resource.marshalInternal(objectMap)
populate(objectMap, "location", t.Location)
populate(objectMap, "tags", t.Tags)
}
func populate(m map[string]interface{}, k string, v interface{}) {
if v == nil {
return
} else if azcore.IsNullValue(v) {
m[k] = nil
} else if !reflect.ValueOf(v).IsNil() {
m[k] = v
}
}
func populateByteArray(m map[string]interface{}, k string, b []byte, f runtime.Base64Encoding) {
if azcore.IsNullValue(b) {
m[k] = nil
} else if len(b) == 0 {
return
} else {
m[k] = runtime.EncodeByteArray(b, f)
}
}
func unpopulate(data json.RawMessage, v interface{}) error {
if data == nil {
return nil
}
return json.Unmarshal(data, v)
}

Просмотреть файл

@ -0,0 +1,89 @@
//go:build go1.16
// +build go1.16
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// Code generated by Microsoft (R) AutoRest Code Generator.
// Changes may cause incorrect behavior and will be lost if the code is regenerated.
package armhybridkubernetes
import (
"context"
"fmt"
"github.com/Azure/azure-sdk-for-go/sdk/azcore"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/arm"
armruntime "github.com/Azure/azure-sdk-for-go/sdk/azcore/arm/runtime"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/policy"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime"
"net/http"
)
// OperationsClient contains the methods for the Operations group.
// Don't use this type directly, use NewOperationsClient() instead.
type OperationsClient struct {
ep string
pl runtime.Pipeline
}
// NewOperationsClient creates a new instance of OperationsClient with the specified values.
func NewOperationsClient(credential azcore.TokenCredential, options *arm.ClientOptions) *OperationsClient {
cp := arm.ClientOptions{}
if options != nil {
cp = *options
}
if len(cp.Host) == 0 {
cp.Host = arm.AzurePublicCloud
}
return &OperationsClient{ep: string(cp.Host), pl: armruntime.NewPipeline(module, version, credential, &cp)}
}
// Get - Lists all of the available API operations for Connected Cluster resource.
// If the operation fails it returns the *ErrorResponse error type.
func (client *OperationsClient) Get(options *OperationsGetOptions) *OperationsGetPager {
return &OperationsGetPager{
client: client,
requester: func(ctx context.Context) (*policy.Request, error) {
return client.getCreateRequest(ctx, options)
},
advancer: func(ctx context.Context, resp OperationsGetResponse) (*policy.Request, error) {
return runtime.NewRequest(ctx, http.MethodGet, *resp.OperationList.NextLink)
},
}
}
// getCreateRequest creates the Get request.
func (client *OperationsClient) getCreateRequest(ctx context.Context, options *OperationsGetOptions) (*policy.Request, error) {
urlPath := "/providers/Microsoft.Kubernetes/operations"
req, err := runtime.NewRequest(ctx, http.MethodGet, runtime.JoinPaths(client.ep, urlPath))
if err != nil {
return nil, err
}
reqQP := req.Raw().URL.Query()
reqQP.Set("api-version", "2021-10-01")
req.Raw().URL.RawQuery = reqQP.Encode()
req.Raw().Header.Set("Accept", "application/json")
return req, nil
}
// getHandleResponse handles the Get response.
func (client *OperationsClient) getHandleResponse(resp *http.Response) (OperationsGetResponse, error) {
result := OperationsGetResponse{RawResponse: resp}
if err := runtime.UnmarshalAsJSON(resp, &result.OperationList); err != nil {
return OperationsGetResponse{}, runtime.NewResponseError(err, resp)
}
return result, nil
}
// getHandleError handles the Get error response.
func (client *OperationsClient) getHandleError(resp *http.Response) error {
body, err := runtime.Payload(resp)
if err != nil {
return runtime.NewResponseError(err, resp)
}
errType := ErrorResponse{raw: string(body)}
if err := runtime.UnmarshalAsJSON(resp, &errType); err != nil {
return runtime.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp)
}
return runtime.NewResponseError(&errType, resp)
}

Просмотреть файл

@ -0,0 +1,179 @@
//go:build go1.16
// +build go1.16
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// Code generated by Microsoft (R) AutoRest Code Generator.
// Changes may cause incorrect behavior and will be lost if the code is regenerated.
package armhybridkubernetes
import (
"context"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/policy"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime"
"net/http"
"reflect"
)
// ConnectedClusterListByResourceGroupPager provides operations for iterating over paged responses.
type ConnectedClusterListByResourceGroupPager struct {
client *ConnectedClusterClient
current ConnectedClusterListByResourceGroupResponse
err error
requester func(context.Context) (*policy.Request, error)
advancer func(context.Context, ConnectedClusterListByResourceGroupResponse) (*policy.Request, error)
}
// Err returns the last error encountered while paging.
func (p *ConnectedClusterListByResourceGroupPager) Err() error {
return p.err
}
// NextPage returns true if the pager advanced to the next page.
// Returns false if there are no more pages or an error occurred.
func (p *ConnectedClusterListByResourceGroupPager) NextPage(ctx context.Context) bool {
var req *policy.Request
var err error
if !reflect.ValueOf(p.current).IsZero() {
if p.current.ConnectedClusterList.NextLink == nil || len(*p.current.ConnectedClusterList.NextLink) == 0 {
return false
}
req, err = p.advancer(ctx, p.current)
} else {
req, err = p.requester(ctx)
}
if err != nil {
p.err = err
return false
}
resp, err := p.client.pl.Do(req)
if err != nil {
p.err = err
return false
}
if !runtime.HasStatusCode(resp, http.StatusOK) {
p.err = p.client.listByResourceGroupHandleError(resp)
return false
}
result, err := p.client.listByResourceGroupHandleResponse(resp)
if err != nil {
p.err = err
return false
}
p.current = result
return true
}
// PageResponse returns the current ConnectedClusterListByResourceGroupResponse page.
func (p *ConnectedClusterListByResourceGroupPager) PageResponse() ConnectedClusterListByResourceGroupResponse {
return p.current
}
// ConnectedClusterListBySubscriptionPager provides operations for iterating over paged responses.
type ConnectedClusterListBySubscriptionPager struct {
client *ConnectedClusterClient
current ConnectedClusterListBySubscriptionResponse
err error
requester func(context.Context) (*policy.Request, error)
advancer func(context.Context, ConnectedClusterListBySubscriptionResponse) (*policy.Request, error)
}
// Err returns the last error encountered while paging.
func (p *ConnectedClusterListBySubscriptionPager) Err() error {
return p.err
}
// NextPage returns true if the pager advanced to the next page.
// Returns false if there are no more pages or an error occurred.
func (p *ConnectedClusterListBySubscriptionPager) NextPage(ctx context.Context) bool {
var req *policy.Request
var err error
if !reflect.ValueOf(p.current).IsZero() {
if p.current.ConnectedClusterList.NextLink == nil || len(*p.current.ConnectedClusterList.NextLink) == 0 {
return false
}
req, err = p.advancer(ctx, p.current)
} else {
req, err = p.requester(ctx)
}
if err != nil {
p.err = err
return false
}
resp, err := p.client.pl.Do(req)
if err != nil {
p.err = err
return false
}
if !runtime.HasStatusCode(resp, http.StatusOK) {
p.err = p.client.listBySubscriptionHandleError(resp)
return false
}
result, err := p.client.listBySubscriptionHandleResponse(resp)
if err != nil {
p.err = err
return false
}
p.current = result
return true
}
// PageResponse returns the current ConnectedClusterListBySubscriptionResponse page.
func (p *ConnectedClusterListBySubscriptionPager) PageResponse() ConnectedClusterListBySubscriptionResponse {
return p.current
}
// OperationsGetPager provides operations for iterating over paged responses.
type OperationsGetPager struct {
client *OperationsClient
current OperationsGetResponse
err error
requester func(context.Context) (*policy.Request, error)
advancer func(context.Context, OperationsGetResponse) (*policy.Request, error)
}
// Err returns the last error encountered while paging.
func (p *OperationsGetPager) Err() error {
return p.err
}
// NextPage returns true if the pager advanced to the next page.
// Returns false if there are no more pages or an error occurred.
func (p *OperationsGetPager) NextPage(ctx context.Context) bool {
var req *policy.Request
var err error
if !reflect.ValueOf(p.current).IsZero() {
if p.current.OperationList.NextLink == nil || len(*p.current.OperationList.NextLink) == 0 {
return false
}
req, err = p.advancer(ctx, p.current)
} else {
req, err = p.requester(ctx)
}
if err != nil {
p.err = err
return false
}
resp, err := p.client.pl.Do(req)
if err != nil {
p.err = err
return false
}
if !runtime.HasStatusCode(resp, http.StatusOK) {
p.err = p.client.getHandleError(resp)
return false
}
result, err := p.client.getHandleResponse(resp)
if err != nil {
p.err = err
return false
}
p.current = result
return true
}
// PageResponse returns the current OperationsGetResponse page.
func (p *OperationsGetPager) PageResponse() OperationsGetResponse {
return p.current
}

Просмотреть файл

@ -0,0 +1,101 @@
//go:build go1.16
// +build go1.16
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// Code generated by Microsoft (R) AutoRest Code Generator.
// Changes may cause incorrect behavior and will be lost if the code is regenerated.
package armhybridkubernetes
import (
"context"
"github.com/Azure/azure-sdk-for-go/sdk/azcore"
"net/http"
)
// ConnectedClusterCreatePoller provides polling facilities until the operation reaches a terminal state.
type ConnectedClusterCreatePoller struct {
pt *azcore.Poller
}
// Done returns true if the LRO has reached a terminal state.
func (p *ConnectedClusterCreatePoller) Done() bool {
return p.pt.Done()
}
// Poll fetches the latest state of the LRO. It returns an HTTP response or error.
// If the LRO has completed successfully, the poller's state is updated and the HTTP
// response is returned.
// If the LRO has completed with failure or was cancelled, the poller's state is
// updated and the error is returned.
// If the LRO has not reached a terminal state, the poller's state is updated and
// the latest HTTP response is returned.
// If Poll fails, the poller's state is unmodified and the error is returned.
// Calling Poll on an LRO that has reached a terminal state will return the final
// HTTP response or error.
func (p *ConnectedClusterCreatePoller) Poll(ctx context.Context) (*http.Response, error) {
return p.pt.Poll(ctx)
}
// FinalResponse performs a final GET to the service and returns the final response
// for the polling operation. If there is an error performing the final GET then an error is returned.
// If the final GET succeeded then the final ConnectedClusterCreateResponse will be returned.
func (p *ConnectedClusterCreatePoller) FinalResponse(ctx context.Context) (ConnectedClusterCreateResponse, error) {
respType := ConnectedClusterCreateResponse{}
resp, err := p.pt.FinalResponse(ctx, &respType.ConnectedCluster)
if err != nil {
return ConnectedClusterCreateResponse{}, err
}
respType.RawResponse = resp
return respType, nil
}
// ResumeToken returns a value representing the poller that can be used to resume
// the LRO at a later time. ResumeTokens are unique per service operation.
func (p *ConnectedClusterCreatePoller) ResumeToken() (string, error) {
return p.pt.ResumeToken()
}
// ConnectedClusterDeletePoller provides polling facilities until the operation reaches a terminal state.
type ConnectedClusterDeletePoller struct {
pt *azcore.Poller
}
// Done returns true if the LRO has reached a terminal state.
func (p *ConnectedClusterDeletePoller) Done() bool {
return p.pt.Done()
}
// Poll fetches the latest state of the LRO. It returns an HTTP response or error.
// If the LRO has completed successfully, the poller's state is updated and the HTTP
// response is returned.
// If the LRO has completed with failure or was cancelled, the poller's state is
// updated and the error is returned.
// If the LRO has not reached a terminal state, the poller's state is updated and
// the latest HTTP response is returned.
// If Poll fails, the poller's state is unmodified and the error is returned.
// Calling Poll on an LRO that has reached a terminal state will return the final
// HTTP response or error.
func (p *ConnectedClusterDeletePoller) Poll(ctx context.Context) (*http.Response, error) {
return p.pt.Poll(ctx)
}
// FinalResponse performs a final GET to the service and returns the final response
// for the polling operation. If there is an error performing the final GET then an error is returned.
// If the final GET succeeded then the final ConnectedClusterDeleteResponse will be returned.
func (p *ConnectedClusterDeletePoller) FinalResponse(ctx context.Context) (ConnectedClusterDeleteResponse, error) {
respType := ConnectedClusterDeleteResponse{}
resp, err := p.pt.FinalResponse(ctx, nil)
if err != nil {
return ConnectedClusterDeleteResponse{}, err
}
respType.RawResponse = resp
return respType, nil
}
// ResumeToken returns a value representing the poller that can be used to resume
// the LRO at a later time. ResumeTokens are unique per service operation.
func (p *ConnectedClusterDeletePoller) ResumeToken() (string, error) {
return p.pt.ResumeToken()
}

Просмотреть файл

@ -0,0 +1,186 @@
//go:build go1.16
// +build go1.16
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// Code generated by Microsoft (R) AutoRest Code Generator.
// Changes may cause incorrect behavior and will be lost if the code is regenerated.
package armhybridkubernetes
import (
"context"
armruntime "github.com/Azure/azure-sdk-for-go/sdk/azcore/arm/runtime"
"net/http"
"time"
)
// ConnectedClusterCreatePollerResponse contains the response from method ConnectedCluster.Create.
type ConnectedClusterCreatePollerResponse struct {
// Poller contains an initialized poller.
Poller *ConnectedClusterCreatePoller
// RawResponse contains the underlying HTTP response.
RawResponse *http.Response
}
// PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received.
// freq: the time to wait between intervals in absence of a Retry-After header. Allowed minimum is one second.
// A good starting value is 30 seconds. Note that some resources might benefit from a different value.
func (l ConnectedClusterCreatePollerResponse) PollUntilDone(ctx context.Context, freq time.Duration) (ConnectedClusterCreateResponse, error) {
respType := ConnectedClusterCreateResponse{}
resp, err := l.Poller.pt.PollUntilDone(ctx, freq, &respType.ConnectedCluster)
if err != nil {
return respType, err
}
respType.RawResponse = resp
return respType, nil
}
// Resume rehydrates a ConnectedClusterCreatePollerResponse from the provided client and resume token.
func (l *ConnectedClusterCreatePollerResponse) Resume(ctx context.Context, client *ConnectedClusterClient, token string) error {
pt, err := armruntime.NewPollerFromResumeToken("ConnectedClusterClient.Create", token, client.pl, client.createHandleError)
if err != nil {
return err
}
poller := &ConnectedClusterCreatePoller{
pt: pt,
}
resp, err := poller.Poll(ctx)
if err != nil {
return err
}
l.Poller = poller
l.RawResponse = resp
return nil
}
// ConnectedClusterCreateResponse contains the response from method ConnectedCluster.Create.
type ConnectedClusterCreateResponse struct {
ConnectedClusterCreateResult
// RawResponse contains the underlying HTTP response.
RawResponse *http.Response
}
// ConnectedClusterCreateResult contains the result from method ConnectedCluster.Create.
type ConnectedClusterCreateResult struct {
ConnectedCluster
}
// ConnectedClusterDeletePollerResponse contains the response from method ConnectedCluster.Delete.
type ConnectedClusterDeletePollerResponse struct {
// Poller contains an initialized poller.
Poller *ConnectedClusterDeletePoller
// RawResponse contains the underlying HTTP response.
RawResponse *http.Response
}
// PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received.
// freq: the time to wait between intervals in absence of a Retry-After header. Allowed minimum is one second.
// A good starting value is 30 seconds. Note that some resources might benefit from a different value.
func (l ConnectedClusterDeletePollerResponse) PollUntilDone(ctx context.Context, freq time.Duration) (ConnectedClusterDeleteResponse, error) {
respType := ConnectedClusterDeleteResponse{}
resp, err := l.Poller.pt.PollUntilDone(ctx, freq, nil)
if err != nil {
return respType, err
}
respType.RawResponse = resp
return respType, nil
}
// Resume rehydrates a ConnectedClusterDeletePollerResponse from the provided client and resume token.
func (l *ConnectedClusterDeletePollerResponse) Resume(ctx context.Context, client *ConnectedClusterClient, token string) error {
pt, err := armruntime.NewPollerFromResumeToken("ConnectedClusterClient.Delete", token, client.pl, client.deleteHandleError)
if err != nil {
return err
}
poller := &ConnectedClusterDeletePoller{
pt: pt,
}
resp, err := poller.Poll(ctx)
if err != nil {
return err
}
l.Poller = poller
l.RawResponse = resp
return nil
}
// ConnectedClusterDeleteResponse contains the response from method ConnectedCluster.Delete.
type ConnectedClusterDeleteResponse struct {
// RawResponse contains the underlying HTTP response.
RawResponse *http.Response
}
// ConnectedClusterGetResponse contains the response from method ConnectedCluster.Get.
type ConnectedClusterGetResponse struct {
ConnectedClusterGetResult
// RawResponse contains the underlying HTTP response.
RawResponse *http.Response
}
// ConnectedClusterGetResult contains the result from method ConnectedCluster.Get.
type ConnectedClusterGetResult struct {
ConnectedCluster
}
// ConnectedClusterListByResourceGroupResponse contains the response from method ConnectedCluster.ListByResourceGroup.
type ConnectedClusterListByResourceGroupResponse struct {
ConnectedClusterListByResourceGroupResult
// RawResponse contains the underlying HTTP response.
RawResponse *http.Response
}
// ConnectedClusterListByResourceGroupResult contains the result from method ConnectedCluster.ListByResourceGroup.
type ConnectedClusterListByResourceGroupResult struct {
ConnectedClusterList
}
// ConnectedClusterListBySubscriptionResponse contains the response from method ConnectedCluster.ListBySubscription.
type ConnectedClusterListBySubscriptionResponse struct {
ConnectedClusterListBySubscriptionResult
// RawResponse contains the underlying HTTP response.
RawResponse *http.Response
}
// ConnectedClusterListBySubscriptionResult contains the result from method ConnectedCluster.ListBySubscription.
type ConnectedClusterListBySubscriptionResult struct {
ConnectedClusterList
}
// ConnectedClusterListClusterUserCredentialResponse contains the response from method ConnectedCluster.ListClusterUserCredential.
type ConnectedClusterListClusterUserCredentialResponse struct {
ConnectedClusterListClusterUserCredentialResult
// RawResponse contains the underlying HTTP response.
RawResponse *http.Response
}
// ConnectedClusterListClusterUserCredentialResult contains the result from method ConnectedCluster.ListClusterUserCredential.
type ConnectedClusterListClusterUserCredentialResult struct {
CredentialResults
}
// ConnectedClusterUpdateResponse contains the response from method ConnectedCluster.Update.
type ConnectedClusterUpdateResponse struct {
ConnectedClusterUpdateResult
// RawResponse contains the underlying HTTP response.
RawResponse *http.Response
}
// ConnectedClusterUpdateResult contains the result from method ConnectedCluster.Update.
type ConnectedClusterUpdateResult struct {
ConnectedCluster
}
// OperationsGetResponse contains the response from method Operations.Get.
type OperationsGetResponse struct {
OperationsGetResult
// RawResponse contains the underlying HTTP response.
RawResponse *http.Response
}
// OperationsGetResult contains the result from method Operations.Get.
type OperationsGetResult struct {
OperationList
}

Просмотреть файл

@ -0,0 +1,85 @@
//go:build go1.16
// +build go1.16
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// Code generated by Microsoft (R) AutoRest Code Generator.
// Changes may cause incorrect behavior and will be lost if the code is regenerated.
package armhybridkubernetes
import (
"encoding/json"
"github.com/Azure/azure-sdk-for-go/sdk/azcore"
"reflect"
"regexp"
"strings"
"time"
)
const (
utcLayoutJSON = `"2006-01-02T15:04:05.999999999"`
utcLayout = "2006-01-02T15:04:05.999999999"
rfc3339JSON = `"` + time.RFC3339Nano + `"`
)
// Azure reports time in UTC but it doesn't include the 'Z' time zone suffix in some cases.
var tzOffsetRegex = regexp.MustCompile(`(Z|z|\+|-)(\d+:\d+)*"*$`)
type timeRFC3339 time.Time
func (t timeRFC3339) MarshalJSON() (json []byte, err error) {
tt := time.Time(t)
return tt.MarshalJSON()
}
func (t timeRFC3339) MarshalText() (text []byte, err error) {
tt := time.Time(t)
return tt.MarshalText()
}
func (t *timeRFC3339) UnmarshalJSON(data []byte) error {
layout := utcLayoutJSON
if tzOffsetRegex.Match(data) {
layout = rfc3339JSON
}
return t.Parse(layout, string(data))
}
func (t *timeRFC3339) UnmarshalText(data []byte) (err error) {
layout := utcLayout
if tzOffsetRegex.Match(data) {
layout = time.RFC3339Nano
}
return t.Parse(layout, string(data))
}
func (t *timeRFC3339) Parse(layout, value string) error {
p, err := time.Parse(layout, strings.ToUpper(value))
*t = timeRFC3339(p)
return err
}
func populateTimeRFC3339(m map[string]interface{}, k string, t *time.Time) {
if t == nil {
return
} else if azcore.IsNullValue(t) {
m[k] = nil
return
} else if reflect.ValueOf(t).IsNil() {
return
}
m[k] = (*timeRFC3339)(t)
}
func unpopulateTimeRFC3339(data json.RawMessage, t **time.Time) error {
if data == nil || strings.EqualFold(string(data), "null") {
return nil
}
var aux timeRFC3339
if err := json.Unmarshal(data, &aux); err != nil {
return err
}
*t = (*time.Time)(&aux)
return nil
}