vendor: update all dependencies to latest versions
This commit is contained in:
Generated
Vendored
+61
@@ -0,0 +1,61 @@
|
||||
// Package documentdb implements the Azure ARM Documentdb service API version 2015-04-08.
|
||||
//
|
||||
// Azure Cosmos DB Database Service Resource Provider REST API
|
||||
package documentdb
|
||||
|
||||
// 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 Documentdb
|
||||
DefaultBaseURI = "https://management.azure.com"
|
||||
)
|
||||
|
||||
// BaseClient is the base client for Documentdb.
|
||||
type BaseClient struct {
|
||||
autorest.Client
|
||||
BaseURI string
|
||||
SubscriptionID string
|
||||
Filter string
|
||||
Filter1 string
|
||||
DatabaseRid string
|
||||
CollectionRid string
|
||||
Region string
|
||||
}
|
||||
|
||||
// New creates an instance of the BaseClient client.
|
||||
func New(subscriptionID string, filter string, filter1 string, databaseRid string, collectionRid string, region string) BaseClient {
|
||||
return NewWithBaseURI(DefaultBaseURI, subscriptionID, filter, filter1, databaseRid, collectionRid, region)
|
||||
}
|
||||
|
||||
// NewWithBaseURI creates an instance of the BaseClient client.
|
||||
func NewWithBaseURI(baseURI string, subscriptionID string, filter string, filter1 string, databaseRid string, collectionRid string, region string) BaseClient {
|
||||
return BaseClient{
|
||||
Client: autorest.NewClientWithUserAgent(UserAgent()),
|
||||
BaseURI: baseURI,
|
||||
SubscriptionID: subscriptionID,
|
||||
Filter: filter,
|
||||
Filter1: filter1,
|
||||
DatabaseRid: databaseRid,
|
||||
CollectionRid: collectionRid,
|
||||
Region: region,
|
||||
}
|
||||
}
|
||||
vendor/github.com/Azure/azure-sdk-for-go/services/cosmos-db/mgmt/2015-04-08/documentdb/collection.go
Generated
Vendored
+282
@@ -0,0 +1,282 @@
|
||||
package documentdb
|
||||
|
||||
// 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/go-autorest/autorest/azure"
|
||||
"github.com/Azure/go-autorest/autorest/validation"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
// CollectionClient is the azure Cosmos DB Database Service Resource Provider REST API
|
||||
type CollectionClient struct {
|
||||
BaseClient
|
||||
}
|
||||
|
||||
// NewCollectionClient creates an instance of the CollectionClient client.
|
||||
func NewCollectionClient(subscriptionID string, filter string, filter1 string, databaseRid string, collectionRid string, region string) CollectionClient {
|
||||
return NewCollectionClientWithBaseURI(DefaultBaseURI, subscriptionID, filter, filter1, databaseRid, collectionRid, region)
|
||||
}
|
||||
|
||||
// NewCollectionClientWithBaseURI creates an instance of the CollectionClient client.
|
||||
func NewCollectionClientWithBaseURI(baseURI string, subscriptionID string, filter string, filter1 string, databaseRid string, collectionRid string, region string) CollectionClient {
|
||||
return CollectionClient{NewWithBaseURI(baseURI, subscriptionID, filter, filter1, databaseRid, collectionRid, region)}
|
||||
}
|
||||
|
||||
// ListMetricDefinitions retrieves metric defintions for the given collection.
|
||||
//
|
||||
// resourceGroupName is name of an Azure resource group. accountName is cosmos DB database account name.
|
||||
func (client CollectionClient) ListMetricDefinitions(ctx context.Context, resourceGroupName string, accountName string) (result MetricDefinitionsListResult, err error) {
|
||||
if err := validation.Validate([]validation.Validation{
|
||||
{TargetValue: resourceGroupName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
|
||||
{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
|
||||
{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}},
|
||||
{TargetValue: accountName,
|
||||
Constraints: []validation.Constraint{{Target: "accountName", Name: validation.MaxLength, Rule: 50, Chain: nil},
|
||||
{Target: "accountName", Name: validation.MinLength, Rule: 3, Chain: nil}}}}); err != nil {
|
||||
return result, validation.NewErrorWithValidationError(err, "documentdb.CollectionClient", "ListMetricDefinitions")
|
||||
}
|
||||
|
||||
req, err := client.ListMetricDefinitionsPreparer(ctx, resourceGroupName, accountName)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "documentdb.CollectionClient", "ListMetricDefinitions", nil, "Failure preparing request")
|
||||
return
|
||||
}
|
||||
|
||||
resp, err := client.ListMetricDefinitionsSender(req)
|
||||
if err != nil {
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
err = autorest.NewErrorWithError(err, "documentdb.CollectionClient", "ListMetricDefinitions", resp, "Failure sending request")
|
||||
return
|
||||
}
|
||||
|
||||
result, err = client.ListMetricDefinitionsResponder(resp)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "documentdb.CollectionClient", "ListMetricDefinitions", resp, "Failure responding to request")
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// ListMetricDefinitionsPreparer prepares the ListMetricDefinitions request.
|
||||
func (client CollectionClient) ListMetricDefinitionsPreparer(ctx context.Context, resourceGroupName string, accountName string) (*http.Request, error) {
|
||||
pathParameters := map[string]interface{}{
|
||||
"accountName": autorest.Encode("path", accountName),
|
||||
"collectionRid": autorest.Encode("path", client.CollectionRid),
|
||||
"databaseRid": autorest.Encode("path", client.DatabaseRid),
|
||||
"resourceGroupName": autorest.Encode("path", resourceGroupName),
|
||||
"subscriptionId": autorest.Encode("path", client.SubscriptionID),
|
||||
}
|
||||
|
||||
const APIVersion = "2015-04-08"
|
||||
queryParameters := map[string]interface{}{
|
||||
"api-version": APIVersion,
|
||||
}
|
||||
|
||||
preparer := autorest.CreatePreparer(
|
||||
autorest.AsGet(),
|
||||
autorest.WithBaseURL(client.BaseURI),
|
||||
autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/metricDefinitions", pathParameters),
|
||||
autorest.WithQueryParameters(queryParameters))
|
||||
return preparer.Prepare((&http.Request{}).WithContext(ctx))
|
||||
}
|
||||
|
||||
// ListMetricDefinitionsSender sends the ListMetricDefinitions request. The method will close the
|
||||
// http.Response Body if it receives an error.
|
||||
func (client CollectionClient) ListMetricDefinitionsSender(req *http.Request) (*http.Response, error) {
|
||||
return autorest.SendWithSender(client, req,
|
||||
azure.DoRetryWithRegistration(client.Client))
|
||||
}
|
||||
|
||||
// ListMetricDefinitionsResponder handles the response to the ListMetricDefinitions request. The method always
|
||||
// closes the http.Response Body.
|
||||
func (client CollectionClient) ListMetricDefinitionsResponder(resp *http.Response) (result MetricDefinitionsListResult, err error) {
|
||||
err = autorest.Respond(
|
||||
resp,
|
||||
client.ByInspecting(),
|
||||
azure.WithErrorUnlessStatusCode(http.StatusOK),
|
||||
autorest.ByUnmarshallingJSON(&result),
|
||||
autorest.ByClosing())
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
return
|
||||
}
|
||||
|
||||
// ListMetrics retrieves the metrics determined by the given filter for the given database account and collection.
|
||||
//
|
||||
// resourceGroupName is name of an Azure resource group. accountName is cosmos DB database account name.
|
||||
func (client CollectionClient) ListMetrics(ctx context.Context, resourceGroupName string, accountName string) (result MetricListResult, err error) {
|
||||
if err := validation.Validate([]validation.Validation{
|
||||
{TargetValue: resourceGroupName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
|
||||
{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
|
||||
{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}},
|
||||
{TargetValue: accountName,
|
||||
Constraints: []validation.Constraint{{Target: "accountName", Name: validation.MaxLength, Rule: 50, Chain: nil},
|
||||
{Target: "accountName", Name: validation.MinLength, Rule: 3, Chain: nil}}}}); err != nil {
|
||||
return result, validation.NewErrorWithValidationError(err, "documentdb.CollectionClient", "ListMetrics")
|
||||
}
|
||||
|
||||
req, err := client.ListMetricsPreparer(ctx, resourceGroupName, accountName)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "documentdb.CollectionClient", "ListMetrics", nil, "Failure preparing request")
|
||||
return
|
||||
}
|
||||
|
||||
resp, err := client.ListMetricsSender(req)
|
||||
if err != nil {
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
err = autorest.NewErrorWithError(err, "documentdb.CollectionClient", "ListMetrics", resp, "Failure sending request")
|
||||
return
|
||||
}
|
||||
|
||||
result, err = client.ListMetricsResponder(resp)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "documentdb.CollectionClient", "ListMetrics", resp, "Failure responding to request")
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// ListMetricsPreparer prepares the ListMetrics request.
|
||||
func (client CollectionClient) ListMetricsPreparer(ctx context.Context, resourceGroupName string, accountName string) (*http.Request, error) {
|
||||
pathParameters := map[string]interface{}{
|
||||
"accountName": autorest.Encode("path", accountName),
|
||||
"collectionRid": autorest.Encode("path", client.CollectionRid),
|
||||
"databaseRid": autorest.Encode("path", client.DatabaseRid),
|
||||
"resourceGroupName": autorest.Encode("path", resourceGroupName),
|
||||
"subscriptionId": autorest.Encode("path", client.SubscriptionID),
|
||||
}
|
||||
|
||||
const APIVersion = "2015-04-08"
|
||||
queryParameters := map[string]interface{}{
|
||||
"$filter": autorest.Encode("query", client.Filter),
|
||||
"api-version": APIVersion,
|
||||
}
|
||||
|
||||
preparer := autorest.CreatePreparer(
|
||||
autorest.AsGet(),
|
||||
autorest.WithBaseURL(client.BaseURI),
|
||||
autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/metrics", pathParameters),
|
||||
autorest.WithQueryParameters(queryParameters))
|
||||
return preparer.Prepare((&http.Request{}).WithContext(ctx))
|
||||
}
|
||||
|
||||
// ListMetricsSender sends the ListMetrics request. The method will close the
|
||||
// http.Response Body if it receives an error.
|
||||
func (client CollectionClient) ListMetricsSender(req *http.Request) (*http.Response, error) {
|
||||
return autorest.SendWithSender(client, req,
|
||||
azure.DoRetryWithRegistration(client.Client))
|
||||
}
|
||||
|
||||
// ListMetricsResponder handles the response to the ListMetrics request. The method always
|
||||
// closes the http.Response Body.
|
||||
func (client CollectionClient) ListMetricsResponder(resp *http.Response) (result MetricListResult, err error) {
|
||||
err = autorest.Respond(
|
||||
resp,
|
||||
client.ByInspecting(),
|
||||
azure.WithErrorUnlessStatusCode(http.StatusOK),
|
||||
autorest.ByUnmarshallingJSON(&result),
|
||||
autorest.ByClosing())
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
return
|
||||
}
|
||||
|
||||
// ListUsages retrieves the usages (most recent storage data) for the given collection.
|
||||
//
|
||||
// resourceGroupName is name of an Azure resource group. accountName is cosmos DB database account name.
|
||||
func (client CollectionClient) ListUsages(ctx context.Context, resourceGroupName string, accountName string) (result UsagesResult, err error) {
|
||||
if err := validation.Validate([]validation.Validation{
|
||||
{TargetValue: resourceGroupName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
|
||||
{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
|
||||
{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}},
|
||||
{TargetValue: accountName,
|
||||
Constraints: []validation.Constraint{{Target: "accountName", Name: validation.MaxLength, Rule: 50, Chain: nil},
|
||||
{Target: "accountName", Name: validation.MinLength, Rule: 3, Chain: nil}}}}); err != nil {
|
||||
return result, validation.NewErrorWithValidationError(err, "documentdb.CollectionClient", "ListUsages")
|
||||
}
|
||||
|
||||
req, err := client.ListUsagesPreparer(ctx, resourceGroupName, accountName)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "documentdb.CollectionClient", "ListUsages", nil, "Failure preparing request")
|
||||
return
|
||||
}
|
||||
|
||||
resp, err := client.ListUsagesSender(req)
|
||||
if err != nil {
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
err = autorest.NewErrorWithError(err, "documentdb.CollectionClient", "ListUsages", resp, "Failure sending request")
|
||||
return
|
||||
}
|
||||
|
||||
result, err = client.ListUsagesResponder(resp)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "documentdb.CollectionClient", "ListUsages", resp, "Failure responding to request")
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// ListUsagesPreparer prepares the ListUsages request.
|
||||
func (client CollectionClient) ListUsagesPreparer(ctx context.Context, resourceGroupName string, accountName string) (*http.Request, error) {
|
||||
pathParameters := map[string]interface{}{
|
||||
"accountName": autorest.Encode("path", accountName),
|
||||
"collectionRid": autorest.Encode("path", client.CollectionRid),
|
||||
"databaseRid": autorest.Encode("path", client.DatabaseRid),
|
||||
"resourceGroupName": autorest.Encode("path", resourceGroupName),
|
||||
"subscriptionId": autorest.Encode("path", client.SubscriptionID),
|
||||
}
|
||||
|
||||
const APIVersion = "2015-04-08"
|
||||
queryParameters := map[string]interface{}{
|
||||
"api-version": APIVersion,
|
||||
}
|
||||
if len(client.Filter) > 0 {
|
||||
queryParameters["$filter"] = autorest.Encode("query", client.Filter)
|
||||
}
|
||||
|
||||
preparer := autorest.CreatePreparer(
|
||||
autorest.AsGet(),
|
||||
autorest.WithBaseURL(client.BaseURI),
|
||||
autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/usages", pathParameters),
|
||||
autorest.WithQueryParameters(queryParameters))
|
||||
return preparer.Prepare((&http.Request{}).WithContext(ctx))
|
||||
}
|
||||
|
||||
// ListUsagesSender sends the ListUsages request. The method will close the
|
||||
// http.Response Body if it receives an error.
|
||||
func (client CollectionClient) ListUsagesSender(req *http.Request) (*http.Response, error) {
|
||||
return autorest.SendWithSender(client, req,
|
||||
azure.DoRetryWithRegistration(client.Client))
|
||||
}
|
||||
|
||||
// ListUsagesResponder handles the response to the ListUsages request. The method always
|
||||
// closes the http.Response Body.
|
||||
func (client CollectionClient) ListUsagesResponder(resp *http.Response) (result UsagesResult, err error) {
|
||||
err = autorest.Respond(
|
||||
resp,
|
||||
client.ByInspecting(),
|
||||
azure.WithErrorUnlessStatusCode(http.StatusOK),
|
||||
autorest.ByUnmarshallingJSON(&result),
|
||||
autorest.ByClosing())
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
return
|
||||
}
|
||||
Generated
Vendored
+123
@@ -0,0 +1,123 @@
|
||||
package documentdb
|
||||
|
||||
// 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/go-autorest/autorest/azure"
|
||||
"github.com/Azure/go-autorest/autorest/validation"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
// CollectionRegionClient is the azure Cosmos DB Database Service Resource Provider REST API
|
||||
type CollectionRegionClient struct {
|
||||
BaseClient
|
||||
}
|
||||
|
||||
// NewCollectionRegionClient creates an instance of the CollectionRegionClient client.
|
||||
func NewCollectionRegionClient(subscriptionID string, filter string, filter1 string, databaseRid string, collectionRid string, region string) CollectionRegionClient {
|
||||
return NewCollectionRegionClientWithBaseURI(DefaultBaseURI, subscriptionID, filter, filter1, databaseRid, collectionRid, region)
|
||||
}
|
||||
|
||||
// NewCollectionRegionClientWithBaseURI creates an instance of the CollectionRegionClient client.
|
||||
func NewCollectionRegionClientWithBaseURI(baseURI string, subscriptionID string, filter string, filter1 string, databaseRid string, collectionRid string, region string) CollectionRegionClient {
|
||||
return CollectionRegionClient{NewWithBaseURI(baseURI, subscriptionID, filter, filter1, databaseRid, collectionRid, region)}
|
||||
}
|
||||
|
||||
// ListMetrics retrieves the metrics determined by the given filter for the given database account, collection and
|
||||
// region.
|
||||
//
|
||||
// resourceGroupName is name of an Azure resource group. accountName is cosmos DB database account name.
|
||||
func (client CollectionRegionClient) ListMetrics(ctx context.Context, resourceGroupName string, accountName string) (result MetricListResult, err error) {
|
||||
if err := validation.Validate([]validation.Validation{
|
||||
{TargetValue: resourceGroupName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
|
||||
{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
|
||||
{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}},
|
||||
{TargetValue: accountName,
|
||||
Constraints: []validation.Constraint{{Target: "accountName", Name: validation.MaxLength, Rule: 50, Chain: nil},
|
||||
{Target: "accountName", Name: validation.MinLength, Rule: 3, Chain: nil}}}}); err != nil {
|
||||
return result, validation.NewErrorWithValidationError(err, "documentdb.CollectionRegionClient", "ListMetrics")
|
||||
}
|
||||
|
||||
req, err := client.ListMetricsPreparer(ctx, resourceGroupName, accountName)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "documentdb.CollectionRegionClient", "ListMetrics", nil, "Failure preparing request")
|
||||
return
|
||||
}
|
||||
|
||||
resp, err := client.ListMetricsSender(req)
|
||||
if err != nil {
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
err = autorest.NewErrorWithError(err, "documentdb.CollectionRegionClient", "ListMetrics", resp, "Failure sending request")
|
||||
return
|
||||
}
|
||||
|
||||
result, err = client.ListMetricsResponder(resp)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "documentdb.CollectionRegionClient", "ListMetrics", resp, "Failure responding to request")
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// ListMetricsPreparer prepares the ListMetrics request.
|
||||
func (client CollectionRegionClient) ListMetricsPreparer(ctx context.Context, resourceGroupName string, accountName string) (*http.Request, error) {
|
||||
pathParameters := map[string]interface{}{
|
||||
"accountName": autorest.Encode("path", accountName),
|
||||
"collectionRid": autorest.Encode("path", client.CollectionRid),
|
||||
"databaseRid": autorest.Encode("path", client.DatabaseRid),
|
||||
"region": autorest.Encode("path", client.Region),
|
||||
"resourceGroupName": autorest.Encode("path", resourceGroupName),
|
||||
"subscriptionId": autorest.Encode("path", client.SubscriptionID),
|
||||
}
|
||||
|
||||
const APIVersion = "2015-04-08"
|
||||
queryParameters := map[string]interface{}{
|
||||
"$filter": autorest.Encode("query", client.Filter),
|
||||
"api-version": APIVersion,
|
||||
}
|
||||
|
||||
preparer := autorest.CreatePreparer(
|
||||
autorest.AsGet(),
|
||||
autorest.WithBaseURL(client.BaseURI),
|
||||
autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/metrics", pathParameters),
|
||||
autorest.WithQueryParameters(queryParameters))
|
||||
return preparer.Prepare((&http.Request{}).WithContext(ctx))
|
||||
}
|
||||
|
||||
// ListMetricsSender sends the ListMetrics request. The method will close the
|
||||
// http.Response Body if it receives an error.
|
||||
func (client CollectionRegionClient) ListMetricsSender(req *http.Request) (*http.Response, error) {
|
||||
return autorest.SendWithSender(client, req,
|
||||
azure.DoRetryWithRegistration(client.Client))
|
||||
}
|
||||
|
||||
// ListMetricsResponder handles the response to the ListMetrics request. The method always
|
||||
// closes the http.Response Body.
|
||||
func (client CollectionRegionClient) ListMetricsResponder(resp *http.Response) (result MetricListResult, err error) {
|
||||
err = autorest.Respond(
|
||||
resp,
|
||||
client.ByInspecting(),
|
||||
azure.WithErrorUnlessStatusCode(http.StatusOK),
|
||||
autorest.ByUnmarshallingJSON(&result),
|
||||
autorest.ByClosing())
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
return
|
||||
}
|
||||
Generated
Vendored
+279
@@ -0,0 +1,279 @@
|
||||
package documentdb
|
||||
|
||||
// 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/go-autorest/autorest/azure"
|
||||
"github.com/Azure/go-autorest/autorest/validation"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
// DatabaseClient is the azure Cosmos DB Database Service Resource Provider REST API
|
||||
type DatabaseClient struct {
|
||||
BaseClient
|
||||
}
|
||||
|
||||
// NewDatabaseClient creates an instance of the DatabaseClient client.
|
||||
func NewDatabaseClient(subscriptionID string, filter string, filter1 string, databaseRid string, collectionRid string, region string) DatabaseClient {
|
||||
return NewDatabaseClientWithBaseURI(DefaultBaseURI, subscriptionID, filter, filter1, databaseRid, collectionRid, region)
|
||||
}
|
||||
|
||||
// NewDatabaseClientWithBaseURI creates an instance of the DatabaseClient client.
|
||||
func NewDatabaseClientWithBaseURI(baseURI string, subscriptionID string, filter string, filter1 string, databaseRid string, collectionRid string, region string) DatabaseClient {
|
||||
return DatabaseClient{NewWithBaseURI(baseURI, subscriptionID, filter, filter1, databaseRid, collectionRid, region)}
|
||||
}
|
||||
|
||||
// ListMetricDefinitions retrieves metric defintions for the given database.
|
||||
//
|
||||
// resourceGroupName is name of an Azure resource group. accountName is cosmos DB database account name.
|
||||
func (client DatabaseClient) ListMetricDefinitions(ctx context.Context, resourceGroupName string, accountName string) (result MetricDefinitionsListResult, err error) {
|
||||
if err := validation.Validate([]validation.Validation{
|
||||
{TargetValue: resourceGroupName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
|
||||
{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
|
||||
{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}},
|
||||
{TargetValue: accountName,
|
||||
Constraints: []validation.Constraint{{Target: "accountName", Name: validation.MaxLength, Rule: 50, Chain: nil},
|
||||
{Target: "accountName", Name: validation.MinLength, Rule: 3, Chain: nil}}}}); err != nil {
|
||||
return result, validation.NewErrorWithValidationError(err, "documentdb.DatabaseClient", "ListMetricDefinitions")
|
||||
}
|
||||
|
||||
req, err := client.ListMetricDefinitionsPreparer(ctx, resourceGroupName, accountName)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "documentdb.DatabaseClient", "ListMetricDefinitions", nil, "Failure preparing request")
|
||||
return
|
||||
}
|
||||
|
||||
resp, err := client.ListMetricDefinitionsSender(req)
|
||||
if err != nil {
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
err = autorest.NewErrorWithError(err, "documentdb.DatabaseClient", "ListMetricDefinitions", resp, "Failure sending request")
|
||||
return
|
||||
}
|
||||
|
||||
result, err = client.ListMetricDefinitionsResponder(resp)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "documentdb.DatabaseClient", "ListMetricDefinitions", resp, "Failure responding to request")
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// ListMetricDefinitionsPreparer prepares the ListMetricDefinitions request.
|
||||
func (client DatabaseClient) ListMetricDefinitionsPreparer(ctx context.Context, resourceGroupName string, accountName string) (*http.Request, error) {
|
||||
pathParameters := map[string]interface{}{
|
||||
"accountName": autorest.Encode("path", accountName),
|
||||
"databaseRid": autorest.Encode("path", client.DatabaseRid),
|
||||
"resourceGroupName": autorest.Encode("path", resourceGroupName),
|
||||
"subscriptionId": autorest.Encode("path", client.SubscriptionID),
|
||||
}
|
||||
|
||||
const APIVersion = "2015-04-08"
|
||||
queryParameters := map[string]interface{}{
|
||||
"api-version": APIVersion,
|
||||
}
|
||||
|
||||
preparer := autorest.CreatePreparer(
|
||||
autorest.AsGet(),
|
||||
autorest.WithBaseURL(client.BaseURI),
|
||||
autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/metricDefinitions", pathParameters),
|
||||
autorest.WithQueryParameters(queryParameters))
|
||||
return preparer.Prepare((&http.Request{}).WithContext(ctx))
|
||||
}
|
||||
|
||||
// ListMetricDefinitionsSender sends the ListMetricDefinitions request. The method will close the
|
||||
// http.Response Body if it receives an error.
|
||||
func (client DatabaseClient) ListMetricDefinitionsSender(req *http.Request) (*http.Response, error) {
|
||||
return autorest.SendWithSender(client, req,
|
||||
azure.DoRetryWithRegistration(client.Client))
|
||||
}
|
||||
|
||||
// ListMetricDefinitionsResponder handles the response to the ListMetricDefinitions request. The method always
|
||||
// closes the http.Response Body.
|
||||
func (client DatabaseClient) ListMetricDefinitionsResponder(resp *http.Response) (result MetricDefinitionsListResult, err error) {
|
||||
err = autorest.Respond(
|
||||
resp,
|
||||
client.ByInspecting(),
|
||||
azure.WithErrorUnlessStatusCode(http.StatusOK),
|
||||
autorest.ByUnmarshallingJSON(&result),
|
||||
autorest.ByClosing())
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
return
|
||||
}
|
||||
|
||||
// ListMetrics retrieves the metrics determined by the given filter for the given database account and database.
|
||||
//
|
||||
// resourceGroupName is name of an Azure resource group. accountName is cosmos DB database account name.
|
||||
func (client DatabaseClient) ListMetrics(ctx context.Context, resourceGroupName string, accountName string) (result MetricListResult, err error) {
|
||||
if err := validation.Validate([]validation.Validation{
|
||||
{TargetValue: resourceGroupName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
|
||||
{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
|
||||
{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}},
|
||||
{TargetValue: accountName,
|
||||
Constraints: []validation.Constraint{{Target: "accountName", Name: validation.MaxLength, Rule: 50, Chain: nil},
|
||||
{Target: "accountName", Name: validation.MinLength, Rule: 3, Chain: nil}}}}); err != nil {
|
||||
return result, validation.NewErrorWithValidationError(err, "documentdb.DatabaseClient", "ListMetrics")
|
||||
}
|
||||
|
||||
req, err := client.ListMetricsPreparer(ctx, resourceGroupName, accountName)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "documentdb.DatabaseClient", "ListMetrics", nil, "Failure preparing request")
|
||||
return
|
||||
}
|
||||
|
||||
resp, err := client.ListMetricsSender(req)
|
||||
if err != nil {
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
err = autorest.NewErrorWithError(err, "documentdb.DatabaseClient", "ListMetrics", resp, "Failure sending request")
|
||||
return
|
||||
}
|
||||
|
||||
result, err = client.ListMetricsResponder(resp)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "documentdb.DatabaseClient", "ListMetrics", resp, "Failure responding to request")
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// ListMetricsPreparer prepares the ListMetrics request.
|
||||
func (client DatabaseClient) ListMetricsPreparer(ctx context.Context, resourceGroupName string, accountName string) (*http.Request, error) {
|
||||
pathParameters := map[string]interface{}{
|
||||
"accountName": autorest.Encode("path", accountName),
|
||||
"databaseRid": autorest.Encode("path", client.DatabaseRid),
|
||||
"resourceGroupName": autorest.Encode("path", resourceGroupName),
|
||||
"subscriptionId": autorest.Encode("path", client.SubscriptionID),
|
||||
}
|
||||
|
||||
const APIVersion = "2015-04-08"
|
||||
queryParameters := map[string]interface{}{
|
||||
"$filter": autorest.Encode("query", client.Filter),
|
||||
"api-version": APIVersion,
|
||||
}
|
||||
|
||||
preparer := autorest.CreatePreparer(
|
||||
autorest.AsGet(),
|
||||
autorest.WithBaseURL(client.BaseURI),
|
||||
autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/metrics", pathParameters),
|
||||
autorest.WithQueryParameters(queryParameters))
|
||||
return preparer.Prepare((&http.Request{}).WithContext(ctx))
|
||||
}
|
||||
|
||||
// ListMetricsSender sends the ListMetrics request. The method will close the
|
||||
// http.Response Body if it receives an error.
|
||||
func (client DatabaseClient) ListMetricsSender(req *http.Request) (*http.Response, error) {
|
||||
return autorest.SendWithSender(client, req,
|
||||
azure.DoRetryWithRegistration(client.Client))
|
||||
}
|
||||
|
||||
// ListMetricsResponder handles the response to the ListMetrics request. The method always
|
||||
// closes the http.Response Body.
|
||||
func (client DatabaseClient) ListMetricsResponder(resp *http.Response) (result MetricListResult, err error) {
|
||||
err = autorest.Respond(
|
||||
resp,
|
||||
client.ByInspecting(),
|
||||
azure.WithErrorUnlessStatusCode(http.StatusOK),
|
||||
autorest.ByUnmarshallingJSON(&result),
|
||||
autorest.ByClosing())
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
return
|
||||
}
|
||||
|
||||
// ListUsages retrieves the usages (most recent data) for the given database.
|
||||
//
|
||||
// resourceGroupName is name of an Azure resource group. accountName is cosmos DB database account name.
|
||||
func (client DatabaseClient) ListUsages(ctx context.Context, resourceGroupName string, accountName string) (result UsagesResult, err error) {
|
||||
if err := validation.Validate([]validation.Validation{
|
||||
{TargetValue: resourceGroupName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
|
||||
{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
|
||||
{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}},
|
||||
{TargetValue: accountName,
|
||||
Constraints: []validation.Constraint{{Target: "accountName", Name: validation.MaxLength, Rule: 50, Chain: nil},
|
||||
{Target: "accountName", Name: validation.MinLength, Rule: 3, Chain: nil}}}}); err != nil {
|
||||
return result, validation.NewErrorWithValidationError(err, "documentdb.DatabaseClient", "ListUsages")
|
||||
}
|
||||
|
||||
req, err := client.ListUsagesPreparer(ctx, resourceGroupName, accountName)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "documentdb.DatabaseClient", "ListUsages", nil, "Failure preparing request")
|
||||
return
|
||||
}
|
||||
|
||||
resp, err := client.ListUsagesSender(req)
|
||||
if err != nil {
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
err = autorest.NewErrorWithError(err, "documentdb.DatabaseClient", "ListUsages", resp, "Failure sending request")
|
||||
return
|
||||
}
|
||||
|
||||
result, err = client.ListUsagesResponder(resp)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "documentdb.DatabaseClient", "ListUsages", resp, "Failure responding to request")
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// ListUsagesPreparer prepares the ListUsages request.
|
||||
func (client DatabaseClient) ListUsagesPreparer(ctx context.Context, resourceGroupName string, accountName string) (*http.Request, error) {
|
||||
pathParameters := map[string]interface{}{
|
||||
"accountName": autorest.Encode("path", accountName),
|
||||
"databaseRid": autorest.Encode("path", client.DatabaseRid),
|
||||
"resourceGroupName": autorest.Encode("path", resourceGroupName),
|
||||
"subscriptionId": autorest.Encode("path", client.SubscriptionID),
|
||||
}
|
||||
|
||||
const APIVersion = "2015-04-08"
|
||||
queryParameters := map[string]interface{}{
|
||||
"api-version": APIVersion,
|
||||
}
|
||||
if len(client.Filter) > 0 {
|
||||
queryParameters["$filter"] = autorest.Encode("query", client.Filter)
|
||||
}
|
||||
|
||||
preparer := autorest.CreatePreparer(
|
||||
autorest.AsGet(),
|
||||
autorest.WithBaseURL(client.BaseURI),
|
||||
autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/usages", pathParameters),
|
||||
autorest.WithQueryParameters(queryParameters))
|
||||
return preparer.Prepare((&http.Request{}).WithContext(ctx))
|
||||
}
|
||||
|
||||
// ListUsagesSender sends the ListUsages request. The method will close the
|
||||
// http.Response Body if it receives an error.
|
||||
func (client DatabaseClient) ListUsagesSender(req *http.Request) (*http.Response, error) {
|
||||
return autorest.SendWithSender(client, req,
|
||||
azure.DoRetryWithRegistration(client.Client))
|
||||
}
|
||||
|
||||
// ListUsagesResponder handles the response to the ListUsages request. The method always
|
||||
// closes the http.Response Body.
|
||||
func (client DatabaseClient) ListUsagesResponder(resp *http.Response) (result UsagesResult, err error) {
|
||||
err = autorest.Respond(
|
||||
resp,
|
||||
client.ByInspecting(),
|
||||
azure.WithErrorUnlessStatusCode(http.StatusOK),
|
||||
autorest.ByUnmarshallingJSON(&result),
|
||||
autorest.ByClosing())
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
return
|
||||
}
|
||||
Generated
Vendored
+120
@@ -0,0 +1,120 @@
|
||||
package documentdb
|
||||
|
||||
// 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/go-autorest/autorest/azure"
|
||||
"github.com/Azure/go-autorest/autorest/validation"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
// DatabaseAccountRegionClient is the azure Cosmos DB Database Service Resource Provider REST API
|
||||
type DatabaseAccountRegionClient struct {
|
||||
BaseClient
|
||||
}
|
||||
|
||||
// NewDatabaseAccountRegionClient creates an instance of the DatabaseAccountRegionClient client.
|
||||
func NewDatabaseAccountRegionClient(subscriptionID string, filter string, filter1 string, databaseRid string, collectionRid string, region string) DatabaseAccountRegionClient {
|
||||
return NewDatabaseAccountRegionClientWithBaseURI(DefaultBaseURI, subscriptionID, filter, filter1, databaseRid, collectionRid, region)
|
||||
}
|
||||
|
||||
// NewDatabaseAccountRegionClientWithBaseURI creates an instance of the DatabaseAccountRegionClient client.
|
||||
func NewDatabaseAccountRegionClientWithBaseURI(baseURI string, subscriptionID string, filter string, filter1 string, databaseRid string, collectionRid string, region string) DatabaseAccountRegionClient {
|
||||
return DatabaseAccountRegionClient{NewWithBaseURI(baseURI, subscriptionID, filter, filter1, databaseRid, collectionRid, region)}
|
||||
}
|
||||
|
||||
// ListMetrics retrieves the metrics determined by the given filter for the given database account and region.
|
||||
//
|
||||
// resourceGroupName is name of an Azure resource group. accountName is cosmos DB database account name.
|
||||
func (client DatabaseAccountRegionClient) ListMetrics(ctx context.Context, resourceGroupName string, accountName string) (result MetricListResult, err error) {
|
||||
if err := validation.Validate([]validation.Validation{
|
||||
{TargetValue: resourceGroupName,
|
||||
Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
|
||||
{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
|
||||
{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}},
|
||||
{TargetValue: accountName,
|
||||
Constraints: []validation.Constraint{{Target: "accountName", Name: validation.MaxLength, Rule: 50, Chain: nil},
|
||||
{Target: "accountName", Name: validation.MinLength, Rule: 3, Chain: nil}}}}); err != nil {
|
||||
return result, validation.NewErrorWithValidationError(err, "documentdb.DatabaseAccountRegionClient", "ListMetrics")
|
||||
}
|
||||
|
||||
req, err := client.ListMetricsPreparer(ctx, resourceGroupName, accountName)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountRegionClient", "ListMetrics", nil, "Failure preparing request")
|
||||
return
|
||||
}
|
||||
|
||||
resp, err := client.ListMetricsSender(req)
|
||||
if err != nil {
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountRegionClient", "ListMetrics", resp, "Failure sending request")
|
||||
return
|
||||
}
|
||||
|
||||
result, err = client.ListMetricsResponder(resp)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountRegionClient", "ListMetrics", resp, "Failure responding to request")
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// ListMetricsPreparer prepares the ListMetrics request.
|
||||
func (client DatabaseAccountRegionClient) ListMetricsPreparer(ctx context.Context, resourceGroupName string, accountName string) (*http.Request, error) {
|
||||
pathParameters := map[string]interface{}{
|
||||
"accountName": autorest.Encode("path", accountName),
|
||||
"region": autorest.Encode("path", client.Region),
|
||||
"resourceGroupName": autorest.Encode("path", resourceGroupName),
|
||||
"subscriptionId": autorest.Encode("path", client.SubscriptionID),
|
||||
}
|
||||
|
||||
const APIVersion = "2015-04-08"
|
||||
queryParameters := map[string]interface{}{
|
||||
"$filter": autorest.Encode("query", client.Filter),
|
||||
"api-version": APIVersion,
|
||||
}
|
||||
|
||||
preparer := autorest.CreatePreparer(
|
||||
autorest.AsGet(),
|
||||
autorest.WithBaseURL(client.BaseURI),
|
||||
autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/metrics", pathParameters),
|
||||
autorest.WithQueryParameters(queryParameters))
|
||||
return preparer.Prepare((&http.Request{}).WithContext(ctx))
|
||||
}
|
||||
|
||||
// ListMetricsSender sends the ListMetrics request. The method will close the
|
||||
// http.Response Body if it receives an error.
|
||||
func (client DatabaseAccountRegionClient) ListMetricsSender(req *http.Request) (*http.Response, error) {
|
||||
return autorest.SendWithSender(client, req,
|
||||
azure.DoRetryWithRegistration(client.Client))
|
||||
}
|
||||
|
||||
// ListMetricsResponder handles the response to the ListMetrics request. The method always
|
||||
// closes the http.Response Body.
|
||||
func (client DatabaseAccountRegionClient) ListMetricsResponder(resp *http.Response) (result MetricListResult, err error) {
|
||||
err = autorest.Respond(
|
||||
resp,
|
||||
client.ByInspecting(),
|
||||
azure.WithErrorUnlessStatusCode(http.StatusOK),
|
||||
autorest.ByUnmarshallingJSON(&result),
|
||||
autorest.ByClosing())
|
||||
result.Response = autorest.Response{Response: resp}
|
||||
return
|
||||
}
|
||||
Generated
Vendored
+1211
File diff suppressed because it is too large
Load Diff
Generated
Vendored
+870
@@ -0,0 +1,870 @@
|
||||
package documentdb
|
||||
|
||||
// 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 (
|
||||
"encoding/json"
|
||||
"github.com/Azure/go-autorest/autorest"
|
||||
"github.com/Azure/go-autorest/autorest/azure"
|
||||
"github.com/Azure/go-autorest/autorest/date"
|
||||
"github.com/Azure/go-autorest/autorest/to"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
// DatabaseAccountKind enumerates the values for database account kind.
|
||||
type DatabaseAccountKind string
|
||||
|
||||
const (
|
||||
// GlobalDocumentDB ...
|
||||
GlobalDocumentDB DatabaseAccountKind = "GlobalDocumentDB"
|
||||
// MongoDB ...
|
||||
MongoDB DatabaseAccountKind = "MongoDB"
|
||||
// Parse ...
|
||||
Parse DatabaseAccountKind = "Parse"
|
||||
)
|
||||
|
||||
// DatabaseAccountOfferType enumerates the values for database account offer type.
|
||||
type DatabaseAccountOfferType string
|
||||
|
||||
const (
|
||||
// Standard ...
|
||||
Standard DatabaseAccountOfferType = "Standard"
|
||||
)
|
||||
|
||||
// DefaultConsistencyLevel enumerates the values for default consistency level.
|
||||
type DefaultConsistencyLevel string
|
||||
|
||||
const (
|
||||
// BoundedStaleness ...
|
||||
BoundedStaleness DefaultConsistencyLevel = "BoundedStaleness"
|
||||
// ConsistentPrefix ...
|
||||
ConsistentPrefix DefaultConsistencyLevel = "ConsistentPrefix"
|
||||
// Eventual ...
|
||||
Eventual DefaultConsistencyLevel = "Eventual"
|
||||
// Session ...
|
||||
Session DefaultConsistencyLevel = "Session"
|
||||
// Strong ...
|
||||
Strong DefaultConsistencyLevel = "Strong"
|
||||
)
|
||||
|
||||
// KeyKind enumerates the values for key kind.
|
||||
type KeyKind string
|
||||
|
||||
const (
|
||||
// Primary ...
|
||||
Primary KeyKind = "primary"
|
||||
// PrimaryReadonly ...
|
||||
PrimaryReadonly KeyKind = "primaryReadonly"
|
||||
// Secondary ...
|
||||
Secondary KeyKind = "secondary"
|
||||
// SecondaryReadonly ...
|
||||
SecondaryReadonly KeyKind = "secondaryReadonly"
|
||||
)
|
||||
|
||||
// PrimaryAggregationType enumerates the values for primary aggregation type.
|
||||
type PrimaryAggregationType string
|
||||
|
||||
const (
|
||||
// Average ...
|
||||
Average PrimaryAggregationType = "Average"
|
||||
// Last ...
|
||||
Last PrimaryAggregationType = "Last"
|
||||
// Maximum ...
|
||||
Maximum PrimaryAggregationType = "Maximum"
|
||||
// Minimimum ...
|
||||
Minimimum PrimaryAggregationType = "Minimimum"
|
||||
// None ...
|
||||
None PrimaryAggregationType = "None"
|
||||
// Total ...
|
||||
Total PrimaryAggregationType = "Total"
|
||||
)
|
||||
|
||||
// UnitType enumerates the values for unit type.
|
||||
type UnitType string
|
||||
|
||||
const (
|
||||
// Bytes ...
|
||||
Bytes UnitType = "Bytes"
|
||||
// BytesPerSecond ...
|
||||
BytesPerSecond UnitType = "BytesPerSecond"
|
||||
// Count ...
|
||||
Count UnitType = "Count"
|
||||
// CountPerSecond ...
|
||||
CountPerSecond UnitType = "CountPerSecond"
|
||||
// Milliseconds ...
|
||||
Milliseconds UnitType = "Milliseconds"
|
||||
// Percent ...
|
||||
Percent UnitType = "Percent"
|
||||
// Seconds ...
|
||||
Seconds UnitType = "Seconds"
|
||||
)
|
||||
|
||||
// ConsistencyPolicy the consistency policy for the Cosmos DB database account.
|
||||
type ConsistencyPolicy struct {
|
||||
// DefaultConsistencyLevel - The default consistency level and configuration settings of the Cosmos DB account. Possible values include: 'Eventual', 'Session', 'BoundedStaleness', 'Strong', 'ConsistentPrefix'
|
||||
DefaultConsistencyLevel DefaultConsistencyLevel `json:"defaultConsistencyLevel,omitempty"`
|
||||
// MaxStalenessPrefix - When used with the Bounded Staleness consistency level, this value represents the number of stale requests tolerated. Accepted range for this value is 1 – 2,147,483,647. Required when defaultConsistencyPolicy is set to 'BoundedStaleness'.
|
||||
MaxStalenessPrefix *int64 `json:"maxStalenessPrefix,omitempty"`
|
||||
// MaxIntervalInSeconds - When used with the Bounded Staleness consistency level, this value represents the time amount of staleness (in seconds) tolerated. Accepted range for this value is 5 - 86400. Required when defaultConsistencyPolicy is set to 'BoundedStaleness'.
|
||||
MaxIntervalInSeconds *int32 `json:"maxIntervalInSeconds,omitempty"`
|
||||
}
|
||||
|
||||
// DatabaseAccount an Azure Cosmos DB database account.
|
||||
type DatabaseAccount struct {
|
||||
autorest.Response `json:"-"`
|
||||
// ID - The unique resource identifier of the database account.
|
||||
ID *string `json:"id,omitempty"`
|
||||
// Name - The name of the database account.
|
||||
Name *string `json:"name,omitempty"`
|
||||
// Type - The type of Azure resource.
|
||||
Type *string `json:"type,omitempty"`
|
||||
// Location - The location of the resource group to which the resource belongs.
|
||||
Location *string `json:"location,omitempty"`
|
||||
Tags *map[string]*string `json:"tags,omitempty"`
|
||||
// Kind - Indicates the type of database account. This can only be set at database account creation. Possible values include: 'GlobalDocumentDB', 'MongoDB', 'Parse'
|
||||
Kind DatabaseAccountKind `json:"kind,omitempty"`
|
||||
*DatabaseAccountProperties `json:"properties,omitempty"`
|
||||
}
|
||||
|
||||
// UnmarshalJSON is the custom unmarshaler for DatabaseAccount struct.
|
||||
func (da *DatabaseAccount) UnmarshalJSON(body []byte) error {
|
||||
var m map[string]*json.RawMessage
|
||||
err := json.Unmarshal(body, &m)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
var v *json.RawMessage
|
||||
|
||||
v = m["kind"]
|
||||
if v != nil {
|
||||
var kind DatabaseAccountKind
|
||||
err = json.Unmarshal(*m["kind"], &kind)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
da.Kind = kind
|
||||
}
|
||||
|
||||
v = m["properties"]
|
||||
if v != nil {
|
||||
var properties DatabaseAccountProperties
|
||||
err = json.Unmarshal(*m["properties"], &properties)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
da.DatabaseAccountProperties = &properties
|
||||
}
|
||||
|
||||
v = m["id"]
|
||||
if v != nil {
|
||||
var ID string
|
||||
err = json.Unmarshal(*m["id"], &ID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
da.ID = &ID
|
||||
}
|
||||
|
||||
v = m["name"]
|
||||
if v != nil {
|
||||
var name string
|
||||
err = json.Unmarshal(*m["name"], &name)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
da.Name = &name
|
||||
}
|
||||
|
||||
v = m["type"]
|
||||
if v != nil {
|
||||
var typeVar string
|
||||
err = json.Unmarshal(*m["type"], &typeVar)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
da.Type = &typeVar
|
||||
}
|
||||
|
||||
v = m["location"]
|
||||
if v != nil {
|
||||
var location string
|
||||
err = json.Unmarshal(*m["location"], &location)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
da.Location = &location
|
||||
}
|
||||
|
||||
v = m["tags"]
|
||||
if v != nil {
|
||||
var tags map[string]*string
|
||||
err = json.Unmarshal(*m["tags"], &tags)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
da.Tags = &tags
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// DatabaseAccountConnectionString connection string for the Cosmos DB account
|
||||
type DatabaseAccountConnectionString struct {
|
||||
// ConnectionString - Value of the connection string
|
||||
ConnectionString *string `json:"connectionString,omitempty"`
|
||||
// Description - Description of the connection string
|
||||
Description *string `json:"description,omitempty"`
|
||||
}
|
||||
|
||||
// DatabaseAccountCreateUpdateParameters parameters to create and update Cosmos DB database accounts.
|
||||
type DatabaseAccountCreateUpdateParameters struct {
|
||||
// ID - The unique resource identifier of the database account.
|
||||
ID *string `json:"id,omitempty"`
|
||||
// Name - The name of the database account.
|
||||
Name *string `json:"name,omitempty"`
|
||||
// Type - The type of Azure resource.
|
||||
Type *string `json:"type,omitempty"`
|
||||
// Location - The location of the resource group to which the resource belongs.
|
||||
Location *string `json:"location,omitempty"`
|
||||
Tags *map[string]*string `json:"tags,omitempty"`
|
||||
// Kind - Indicates the type of database account. This can only be set at database account creation. Possible values include: 'GlobalDocumentDB', 'MongoDB', 'Parse'
|
||||
Kind DatabaseAccountKind `json:"kind,omitempty"`
|
||||
*DatabaseAccountCreateUpdateProperties `json:"properties,omitempty"`
|
||||
}
|
||||
|
||||
// UnmarshalJSON is the custom unmarshaler for DatabaseAccountCreateUpdateParameters struct.
|
||||
func (dacup *DatabaseAccountCreateUpdateParameters) UnmarshalJSON(body []byte) error {
|
||||
var m map[string]*json.RawMessage
|
||||
err := json.Unmarshal(body, &m)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
var v *json.RawMessage
|
||||
|
||||
v = m["kind"]
|
||||
if v != nil {
|
||||
var kind DatabaseAccountKind
|
||||
err = json.Unmarshal(*m["kind"], &kind)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
dacup.Kind = kind
|
||||
}
|
||||
|
||||
v = m["properties"]
|
||||
if v != nil {
|
||||
var properties DatabaseAccountCreateUpdateProperties
|
||||
err = json.Unmarshal(*m["properties"], &properties)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
dacup.DatabaseAccountCreateUpdateProperties = &properties
|
||||
}
|
||||
|
||||
v = m["id"]
|
||||
if v != nil {
|
||||
var ID string
|
||||
err = json.Unmarshal(*m["id"], &ID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
dacup.ID = &ID
|
||||
}
|
||||
|
||||
v = m["name"]
|
||||
if v != nil {
|
||||
var name string
|
||||
err = json.Unmarshal(*m["name"], &name)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
dacup.Name = &name
|
||||
}
|
||||
|
||||
v = m["type"]
|
||||
if v != nil {
|
||||
var typeVar string
|
||||
err = json.Unmarshal(*m["type"], &typeVar)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
dacup.Type = &typeVar
|
||||
}
|
||||
|
||||
v = m["location"]
|
||||
if v != nil {
|
||||
var location string
|
||||
err = json.Unmarshal(*m["location"], &location)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
dacup.Location = &location
|
||||
}
|
||||
|
||||
v = m["tags"]
|
||||
if v != nil {
|
||||
var tags map[string]*string
|
||||
err = json.Unmarshal(*m["tags"], &tags)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
dacup.Tags = &tags
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// DatabaseAccountCreateUpdateProperties properties to create and update Azure Cosmos DB database accounts.
|
||||
type DatabaseAccountCreateUpdateProperties struct {
|
||||
// ConsistencyPolicy - The consistency policy for the Cosmos DB account.
|
||||
ConsistencyPolicy *ConsistencyPolicy `json:"consistencyPolicy,omitempty"`
|
||||
// Locations - An array that contains the georeplication locations enabled for the Cosmos DB account.
|
||||
Locations *[]Location `json:"locations,omitempty"`
|
||||
DatabaseAccountOfferType *string `json:"databaseAccountOfferType,omitempty"`
|
||||
// IPRangeFilter - Cosmos DB Firewall Support: This value specifies the set of IP addresses or IP address ranges in CIDR form to be included as the allowed list of client IPs for a given database account. IP addresses/ranges must be comma separated and must not contain any spaces.
|
||||
IPRangeFilter *string `json:"ipRangeFilter,omitempty"`
|
||||
// EnableAutomaticFailover - Enables automatic failover of the write region in the rare event that the region is unavailable due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the failover priorities configured for the account.
|
||||
EnableAutomaticFailover *bool `json:"enableAutomaticFailover,omitempty"`
|
||||
}
|
||||
|
||||
// DatabaseAccountListConnectionStringsResult the connection strings for the given database account.
|
||||
type DatabaseAccountListConnectionStringsResult struct {
|
||||
autorest.Response `json:"-"`
|
||||
// ConnectionStrings - An array that contains the connection strings for the Cosmos DB account.
|
||||
ConnectionStrings *[]DatabaseAccountConnectionString `json:"connectionStrings,omitempty"`
|
||||
}
|
||||
|
||||
// DatabaseAccountListKeysResult the access keys for the given database account.
|
||||
type DatabaseAccountListKeysResult struct {
|
||||
autorest.Response `json:"-"`
|
||||
// PrimaryMasterKey - Base 64 encoded value of the primary read-write key.
|
||||
PrimaryMasterKey *string `json:"primaryMasterKey,omitempty"`
|
||||
// SecondaryMasterKey - Base 64 encoded value of the secondary read-write key.
|
||||
SecondaryMasterKey *string `json:"secondaryMasterKey,omitempty"`
|
||||
*DatabaseAccountListReadOnlyKeysResult `json:"properties,omitempty"`
|
||||
}
|
||||
|
||||
// UnmarshalJSON is the custom unmarshaler for DatabaseAccountListKeysResult struct.
|
||||
func (dalkr *DatabaseAccountListKeysResult) UnmarshalJSON(body []byte) error {
|
||||
var m map[string]*json.RawMessage
|
||||
err := json.Unmarshal(body, &m)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
var v *json.RawMessage
|
||||
|
||||
v = m["primaryMasterKey"]
|
||||
if v != nil {
|
||||
var primaryMasterKey string
|
||||
err = json.Unmarshal(*m["primaryMasterKey"], &primaryMasterKey)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
dalkr.PrimaryMasterKey = &primaryMasterKey
|
||||
}
|
||||
|
||||
v = m["secondaryMasterKey"]
|
||||
if v != nil {
|
||||
var secondaryMasterKey string
|
||||
err = json.Unmarshal(*m["secondaryMasterKey"], &secondaryMasterKey)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
dalkr.SecondaryMasterKey = &secondaryMasterKey
|
||||
}
|
||||
|
||||
v = m["properties"]
|
||||
if v != nil {
|
||||
var properties DatabaseAccountListReadOnlyKeysResult
|
||||
err = json.Unmarshal(*m["properties"], &properties)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
dalkr.DatabaseAccountListReadOnlyKeysResult = &properties
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// DatabaseAccountListReadOnlyKeysResult the read-only access keys for the given database account.
|
||||
type DatabaseAccountListReadOnlyKeysResult struct {
|
||||
autorest.Response `json:"-"`
|
||||
// PrimaryReadonlyMasterKey - Base 64 encoded value of the primary read-only key.
|
||||
PrimaryReadonlyMasterKey *string `json:"primaryReadonlyMasterKey,omitempty"`
|
||||
// SecondaryReadonlyMasterKey - Base 64 encoded value of the secondary read-only key.
|
||||
SecondaryReadonlyMasterKey *string `json:"secondaryReadonlyMasterKey,omitempty"`
|
||||
}
|
||||
|
||||
// DatabaseAccountPatchParameters parameters for patching Azure Cosmos DB database account properties.
|
||||
type DatabaseAccountPatchParameters struct {
|
||||
Tags *map[string]*string `json:"tags,omitempty"`
|
||||
}
|
||||
|
||||
// DatabaseAccountProperties properties for the database account.
|
||||
type DatabaseAccountProperties struct {
|
||||
ProvisioningState *string `json:"provisioningState,omitempty"`
|
||||
// DocumentEndpoint - The connection endpoint for the Cosmos DB database account.
|
||||
DocumentEndpoint *string `json:"documentEndpoint,omitempty"`
|
||||
// DatabaseAccountOfferType - The offer type for the Cosmos DB database account. Default value: Standard. Possible values include: 'Standard'
|
||||
DatabaseAccountOfferType DatabaseAccountOfferType `json:"databaseAccountOfferType,omitempty"`
|
||||
// IPRangeFilter - Cosmos DB Firewall Support: This value specifies the set of IP addresses or IP address ranges in CIDR form to be included as the allowed list of client IPs for a given database account. IP addresses/ranges must be comma separated and must not contain any spaces.
|
||||
IPRangeFilter *string `json:"ipRangeFilter,omitempty"`
|
||||
// EnableAutomaticFailover - Enables automatic failover of the write region in the rare event that the region is unavailable due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the failover priorities configured for the account.
|
||||
EnableAutomaticFailover *bool `json:"enableAutomaticFailover,omitempty"`
|
||||
// ConsistencyPolicy - The consistency policy for the Cosmos DB database account.
|
||||
ConsistencyPolicy *ConsistencyPolicy `json:"consistencyPolicy,omitempty"`
|
||||
// WriteLocations - An array that contains the write location for the Cosmos DB account.
|
||||
WriteLocations *[]Location `json:"writeLocations,omitempty"`
|
||||
// ReadLocations - An array that contains of the read locations enabled for the Cosmos DB account.
|
||||
ReadLocations *[]Location `json:"readLocations,omitempty"`
|
||||
// FailoverPolicies - An array that contains the regions ordered by their failover priorities.
|
||||
FailoverPolicies *[]FailoverPolicy `json:"failoverPolicies,omitempty"`
|
||||
}
|
||||
|
||||
// DatabaseAccountRegenerateKeyParameters parameters to regenerate the keys within the database account.
|
||||
type DatabaseAccountRegenerateKeyParameters struct {
|
||||
// KeyKind - The access key to regenerate. Possible values include: 'Primary', 'Secondary', 'PrimaryReadonly', 'SecondaryReadonly'
|
||||
KeyKind KeyKind `json:"keyKind,omitempty"`
|
||||
}
|
||||
|
||||
// DatabaseAccountsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a long-running
|
||||
// operation.
|
||||
type DatabaseAccountsCreateOrUpdateFuture struct {
|
||||
azure.Future
|
||||
req *http.Request
|
||||
}
|
||||
|
||||
// Result returns the result of the asynchronous operation.
|
||||
// If the operation has not completed it will return an error.
|
||||
func (future DatabaseAccountsCreateOrUpdateFuture) Result(client DatabaseAccountsClient) (da DatabaseAccount, err error) {
|
||||
var done bool
|
||||
done, err = future.Done(client)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if !done {
|
||||
return da, autorest.NewError("documentdb.DatabaseAccountsCreateOrUpdateFuture", "Result", "asynchronous operation has not completed")
|
||||
}
|
||||
if future.PollingMethod() == azure.PollingLocation {
|
||||
da, err = client.CreateOrUpdateResponder(future.Response())
|
||||
return
|
||||
}
|
||||
var resp *http.Response
|
||||
resp, err = autorest.SendWithSender(client, autorest.ChangeToGet(future.req),
|
||||
autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
da, err = client.CreateOrUpdateResponder(resp)
|
||||
return
|
||||
}
|
||||
|
||||
// DatabaseAccountsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running operation.
|
||||
type DatabaseAccountsDeleteFuture struct {
|
||||
azure.Future
|
||||
req *http.Request
|
||||
}
|
||||
|
||||
// Result returns the result of the asynchronous operation.
|
||||
// If the operation has not completed it will return an error.
|
||||
func (future DatabaseAccountsDeleteFuture) Result(client DatabaseAccountsClient) (ar autorest.Response, err error) {
|
||||
var done bool
|
||||
done, err = future.Done(client)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if !done {
|
||||
return ar, autorest.NewError("documentdb.DatabaseAccountsDeleteFuture", "Result", "asynchronous operation has not completed")
|
||||
}
|
||||
if future.PollingMethod() == azure.PollingLocation {
|
||||
ar, err = client.DeleteResponder(future.Response())
|
||||
return
|
||||
}
|
||||
var resp *http.Response
|
||||
resp, err = autorest.SendWithSender(client, autorest.ChangeToGet(future.req),
|
||||
autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
ar, err = client.DeleteResponder(resp)
|
||||
return
|
||||
}
|
||||
|
||||
// DatabaseAccountsFailoverPriorityChangeFuture an abstraction for monitoring and retrieving the results of a
|
||||
// long-running operation.
|
||||
type DatabaseAccountsFailoverPriorityChangeFuture struct {
|
||||
azure.Future
|
||||
req *http.Request
|
||||
}
|
||||
|
||||
// Result returns the result of the asynchronous operation.
|
||||
// If the operation has not completed it will return an error.
|
||||
func (future DatabaseAccountsFailoverPriorityChangeFuture) Result(client DatabaseAccountsClient) (ar autorest.Response, err error) {
|
||||
var done bool
|
||||
done, err = future.Done(client)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if !done {
|
||||
return ar, autorest.NewError("documentdb.DatabaseAccountsFailoverPriorityChangeFuture", "Result", "asynchronous operation has not completed")
|
||||
}
|
||||
if future.PollingMethod() == azure.PollingLocation {
|
||||
ar, err = client.FailoverPriorityChangeResponder(future.Response())
|
||||
return
|
||||
}
|
||||
var resp *http.Response
|
||||
resp, err = autorest.SendWithSender(client, autorest.ChangeToGet(future.req),
|
||||
autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
ar, err = client.FailoverPriorityChangeResponder(resp)
|
||||
return
|
||||
}
|
||||
|
||||
// DatabaseAccountsListResult the List operation response, that contains the database accounts and their properties.
|
||||
type DatabaseAccountsListResult struct {
|
||||
autorest.Response `json:"-"`
|
||||
// Value - List of database account and their properties.
|
||||
Value *[]DatabaseAccount `json:"value,omitempty"`
|
||||
}
|
||||
|
||||
// DatabaseAccountsPatchFuture an abstraction for monitoring and retrieving the results of a long-running operation.
|
||||
type DatabaseAccountsPatchFuture struct {
|
||||
azure.Future
|
||||
req *http.Request
|
||||
}
|
||||
|
||||
// Result returns the result of the asynchronous operation.
|
||||
// If the operation has not completed it will return an error.
|
||||
func (future DatabaseAccountsPatchFuture) Result(client DatabaseAccountsClient) (da DatabaseAccount, err error) {
|
||||
var done bool
|
||||
done, err = future.Done(client)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if !done {
|
||||
return da, autorest.NewError("documentdb.DatabaseAccountsPatchFuture", "Result", "asynchronous operation has not completed")
|
||||
}
|
||||
if future.PollingMethod() == azure.PollingLocation {
|
||||
da, err = client.PatchResponder(future.Response())
|
||||
return
|
||||
}
|
||||
var resp *http.Response
|
||||
resp, err = autorest.SendWithSender(client, autorest.ChangeToGet(future.req),
|
||||
autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
da, err = client.PatchResponder(resp)
|
||||
return
|
||||
}
|
||||
|
||||
// DatabaseAccountsRegenerateKeyFuture an abstraction for monitoring and retrieving the results of a long-running
|
||||
// operation.
|
||||
type DatabaseAccountsRegenerateKeyFuture struct {
|
||||
azure.Future
|
||||
req *http.Request
|
||||
}
|
||||
|
||||
// Result returns the result of the asynchronous operation.
|
||||
// If the operation has not completed it will return an error.
|
||||
func (future DatabaseAccountsRegenerateKeyFuture) Result(client DatabaseAccountsClient) (ar autorest.Response, err error) {
|
||||
var done bool
|
||||
done, err = future.Done(client)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if !done {
|
||||
return ar, autorest.NewError("documentdb.DatabaseAccountsRegenerateKeyFuture", "Result", "asynchronous operation has not completed")
|
||||
}
|
||||
if future.PollingMethod() == azure.PollingLocation {
|
||||
ar, err = client.RegenerateKeyResponder(future.Response())
|
||||
return
|
||||
}
|
||||
var resp *http.Response
|
||||
resp, err = autorest.SendWithSender(client, autorest.ChangeToGet(future.req),
|
||||
autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
ar, err = client.RegenerateKeyResponder(resp)
|
||||
return
|
||||
}
|
||||
|
||||
// FailoverPolicies the list of new failover policies for the failover priority change.
|
||||
type FailoverPolicies struct {
|
||||
// FailoverPolicies - List of failover policies.
|
||||
FailoverPolicies *[]FailoverPolicy `json:"failoverPolicies,omitempty"`
|
||||
}
|
||||
|
||||
// FailoverPolicy the failover policy for a given region of a database account.
|
||||
type FailoverPolicy struct {
|
||||
// ID - The unique identifier of the region in which the database account replicates to. Example: <accountName>-<locationName>.
|
||||
ID *string `json:"id,omitempty"`
|
||||
// LocationName - The name of the region in which the database account exists.
|
||||
LocationName *string `json:"locationName,omitempty"`
|
||||
// FailoverPriority - The failover priority of the region. A failover priority of 0 indicates a write region. The maximum value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the regions in which the database account exists.
|
||||
FailoverPriority *int32 `json:"failoverPriority,omitempty"`
|
||||
}
|
||||
|
||||
// Location a region in which the Azure Cosmos DB database account is deployed.
|
||||
type Location struct {
|
||||
// ID - The unique identifier of the region within the database account. Example: <accountName>-<locationName>.
|
||||
ID *string `json:"id,omitempty"`
|
||||
// LocationName - The name of the region.
|
||||
LocationName *string `json:"locationName,omitempty"`
|
||||
// DocumentEndpoint - The connection endpoint for the specific region. Example: https://<accountName>-<locationName>.documents.azure.com:443/
|
||||
DocumentEndpoint *string `json:"documentEndpoint,omitempty"`
|
||||
ProvisioningState *string `json:"provisioningState,omitempty"`
|
||||
// FailoverPriority - The failover priority of the region. A failover priority of 0 indicates a write region. The maximum value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the regions in which the database account exists.
|
||||
FailoverPriority *int32 `json:"failoverPriority,omitempty"`
|
||||
}
|
||||
|
||||
// Metric metric data
|
||||
type Metric struct {
|
||||
// StartTime - The start time for the metric (ISO-8601 format).
|
||||
StartTime *date.Time `json:"startTime,omitempty"`
|
||||
// EndTime - The end time for the metric (ISO-8601 format).
|
||||
EndTime *date.Time `json:"endTime,omitempty"`
|
||||
// TimeGrain - The time grain to be used to summarize the metric values.
|
||||
TimeGrain *string `json:"timeGrain,omitempty"`
|
||||
// Unit - The unit of the metric. Possible values include: 'Count', 'Bytes', 'Seconds', 'Percent', 'CountPerSecond', 'BytesPerSecond', 'Milliseconds'
|
||||
Unit UnitType `json:"unit,omitempty"`
|
||||
// Name - The name information for the metric.
|
||||
Name *MetricName `json:"name,omitempty"`
|
||||
// MetricValues - The metric values for the specified time window and timestep.
|
||||
MetricValues *[]MetricValue `json:"metricValues,omitempty"`
|
||||
}
|
||||
|
||||
// MetricAvailability the availability of the metric.
|
||||
type MetricAvailability struct {
|
||||
// TimeGrain - The time grain to be used to summarize the metric values.
|
||||
TimeGrain *string `json:"timeGrain,omitempty"`
|
||||
// Retention - The retention for the metric values.
|
||||
Retention *string `json:"retention,omitempty"`
|
||||
}
|
||||
|
||||
// MetricDefinition the definition of a metric.
|
||||
type MetricDefinition struct {
|
||||
// MetricAvailabilities - The list of metric availabilities for the account.
|
||||
MetricAvailabilities *[]MetricAvailability `json:"metricAvailabilities,omitempty"`
|
||||
// PrimaryAggregationType - The primary aggregation type of the metric. Possible values include: 'None', 'Average', 'Total', 'Minimimum', 'Maximum', 'Last'
|
||||
PrimaryAggregationType PrimaryAggregationType `json:"primaryAggregationType,omitempty"`
|
||||
// Unit - The unit of the metric. Possible values include: 'Count', 'Bytes', 'Seconds', 'Percent', 'CountPerSecond', 'BytesPerSecond', 'Milliseconds'
|
||||
Unit UnitType `json:"unit,omitempty"`
|
||||
// ResourceURI - The resource uri of the database.
|
||||
ResourceURI *string `json:"resourceUri,omitempty"`
|
||||
// Name - The name information for the metric.
|
||||
Name *MetricName `json:"name,omitempty"`
|
||||
}
|
||||
|
||||
// MetricDefinitionsListResult the response to a list metric definitions request.
|
||||
type MetricDefinitionsListResult struct {
|
||||
autorest.Response `json:"-"`
|
||||
// Value - The list of metric definitions for the account.
|
||||
Value *[]MetricDefinition `json:"value,omitempty"`
|
||||
}
|
||||
|
||||
// MetricListResult the response to a list metrics request.
|
||||
type MetricListResult struct {
|
||||
autorest.Response `json:"-"`
|
||||
// Value - The list of metrics for the account.
|
||||
Value *[]Metric `json:"value,omitempty"`
|
||||
}
|
||||
|
||||
// MetricName a metric name.
|
||||
type MetricName struct {
|
||||
// Value - The name of the metric.
|
||||
Value *string `json:"value,omitempty"`
|
||||
// LocalizedValue - The friendly name of the metric.
|
||||
LocalizedValue *string `json:"localizedValue,omitempty"`
|
||||
}
|
||||
|
||||
// MetricValue represents metrics values.
|
||||
type MetricValue struct {
|
||||
// Count - The number of values for the metric.
|
||||
Count *float64 `json:"_count,omitempty"`
|
||||
// Average - The average value of the metric.
|
||||
Average *float64 `json:"average,omitempty"`
|
||||
// Maximum - The max value of the metric.
|
||||
Maximum *float64 `json:"maximum,omitempty"`
|
||||
// Minimum - The min value of the metric.
|
||||
Minimum *float64 `json:"minimum,omitempty"`
|
||||
// Timestamp - The metric timestamp (ISO-8601 format).
|
||||
Timestamp *date.Time `json:"timestamp,omitempty"`
|
||||
// Total - The total value of the metric.
|
||||
Total *float64 `json:"total,omitempty"`
|
||||
}
|
||||
|
||||
// Operation REST API operation
|
||||
type Operation struct {
|
||||
// Name - Operation name: {provider}/{resource}/{operation}
|
||||
Name *string `json:"name,omitempty"`
|
||||
// Display - The object that represents the operation.
|
||||
Display *OperationDisplay `json:"display,omitempty"`
|
||||
}
|
||||
|
||||
// OperationDisplay the object that represents the operation.
|
||||
type OperationDisplay struct {
|
||||
// Provider - Service provider: Microsoft.ResourceProvider
|
||||
Provider *string `json:"Provider,omitempty"`
|
||||
// Resource - Resource on which the operation is performed: Profile, endpoint, etc.
|
||||
Resource *string `json:"Resource,omitempty"`
|
||||
// Operation - Operation type: Read, write, delete, etc.
|
||||
Operation *string `json:"Operation,omitempty"`
|
||||
// Description - Description of operation
|
||||
Description *string `json:"Description,omitempty"`
|
||||
}
|
||||
|
||||
// OperationListResult result of the request to list Resource Provider operations. It contains a list of operations and
|
||||
// a URL link to get the next set of results.
|
||||
type OperationListResult struct {
|
||||
autorest.Response `json:"-"`
|
||||
// Value - List of operations supported by the Resource Provider.
|
||||
Value *[]Operation `json:"value,omitempty"`
|
||||
// NextLink - URL to get the next set of operation list results if there are any.
|
||||
NextLink *string `json:"nextLink,omitempty"`
|
||||
}
|
||||
|
||||
// OperationListResultIterator provides access to a complete listing of Operation values.
|
||||
type OperationListResultIterator struct {
|
||||
i int
|
||||
page OperationListResultPage
|
||||
}
|
||||
|
||||
// Next advances to the next value. If there was an error making
|
||||
// the request the iterator does not advance and the error is returned.
|
||||
func (iter *OperationListResultIterator) Next() error {
|
||||
iter.i++
|
||||
if iter.i < len(iter.page.Values()) {
|
||||
return nil
|
||||
}
|
||||
err := iter.page.Next()
|
||||
if err != nil {
|
||||
iter.i--
|
||||
return err
|
||||
}
|
||||
iter.i = 0
|
||||
return nil
|
||||
}
|
||||
|
||||
// NotDone returns true if the enumeration should be started or is not yet complete.
|
||||
func (iter OperationListResultIterator) NotDone() bool {
|
||||
return iter.page.NotDone() && iter.i < len(iter.page.Values())
|
||||
}
|
||||
|
||||
// Response returns the raw server response from the last page request.
|
||||
func (iter OperationListResultIterator) Response() OperationListResult {
|
||||
return iter.page.Response()
|
||||
}
|
||||
|
||||
// Value returns the current value or a zero-initialized value if the
|
||||
// iterator has advanced beyond the end of the collection.
|
||||
func (iter OperationListResultIterator) Value() Operation {
|
||||
if !iter.page.NotDone() {
|
||||
return Operation{}
|
||||
}
|
||||
return iter.page.Values()[iter.i]
|
||||
}
|
||||
|
||||
// IsEmpty returns true if the ListResult contains no values.
|
||||
func (olr OperationListResult) IsEmpty() bool {
|
||||
return olr.Value == nil || len(*olr.Value) == 0
|
||||
}
|
||||
|
||||
// operationListResultPreparer prepares a request to retrieve the next set of results.
|
||||
// It returns nil if no more results exist.
|
||||
func (olr OperationListResult) operationListResultPreparer() (*http.Request, error) {
|
||||
if olr.NextLink == nil || len(to.String(olr.NextLink)) < 1 {
|
||||
return nil, nil
|
||||
}
|
||||
return autorest.Prepare(&http.Request{},
|
||||
autorest.AsJSON(),
|
||||
autorest.AsGet(),
|
||||
autorest.WithBaseURL(to.String(olr.NextLink)))
|
||||
}
|
||||
|
||||
// OperationListResultPage contains a page of Operation values.
|
||||
type OperationListResultPage struct {
|
||||
fn func(OperationListResult) (OperationListResult, error)
|
||||
olr OperationListResult
|
||||
}
|
||||
|
||||
// Next advances to the next page of values. If there was an error making
|
||||
// the request the page does not advance and the error is returned.
|
||||
func (page *OperationListResultPage) Next() error {
|
||||
next, err := page.fn(page.olr)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
page.olr = next
|
||||
return nil
|
||||
}
|
||||
|
||||
// NotDone returns true if the page enumeration should be started or is not yet complete.
|
||||
func (page OperationListResultPage) NotDone() bool {
|
||||
return !page.olr.IsEmpty()
|
||||
}
|
||||
|
||||
// Response returns the raw server response from the last page request.
|
||||
func (page OperationListResultPage) Response() OperationListResult {
|
||||
return page.olr
|
||||
}
|
||||
|
||||
// Values returns the slice of values for the current page or nil if there are no values.
|
||||
func (page OperationListResultPage) Values() []Operation {
|
||||
if page.olr.IsEmpty() {
|
||||
return nil
|
||||
}
|
||||
return *page.olr.Value
|
||||
}
|
||||
|
||||
// Resource a database account resource.
|
||||
type Resource struct {
|
||||
// ID - The unique resource identifier of the database account.
|
||||
ID *string `json:"id,omitempty"`
|
||||
// Name - The name of the database account.
|
||||
Name *string `json:"name,omitempty"`
|
||||
// Type - The type of Azure resource.
|
||||
Type *string `json:"type,omitempty"`
|
||||
// Location - The location of the resource group to which the resource belongs.
|
||||
Location *string `json:"location,omitempty"`
|
||||
Tags *map[string]*string `json:"tags,omitempty"`
|
||||
}
|
||||
|
||||
// Usage the usage data for a usage request.
|
||||
type Usage struct {
|
||||
// Unit - The unit of the metric. Possible values include: 'Count', 'Bytes', 'Seconds', 'Percent', 'CountPerSecond', 'BytesPerSecond', 'Milliseconds'
|
||||
Unit UnitType `json:"unit,omitempty"`
|
||||
// Name - The name information for the metric.
|
||||
Name *MetricName `json:"name,omitempty"`
|
||||
// QuotaPeriod - The quota period used to summarize the usage values.
|
||||
QuotaPeriod *string `json:"quotaPeriod,omitempty"`
|
||||
// Limit - Maximum value for this metric
|
||||
Limit *int32 `json:"limit,omitempty"`
|
||||
// CurrentValue - Current value for this metric
|
||||
CurrentValue *int32 `json:"currentValue,omitempty"`
|
||||
}
|
||||
|
||||
// UsagesResult the response to a list usage request.
|
||||
type UsagesResult struct {
|
||||
autorest.Response `json:"-"`
|
||||
// Value - The list of usages for the database. A usage is a point in time metric
|
||||
Value *[]Usage `json:"value,omitempty"`
|
||||
}
|
||||
vendor/github.com/Azure/azure-sdk-for-go/services/cosmos-db/mgmt/2015-04-08/documentdb/operations.go
Generated
Vendored
+126
@@ -0,0 +1,126 @@
|
||||
package documentdb
|
||||
|
||||
// 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/go-autorest/autorest/azure"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
// OperationsClient is the azure Cosmos DB Database Service Resource Provider REST API
|
||||
type OperationsClient struct {
|
||||
BaseClient
|
||||
}
|
||||
|
||||
// NewOperationsClient creates an instance of the OperationsClient client.
|
||||
func NewOperationsClient(subscriptionID string, filter string, filter1 string, databaseRid string, collectionRid string, region string) OperationsClient {
|
||||
return NewOperationsClientWithBaseURI(DefaultBaseURI, subscriptionID, filter, filter1, databaseRid, collectionRid, region)
|
||||
}
|
||||
|
||||
// NewOperationsClientWithBaseURI creates an instance of the OperationsClient client.
|
||||
func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string, filter string, filter1 string, databaseRid string, collectionRid string, region string) OperationsClient {
|
||||
return OperationsClient{NewWithBaseURI(baseURI, subscriptionID, filter, filter1, databaseRid, collectionRid, region)}
|
||||
}
|
||||
|
||||
// List lists all of the available Cosmos DB Resource Provider operations.
|
||||
func (client OperationsClient) List(ctx context.Context) (result OperationListResultPage, err error) {
|
||||
result.fn = client.listNextResults
|
||||
req, err := client.ListPreparer(ctx)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "documentdb.OperationsClient", "List", nil, "Failure preparing request")
|
||||
return
|
||||
}
|
||||
|
||||
resp, err := client.ListSender(req)
|
||||
if err != nil {
|
||||
result.olr.Response = autorest.Response{Response: resp}
|
||||
err = autorest.NewErrorWithError(err, "documentdb.OperationsClient", "List", resp, "Failure sending request")
|
||||
return
|
||||
}
|
||||
|
||||
result.olr, err = client.ListResponder(resp)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "documentdb.OperationsClient", "List", resp, "Failure responding to request")
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// ListPreparer prepares the List request.
|
||||
func (client OperationsClient) ListPreparer(ctx context.Context) (*http.Request, error) {
|
||||
const APIVersion = "2015-04-08"
|
||||
queryParameters := map[string]interface{}{
|
||||
"api-version": APIVersion,
|
||||
}
|
||||
|
||||
preparer := autorest.CreatePreparer(
|
||||
autorest.AsGet(),
|
||||
autorest.WithBaseURL(client.BaseURI),
|
||||
autorest.WithPath("/providers/Microsoft.DocumentDB/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 autorest.SendWithSender(client, 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 OperationListResult, err error) {
|
||||
err = autorest.Respond(
|
||||
resp,
|
||||
client.ByInspecting(),
|
||||
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(lastResults OperationListResult) (result OperationListResult, err error) {
|
||||
req, err := lastResults.operationListResultPreparer()
|
||||
if err != nil {
|
||||
return result, autorest.NewErrorWithError(err, "documentdb.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, "documentdb.OperationsClient", "listNextResults", resp, "Failure sending next results request")
|
||||
}
|
||||
result, err = client.ListResponder(resp)
|
||||
if err != nil {
|
||||
err = autorest.NewErrorWithError(err, "documentdb.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 OperationListResultIterator, err error) {
|
||||
result.page, err = client.List(ctx)
|
||||
return
|
||||
}
|
||||
Generated
Vendored
+28
@@ -0,0 +1,28 @@
|
||||
package documentdb
|
||||
|
||||
// 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/v12.2.0-beta services"
|
||||
}
|
||||
|
||||
// Version returns the semantic version (see http://semver.org) of the client.
|
||||
func Version() string {
|
||||
return "v12.2.0-beta"
|
||||
}
|
||||
+117
@@ -0,0 +1,117 @@
|
||||
// Package mongodb provides Mongo DB dataplane clients for Microsoft Azure CosmosDb Services.
|
||||
package mongodb
|
||||
|
||||
// Copyright 2017 Microsoft Corporation
|
||||
//
|
||||
// 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.
|
||||
|
||||
import (
|
||||
"context"
|
||||
"crypto/tls"
|
||||
"fmt"
|
||||
"net"
|
||||
"strings"
|
||||
|
||||
"github.com/Azure/azure-sdk-for-go/services/cosmos-db/mgmt/2015-04-08/documentdb"
|
||||
"github.com/Azure/go-autorest/autorest"
|
||||
"github.com/Azure/go-autorest/autorest/adal"
|
||||
"github.com/Azure/go-autorest/autorest/azure"
|
||||
"gopkg.in/mgo.v2"
|
||||
)
|
||||
|
||||
const (
|
||||
cosmosDbConnectionPort = 10255
|
||||
)
|
||||
|
||||
// NewMongoDBClientWithConnectionString returns a MongoDb session to communicate with CosmosDB using a connection string.
|
||||
func NewMongoDBClientWithConnectionString(connectionString string) (*mgo.Session, error) {
|
||||
|
||||
// strip out the "ssl=true" option as MongoDb driver does not support by default SSL.
|
||||
connectionString = strings.Replace(connectionString, "ssl=true", "", -1)
|
||||
dialInfo, err := mgo.ParseURL(connectionString)
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return NewMongoDBClient(dialInfo)
|
||||
}
|
||||
|
||||
// NewMongoDBClientWithCredentials returns a MongoDb session to communicate with CosmosDB using a username and a password.
|
||||
func NewMongoDBClientWithCredentials(username, password, host string) (*mgo.Session, error) {
|
||||
|
||||
dialInfo := &mgo.DialInfo{
|
||||
Addrs: []string{fmt.Sprintf("%s:%d", host, cosmosDbConnectionPort)},
|
||||
Username: username,
|
||||
Password: password,
|
||||
}
|
||||
|
||||
return NewMongoDBClient(dialInfo)
|
||||
}
|
||||
|
||||
// NewMongoDBClientWithSPToken returns a session to communicate with CosmosDB using an auth token.
|
||||
func NewMongoDBClientWithSPToken(spToken *adal.ServicePrincipalToken, subscriptionID, resourceGroup, account string, environment azure.Environment) (*mgo.Session, error) {
|
||||
|
||||
authorizer := autorest.NewBearerAuthorizer(spToken)
|
||||
|
||||
cosmosDbClient := documentdb.NewDatabaseAccountsClientWithBaseURI(subscriptionID, environment.ResourceManagerEndpoint, "", "", "", "", "")
|
||||
cosmosDbClient.Authorizer = authorizer
|
||||
cosmosDbClient.AddToUserAgent("dataplane mongodb")
|
||||
|
||||
result, err := cosmosDbClient.ListConnectionStrings(context.Background(), resourceGroup, account)
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
connectionStrings := *result.ConnectionStrings
|
||||
|
||||
for _, connectionString := range connectionStrings {
|
||||
session, err := NewMongoDBClientWithConnectionString(*connectionString.ConnectionString)
|
||||
|
||||
if session != nil && err == nil {
|
||||
return session, nil
|
||||
}
|
||||
}
|
||||
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// NewMongoDBClientWithMSI returns a MongoDB session to communicate with CosmosDB using MSI.
|
||||
func NewMongoDBClientWithMSI(subscriptionID, resourceGroup, account string, environment azure.Environment) (*mgo.Session, error) {
|
||||
|
||||
msiEndpoint, err := adal.GetMSIVMEndpoint()
|
||||
spToken, err := adal.NewServicePrincipalTokenFromMSI(msiEndpoint, environment.ResourceManagerEndpoint)
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return NewMongoDBClientWithSPToken(spToken, subscriptionID, resourceGroup, account, environment)
|
||||
}
|
||||
|
||||
// NewMongoDBClient returns a MongoDB session to communicate with CosmosDB.
|
||||
func NewMongoDBClient(dialInfo *mgo.DialInfo) (*mgo.Session, error) {
|
||||
|
||||
dialInfo.DialServer = func(addr *mgo.ServerAddr) (net.Conn, error) {
|
||||
return tls.Dial("tcp", addr.String(), &tls.Config{})
|
||||
}
|
||||
|
||||
session, err := mgo.DialWithInfo(dialInfo)
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return session, nil
|
||||
}
|
||||
Reference in New Issue
Block a user