diff --git a/profiles/2018-03-01/authorization/mgmt/authorization/authorizationapi/models.go b/profiles/2018-03-01/authorization/mgmt/authorization/authorizationapi/models.go index 1d3a9dcb0495..c158662f0fed 100644 --- a/profiles/2018-03-01/authorization/mgmt/authorization/authorizationapi/models.go +++ b/profiles/2018-03-01/authorization/mgmt/authorization/authorizationapi/models.go @@ -22,6 +22,7 @@ package authorizationapi import original "github.com/Azure/azure-sdk-for-go/services/authorization/mgmt/2015-07-01/authorization/authorizationapi" type ClassicAdministratorsClientAPI = original.ClassicAdministratorsClientAPI +type ElevateAccessClientAPI = original.ElevateAccessClientAPI type PermissionsClientAPI = original.PermissionsClientAPI type ProviderOperationsMetadataClientAPI = original.ProviderOperationsMetadataClientAPI type RoleAssignmentsClientAPI = original.RoleAssignmentsClientAPI diff --git a/profiles/2018-03-01/authorization/mgmt/authorization/models.go b/profiles/2018-03-01/authorization/mgmt/authorization/models.go index f2d8876feb0a..46002606d646 100644 --- a/profiles/2018-03-01/authorization/mgmt/authorization/models.go +++ b/profiles/2018-03-01/authorization/mgmt/authorization/models.go @@ -36,6 +36,7 @@ type ClassicAdministratorListResultIterator = original.ClassicAdministratorListR type ClassicAdministratorListResultPage = original.ClassicAdministratorListResultPage type ClassicAdministratorProperties = original.ClassicAdministratorProperties type ClassicAdministratorsClient = original.ClassicAdministratorsClient +type ElevateAccessClient = original.ElevateAccessClient type Permission = original.Permission type PermissionGetResult = original.PermissionGetResult type PermissionGetResultIterator = original.PermissionGetResultIterator @@ -80,6 +81,12 @@ func NewClassicAdministratorsClient(subscriptionID string) ClassicAdministrators func NewClassicAdministratorsClientWithBaseURI(baseURI string, subscriptionID string) ClassicAdministratorsClient { return original.NewClassicAdministratorsClientWithBaseURI(baseURI, subscriptionID) } +func NewElevateAccessClient(subscriptionID string) ElevateAccessClient { + return original.NewElevateAccessClient(subscriptionID) +} +func NewElevateAccessClientWithBaseURI(baseURI string, subscriptionID string) ElevateAccessClient { + return original.NewElevateAccessClientWithBaseURI(baseURI, subscriptionID) +} func NewPermissionGetResultIterator(page PermissionGetResultPage) PermissionGetResultIterator { return original.NewPermissionGetResultIterator(page) } diff --git a/profiles/latest/authorization/mgmt/authorization/authorizationapi/models.go b/profiles/latest/authorization/mgmt/authorization/authorizationapi/models.go index 1d3a9dcb0495..c158662f0fed 100644 --- a/profiles/latest/authorization/mgmt/authorization/authorizationapi/models.go +++ b/profiles/latest/authorization/mgmt/authorization/authorizationapi/models.go @@ -22,6 +22,7 @@ package authorizationapi import original "github.com/Azure/azure-sdk-for-go/services/authorization/mgmt/2015-07-01/authorization/authorizationapi" type ClassicAdministratorsClientAPI = original.ClassicAdministratorsClientAPI +type ElevateAccessClientAPI = original.ElevateAccessClientAPI type PermissionsClientAPI = original.PermissionsClientAPI type ProviderOperationsMetadataClientAPI = original.ProviderOperationsMetadataClientAPI type RoleAssignmentsClientAPI = original.RoleAssignmentsClientAPI diff --git a/profiles/latest/authorization/mgmt/authorization/models.go b/profiles/latest/authorization/mgmt/authorization/models.go index f965088d0b2f..ee1a8988e00b 100644 --- a/profiles/latest/authorization/mgmt/authorization/models.go +++ b/profiles/latest/authorization/mgmt/authorization/models.go @@ -36,6 +36,7 @@ type ClassicAdministratorListResultIterator = original.ClassicAdministratorListR type ClassicAdministratorListResultPage = original.ClassicAdministratorListResultPage type ClassicAdministratorProperties = original.ClassicAdministratorProperties type ClassicAdministratorsClient = original.ClassicAdministratorsClient +type ElevateAccessClient = original.ElevateAccessClient type Permission = original.Permission type PermissionGetResult = original.PermissionGetResult type PermissionGetResultIterator = original.PermissionGetResultIterator @@ -80,6 +81,12 @@ func NewClassicAdministratorsClient(subscriptionID string) ClassicAdministrators func NewClassicAdministratorsClientWithBaseURI(baseURI string, subscriptionID string) ClassicAdministratorsClient { return original.NewClassicAdministratorsClientWithBaseURI(baseURI, subscriptionID) } +func NewElevateAccessClient(subscriptionID string) ElevateAccessClient { + return original.NewElevateAccessClient(subscriptionID) +} +func NewElevateAccessClientWithBaseURI(baseURI string, subscriptionID string) ElevateAccessClient { + return original.NewElevateAccessClientWithBaseURI(baseURI, subscriptionID) +} func NewPermissionGetResultIterator(page PermissionGetResultPage) PermissionGetResultIterator { return original.NewPermissionGetResultIterator(page) } diff --git a/profiles/preview/authorization/mgmt/authorization/authorizationapi/models.go b/profiles/preview/authorization/mgmt/authorization/authorizationapi/models.go index 1d3a9dcb0495..c158662f0fed 100644 --- a/profiles/preview/authorization/mgmt/authorization/authorizationapi/models.go +++ b/profiles/preview/authorization/mgmt/authorization/authorizationapi/models.go @@ -22,6 +22,7 @@ package authorizationapi import original "github.com/Azure/azure-sdk-for-go/services/authorization/mgmt/2015-07-01/authorization/authorizationapi" type ClassicAdministratorsClientAPI = original.ClassicAdministratorsClientAPI +type ElevateAccessClientAPI = original.ElevateAccessClientAPI type PermissionsClientAPI = original.PermissionsClientAPI type ProviderOperationsMetadataClientAPI = original.ProviderOperationsMetadataClientAPI type RoleAssignmentsClientAPI = original.RoleAssignmentsClientAPI diff --git a/profiles/preview/authorization/mgmt/authorization/models.go b/profiles/preview/authorization/mgmt/authorization/models.go index 91c70efa4297..87709903f96b 100644 --- a/profiles/preview/authorization/mgmt/authorization/models.go +++ b/profiles/preview/authorization/mgmt/authorization/models.go @@ -36,6 +36,7 @@ type ClassicAdministratorListResultIterator = original.ClassicAdministratorListR type ClassicAdministratorListResultPage = original.ClassicAdministratorListResultPage type ClassicAdministratorProperties = original.ClassicAdministratorProperties type ClassicAdministratorsClient = original.ClassicAdministratorsClient +type ElevateAccessClient = original.ElevateAccessClient type Permission = original.Permission type PermissionGetResult = original.PermissionGetResult type PermissionGetResultIterator = original.PermissionGetResultIterator @@ -80,6 +81,12 @@ func NewClassicAdministratorsClient(subscriptionID string) ClassicAdministrators func NewClassicAdministratorsClientWithBaseURI(baseURI string, subscriptionID string) ClassicAdministratorsClient { return original.NewClassicAdministratorsClientWithBaseURI(baseURI, subscriptionID) } +func NewElevateAccessClient(subscriptionID string) ElevateAccessClient { + return original.NewElevateAccessClient(subscriptionID) +} +func NewElevateAccessClientWithBaseURI(baseURI string, subscriptionID string) ElevateAccessClient { + return original.NewElevateAccessClientWithBaseURI(baseURI, subscriptionID) +} func NewPermissionGetResultIterator(page PermissionGetResultPage) PermissionGetResultIterator { return original.NewPermissionGetResultIterator(page) } diff --git a/services/authorization/mgmt/2015-07-01/authorization/authorizationapi/interfaces.go b/services/authorization/mgmt/2015-07-01/authorization/authorizationapi/interfaces.go index aea5c33d4ae6..dc033aa2590f 100644 --- a/services/authorization/mgmt/2015-07-01/authorization/authorizationapi/interfaces.go +++ b/services/authorization/mgmt/2015-07-01/authorization/authorizationapi/interfaces.go @@ -20,6 +20,7 @@ package authorizationapi import ( "context" "github.com/Azure/azure-sdk-for-go/services/authorization/mgmt/2015-07-01/authorization" + "github.com/Azure/go-autorest/autorest" ) // PermissionsClientAPI contains the set of methods on the PermissionsClient type. @@ -65,6 +66,13 @@ type RoleDefinitionsClientAPI interface { var _ RoleDefinitionsClientAPI = (*authorization.RoleDefinitionsClient)(nil) +// ElevateAccessClientAPI contains the set of methods on the ElevateAccessClient type. +type ElevateAccessClientAPI interface { + Post(ctx context.Context) (result autorest.Response, err error) +} + +var _ ElevateAccessClientAPI = (*authorization.ElevateAccessClient)(nil) + // ClassicAdministratorsClientAPI contains the set of methods on the ClassicAdministratorsClient type. type ClassicAdministratorsClientAPI interface { List(ctx context.Context) (result authorization.ClassicAdministratorListResultPage, err error) diff --git a/services/authorization/mgmt/2015-07-01/authorization/elevateaccess.go b/services/authorization/mgmt/2015-07-01/authorization/elevateaccess.go new file mode 100644 index 000000000000..fca0e3fdba2d --- /dev/null +++ b/services/authorization/mgmt/2015-07-01/authorization/elevateaccess.go @@ -0,0 +1,111 @@ +package authorization + +// 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/tracing" + "net/http" +) + +// ElevateAccessClient is the role based access control provides you a way to apply granular level policy +// administration down to individual resources or resource groups. These operations enable you to manage role +// definitions and role assignments. A role definition describes the set of actions that can be performed on resources. +// A role assignment grants access to Azure Active Directory users. +type ElevateAccessClient struct { + BaseClient +} + +// NewElevateAccessClient creates an instance of the ElevateAccessClient client. +func NewElevateAccessClient(subscriptionID string) ElevateAccessClient { + return NewElevateAccessClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewElevateAccessClientWithBaseURI creates an instance of the ElevateAccessClient client. +func NewElevateAccessClientWithBaseURI(baseURI string, subscriptionID string) ElevateAccessClient { + return ElevateAccessClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Post elevates access for a Global Administrator. +func (client ElevateAccessClient) Post(ctx context.Context) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ElevateAccessClient.Post") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.PostPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "authorization.ElevateAccessClient", "Post", nil, "Failure preparing request") + return + } + + resp, err := client.PostSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "authorization.ElevateAccessClient", "Post", resp, "Failure sending request") + return + } + + result, err = client.PostResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "authorization.ElevateAccessClient", "Post", resp, "Failure responding to request") + } + + return +} + +// PostPreparer prepares the Post request. +func (client ElevateAccessClient) PostPreparer(ctx context.Context) (*http.Request, error) { + const APIVersion = "2015-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/Microsoft.Authorization/elevateAccess"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// PostSender sends the Post request. The method will close the +// http.Response Body if it receives an error. +func (client ElevateAccessClient) PostSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req, + autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// PostResponder handles the response to the Post request. The method always +// closes the http.Response Body. +func (client ElevateAccessClient) PostResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +}