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 c158662f0fed..8fd2a92fb838 100644 --- a/profiles/2018-03-01/authorization/mgmt/authorization/authorizationapi/models.go +++ b/profiles/2018-03-01/authorization/mgmt/authorization/authorizationapi/models.go @@ -22,7 +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 GlobalAdministratorClientAPI = original.GlobalAdministratorClientAPI 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 46002606d646..ad116610e6a5 100644 --- a/profiles/2018-03-01/authorization/mgmt/authorization/models.go +++ b/profiles/2018-03-01/authorization/mgmt/authorization/models.go @@ -36,7 +36,7 @@ type ClassicAdministratorListResultIterator = original.ClassicAdministratorListR type ClassicAdministratorListResultPage = original.ClassicAdministratorListResultPage type ClassicAdministratorProperties = original.ClassicAdministratorProperties type ClassicAdministratorsClient = original.ClassicAdministratorsClient -type ElevateAccessClient = original.ElevateAccessClient +type GlobalAdministratorClient = original.GlobalAdministratorClient type Permission = original.Permission type PermissionGetResult = original.PermissionGetResult type PermissionGetResultIterator = original.PermissionGetResultIterator @@ -81,11 +81,11 @@ 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 NewGlobalAdministratorClient(subscriptionID string) GlobalAdministratorClient { + return original.NewGlobalAdministratorClient(subscriptionID) } -func NewElevateAccessClientWithBaseURI(baseURI string, subscriptionID string) ElevateAccessClient { - return original.NewElevateAccessClientWithBaseURI(baseURI, subscriptionID) +func NewGlobalAdministratorClientWithBaseURI(baseURI string, subscriptionID string) GlobalAdministratorClient { + return original.NewGlobalAdministratorClientWithBaseURI(baseURI, subscriptionID) } func NewPermissionGetResultIterator(page PermissionGetResultPage) PermissionGetResultIterator { return original.NewPermissionGetResultIterator(page) diff --git a/profiles/2019-03-01/authorization/mgmt/authorization/authorizationapi/models.go b/profiles/2019-03-01/authorization/mgmt/authorization/authorizationapi/models.go index c158662f0fed..8fd2a92fb838 100644 --- a/profiles/2019-03-01/authorization/mgmt/authorization/authorizationapi/models.go +++ b/profiles/2019-03-01/authorization/mgmt/authorization/authorizationapi/models.go @@ -22,7 +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 GlobalAdministratorClientAPI = original.GlobalAdministratorClientAPI type PermissionsClientAPI = original.PermissionsClientAPI type ProviderOperationsMetadataClientAPI = original.ProviderOperationsMetadataClientAPI type RoleAssignmentsClientAPI = original.RoleAssignmentsClientAPI diff --git a/profiles/2019-03-01/authorization/mgmt/authorization/models.go b/profiles/2019-03-01/authorization/mgmt/authorization/models.go index d5e72db1d86b..ff5ab96b272d 100644 --- a/profiles/2019-03-01/authorization/mgmt/authorization/models.go +++ b/profiles/2019-03-01/authorization/mgmt/authorization/models.go @@ -36,7 +36,7 @@ type ClassicAdministratorListResultIterator = original.ClassicAdministratorListR type ClassicAdministratorListResultPage = original.ClassicAdministratorListResultPage type ClassicAdministratorProperties = original.ClassicAdministratorProperties type ClassicAdministratorsClient = original.ClassicAdministratorsClient -type ElevateAccessClient = original.ElevateAccessClient +type GlobalAdministratorClient = original.GlobalAdministratorClient type Permission = original.Permission type PermissionGetResult = original.PermissionGetResult type PermissionGetResultIterator = original.PermissionGetResultIterator @@ -81,11 +81,11 @@ 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 NewGlobalAdministratorClient(subscriptionID string) GlobalAdministratorClient { + return original.NewGlobalAdministratorClient(subscriptionID) } -func NewElevateAccessClientWithBaseURI(baseURI string, subscriptionID string) ElevateAccessClient { - return original.NewElevateAccessClientWithBaseURI(baseURI, subscriptionID) +func NewGlobalAdministratorClientWithBaseURI(baseURI string, subscriptionID string) GlobalAdministratorClient { + return original.NewGlobalAdministratorClientWithBaseURI(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 c158662f0fed..8fd2a92fb838 100644 --- a/profiles/latest/authorization/mgmt/authorization/authorizationapi/models.go +++ b/profiles/latest/authorization/mgmt/authorization/authorizationapi/models.go @@ -22,7 +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 GlobalAdministratorClientAPI = original.GlobalAdministratorClientAPI 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 ee1a8988e00b..1ddd871dcbd4 100644 --- a/profiles/latest/authorization/mgmt/authorization/models.go +++ b/profiles/latest/authorization/mgmt/authorization/models.go @@ -36,7 +36,7 @@ type ClassicAdministratorListResultIterator = original.ClassicAdministratorListR type ClassicAdministratorListResultPage = original.ClassicAdministratorListResultPage type ClassicAdministratorProperties = original.ClassicAdministratorProperties type ClassicAdministratorsClient = original.ClassicAdministratorsClient -type ElevateAccessClient = original.ElevateAccessClient +type GlobalAdministratorClient = original.GlobalAdministratorClient type Permission = original.Permission type PermissionGetResult = original.PermissionGetResult type PermissionGetResultIterator = original.PermissionGetResultIterator @@ -81,11 +81,11 @@ 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 NewGlobalAdministratorClient(subscriptionID string) GlobalAdministratorClient { + return original.NewGlobalAdministratorClient(subscriptionID) } -func NewElevateAccessClientWithBaseURI(baseURI string, subscriptionID string) ElevateAccessClient { - return original.NewElevateAccessClientWithBaseURI(baseURI, subscriptionID) +func NewGlobalAdministratorClientWithBaseURI(baseURI string, subscriptionID string) GlobalAdministratorClient { + return original.NewGlobalAdministratorClientWithBaseURI(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 c158662f0fed..8fd2a92fb838 100644 --- a/profiles/preview/authorization/mgmt/authorization/authorizationapi/models.go +++ b/profiles/preview/authorization/mgmt/authorization/authorizationapi/models.go @@ -22,7 +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 GlobalAdministratorClientAPI = original.GlobalAdministratorClientAPI 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 87709903f96b..6367d9fc0821 100644 --- a/profiles/preview/authorization/mgmt/authorization/models.go +++ b/profiles/preview/authorization/mgmt/authorization/models.go @@ -36,7 +36,7 @@ type ClassicAdministratorListResultIterator = original.ClassicAdministratorListR type ClassicAdministratorListResultPage = original.ClassicAdministratorListResultPage type ClassicAdministratorProperties = original.ClassicAdministratorProperties type ClassicAdministratorsClient = original.ClassicAdministratorsClient -type ElevateAccessClient = original.ElevateAccessClient +type GlobalAdministratorClient = original.GlobalAdministratorClient type Permission = original.Permission type PermissionGetResult = original.PermissionGetResult type PermissionGetResultIterator = original.PermissionGetResultIterator @@ -81,11 +81,11 @@ 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 NewGlobalAdministratorClient(subscriptionID string) GlobalAdministratorClient { + return original.NewGlobalAdministratorClient(subscriptionID) } -func NewElevateAccessClientWithBaseURI(baseURI string, subscriptionID string) ElevateAccessClient { - return original.NewElevateAccessClientWithBaseURI(baseURI, subscriptionID) +func NewGlobalAdministratorClientWithBaseURI(baseURI string, subscriptionID string) GlobalAdministratorClient { + return original.NewGlobalAdministratorClientWithBaseURI(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 dc033aa2590f..8ae0b842b796 100644 --- a/services/authorization/mgmt/2015-07-01/authorization/authorizationapi/interfaces.go +++ b/services/authorization/mgmt/2015-07-01/authorization/authorizationapi/interfaces.go @@ -31,6 +31,17 @@ type PermissionsClientAPI interface { var _ PermissionsClientAPI = (*authorization.PermissionsClient)(nil) +// RoleDefinitionsClientAPI contains the set of methods on the RoleDefinitionsClient type. +type RoleDefinitionsClientAPI interface { + CreateOrUpdate(ctx context.Context, scope string, roleDefinitionID string, roleDefinition authorization.RoleDefinition) (result authorization.RoleDefinition, err error) + Delete(ctx context.Context, scope string, roleDefinitionID string) (result authorization.RoleDefinition, err error) + Get(ctx context.Context, scope string, roleDefinitionID string) (result authorization.RoleDefinition, err error) + GetByID(ctx context.Context, roleDefinitionID string) (result authorization.RoleDefinition, err error) + List(ctx context.Context, scope string, filter string) (result authorization.RoleDefinitionListResultPage, err error) +} + +var _ RoleDefinitionsClientAPI = (*authorization.RoleDefinitionsClient)(nil) + // ProviderOperationsMetadataClientAPI contains the set of methods on the ProviderOperationsMetadataClient type. type ProviderOperationsMetadataClientAPI interface { Get(ctx context.Context, resourceProviderNamespace string, expand string) (result authorization.ProviderOperationsMetadata, err error) @@ -39,6 +50,13 @@ type ProviderOperationsMetadataClientAPI interface { var _ ProviderOperationsMetadataClientAPI = (*authorization.ProviderOperationsMetadataClient)(nil) +// GlobalAdministratorClientAPI contains the set of methods on the GlobalAdministratorClient type. +type GlobalAdministratorClientAPI interface { + ElevateAccess(ctx context.Context) (result autorest.Response, err error) +} + +var _ GlobalAdministratorClientAPI = (*authorization.GlobalAdministratorClient)(nil) + // RoleAssignmentsClientAPI contains the set of methods on the RoleAssignmentsClient type. type RoleAssignmentsClientAPI interface { Create(ctx context.Context, scope string, roleAssignmentName string, parameters authorization.RoleAssignmentCreateParameters) (result authorization.RoleAssignment, err error) @@ -55,24 +73,6 @@ type RoleAssignmentsClientAPI interface { var _ RoleAssignmentsClientAPI = (*authorization.RoleAssignmentsClient)(nil) -// RoleDefinitionsClientAPI contains the set of methods on the RoleDefinitionsClient type. -type RoleDefinitionsClientAPI interface { - CreateOrUpdate(ctx context.Context, scope string, roleDefinitionID string, roleDefinition authorization.RoleDefinition) (result authorization.RoleDefinition, err error) - Delete(ctx context.Context, scope string, roleDefinitionID string) (result authorization.RoleDefinition, err error) - Get(ctx context.Context, scope string, roleDefinitionID string) (result authorization.RoleDefinition, err error) - GetByID(ctx context.Context, roleDefinitionID string) (result authorization.RoleDefinition, err error) - List(ctx context.Context, scope string, filter string) (result authorization.RoleDefinitionListResultPage, err error) -} - -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/globaladministrator.go similarity index 53% rename from services/authorization/mgmt/2015-07-01/authorization/elevateaccess.go rename to services/authorization/mgmt/2015-07-01/authorization/globaladministrator.go index fca0e3fdba2d..e1a09cdbd697 100644 --- a/services/authorization/mgmt/2015-07-01/authorization/elevateaccess.go +++ b/services/authorization/mgmt/2015-07-01/authorization/globaladministrator.go @@ -25,28 +25,28 @@ import ( "net/http" ) -// ElevateAccessClient is the role based access control provides you a way to apply granular level policy +// GlobalAdministratorClient 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 { +type GlobalAdministratorClient struct { BaseClient } -// NewElevateAccessClient creates an instance of the ElevateAccessClient client. -func NewElevateAccessClient(subscriptionID string) ElevateAccessClient { - return NewElevateAccessClientWithBaseURI(DefaultBaseURI, subscriptionID) +// NewGlobalAdministratorClient creates an instance of the GlobalAdministratorClient client. +func NewGlobalAdministratorClient(subscriptionID string) GlobalAdministratorClient { + return NewGlobalAdministratorClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewElevateAccessClientWithBaseURI creates an instance of the ElevateAccessClient client. -func NewElevateAccessClientWithBaseURI(baseURI string, subscriptionID string) ElevateAccessClient { - return ElevateAccessClient{NewWithBaseURI(baseURI, subscriptionID)} +// NewGlobalAdministratorClientWithBaseURI creates an instance of the GlobalAdministratorClient client. +func NewGlobalAdministratorClientWithBaseURI(baseURI string, subscriptionID string) GlobalAdministratorClient { + return GlobalAdministratorClient{NewWithBaseURI(baseURI, subscriptionID)} } -// Post elevates access for a Global Administrator. -func (client ElevateAccessClient) Post(ctx context.Context) (result autorest.Response, err error) { +// ElevateAccess elevates access for a Global Administrator. +func (client GlobalAdministratorClient) ElevateAccess(ctx context.Context) (result autorest.Response, err error) { if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ElevateAccessClient.Post") + ctx = tracing.StartSpan(ctx, fqdn+"/GlobalAdministratorClient.ElevateAccess") defer func() { sc := -1 if result.Response != nil { @@ -55,29 +55,29 @@ func (client ElevateAccessClient) Post(ctx context.Context) (result autorest.Res tracing.EndSpan(ctx, sc, err) }() } - req, err := client.PostPreparer(ctx) + req, err := client.ElevateAccessPreparer(ctx) if err != nil { - err = autorest.NewErrorWithError(err, "authorization.ElevateAccessClient", "Post", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authorization.GlobalAdministratorClient", "ElevateAccess", nil, "Failure preparing request") return } - resp, err := client.PostSender(req) + resp, err := client.ElevateAccessSender(req) if err != nil { result.Response = resp - err = autorest.NewErrorWithError(err, "authorization.ElevateAccessClient", "Post", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authorization.GlobalAdministratorClient", "ElevateAccess", resp, "Failure sending request") return } - result, err = client.PostResponder(resp) + result, err = client.ElevateAccessResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "authorization.ElevateAccessClient", "Post", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authorization.GlobalAdministratorClient", "ElevateAccess", resp, "Failure responding to request") } return } -// PostPreparer prepares the Post request. -func (client ElevateAccessClient) PostPreparer(ctx context.Context) (*http.Request, error) { +// ElevateAccessPreparer prepares the ElevateAccess request. +func (client GlobalAdministratorClient) ElevateAccessPreparer(ctx context.Context) (*http.Request, error) { const APIVersion = "2015-07-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, @@ -91,16 +91,16 @@ func (client ElevateAccessClient) PostPreparer(ctx context.Context) (*http.Reque return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// PostSender sends the Post request. The method will close the +// ElevateAccessSender sends the ElevateAccess request. The method will close the // http.Response Body if it receives an error. -func (client ElevateAccessClient) PostSender(req *http.Request) (*http.Response, error) { +func (client GlobalAdministratorClient) ElevateAccessSender(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 +// ElevateAccessResponder handles the response to the ElevateAccess request. The method always // closes the http.Response Body. -func (client ElevateAccessClient) PostResponder(resp *http.Response) (result autorest.Response, err error) { +func (client GlobalAdministratorClient) ElevateAccessResponder(resp *http.Response) (result autorest.Response, err error) { err = autorest.Respond( resp, client.ByInspecting(), diff --git a/services/authorization/mgmt/2015-07-01/authorization/models.go b/services/authorization/mgmt/2015-07-01/authorization/models.go index ffe7b85c26ec..b31301a38ed1 100644 --- a/services/authorization/mgmt/2015-07-01/authorization/models.go +++ b/services/authorization/mgmt/2015-07-01/authorization/models.go @@ -19,6 +19,7 @@ package authorization import ( "context" + "encoding/json" "github.com/Azure/go-autorest/autorest" "github.com/Azure/go-autorest/autorest/to" "github.com/Azure/go-autorest/tracing" @@ -36,8 +37,77 @@ type ClassicAdministrator struct { Name *string `json:"name,omitempty"` // Type - The type of the administrator. Type *string `json:"type,omitempty"` - // Properties - Properties for the classic administrator. - Properties *ClassicAdministratorProperties `json:"properties,omitempty"` + // ClassicAdministratorProperties - Properties for the classic administrator. + *ClassicAdministratorProperties `json:"properties,omitempty"` +} + +// MarshalJSON is the custom marshaler for ClassicAdministrator. +func (ca ClassicAdministrator) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ca.ID != nil { + objectMap["id"] = ca.ID + } + if ca.Name != nil { + objectMap["name"] = ca.Name + } + if ca.Type != nil { + objectMap["type"] = ca.Type + } + if ca.ClassicAdministratorProperties != nil { + objectMap["properties"] = ca.ClassicAdministratorProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ClassicAdministrator struct. +func (ca *ClassicAdministrator) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + ca.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ca.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ca.Type = &typeVar + } + case "properties": + if v != nil { + var classicAdministratorProperties ClassicAdministratorProperties + err = json.Unmarshal(*v, &classicAdministratorProperties) + if err != nil { + return err + } + ca.ClassicAdministratorProperties = &classicAdministratorProperties + } + } + } + + return nil } // ClassicAdministratorListResult classicAdministrator list result information. @@ -735,8 +805,68 @@ type RoleDefinition struct { Name *string `json:"name,omitempty"` // Type - READ-ONLY; The role definition type. Type *string `json:"type,omitempty"` - // Properties - Role definition properties. - Properties *RoleDefinitionProperties `json:"properties,omitempty"` + // RoleDefinitionProperties - Role definition properties. + *RoleDefinitionProperties `json:"properties,omitempty"` +} + +// MarshalJSON is the custom marshaler for RoleDefinition. +func (rd RoleDefinition) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if rd.RoleDefinitionProperties != nil { + objectMap["properties"] = rd.RoleDefinitionProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for RoleDefinition struct. +func (rd *RoleDefinition) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + rd.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + rd.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + rd.Type = &typeVar + } + case "properties": + if v != nil { + var roleDefinitionProperties RoleDefinitionProperties + err = json.Unmarshal(*v, &roleDefinitionProperties) + if err != nil { + return err + } + rd.RoleDefinitionProperties = &roleDefinitionProperties + } + } + } + + return nil } // RoleDefinitionFilter role Definitions filter @@ -897,8 +1027,8 @@ type RoleDefinitionProperties struct { RoleName *string `json:"roleName,omitempty"` // Description - The role definition description. Description *string `json:"description,omitempty"` - // Type - The role type. - Type *string `json:"type,omitempty"` + // RoleType - The role type. + RoleType *string `json:"type,omitempty"` // Permissions - Role definition permissions. Permissions *[]Permission `json:"permissions,omitempty"` // AssignableScopes - Role definition assignable scopes. diff --git a/services/preview/authorization/mgmt/2017-10-01-preview/authorization/authorizationapi/interfaces.go b/services/preview/authorization/mgmt/2017-10-01-preview/authorization/authorizationapi/interfaces.go index 22d37d70321a..42fee8b0533f 100644 --- a/services/preview/authorization/mgmt/2017-10-01-preview/authorization/authorizationapi/interfaces.go +++ b/services/preview/authorization/mgmt/2017-10-01-preview/authorization/authorizationapi/interfaces.go @@ -38,14 +38,6 @@ type PermissionsClientAPI interface { var _ PermissionsClientAPI = (*authorization.PermissionsClient)(nil) -// ProviderOperationsMetadataClientAPI contains the set of methods on the ProviderOperationsMetadataClient type. -type ProviderOperationsMetadataClientAPI interface { - Get(ctx context.Context, resourceProviderNamespace string, expand string) (result authorization.ProviderOperationsMetadata, err error) - List(ctx context.Context, expand string) (result authorization.ProviderOperationsMetadataListResultPage, err error) -} - -var _ ProviderOperationsMetadataClientAPI = (*authorization.ProviderOperationsMetadataClient)(nil) - // RoleDefinitionsClientAPI contains the set of methods on the RoleDefinitionsClient type. type RoleDefinitionsClientAPI interface { CreateOrUpdate(ctx context.Context, scope string, roleDefinitionID string, roleDefinition authorization.RoleDefinition) (result authorization.RoleDefinition, err error) @@ -57,6 +49,14 @@ type RoleDefinitionsClientAPI interface { var _ RoleDefinitionsClientAPI = (*authorization.RoleDefinitionsClient)(nil) +// ProviderOperationsMetadataClientAPI contains the set of methods on the ProviderOperationsMetadataClient type. +type ProviderOperationsMetadataClientAPI interface { + Get(ctx context.Context, resourceProviderNamespace string, expand string) (result authorization.ProviderOperationsMetadata, err error) + List(ctx context.Context, expand string) (result authorization.ProviderOperationsMetadataListResultPage, err error) +} + +var _ ProviderOperationsMetadataClientAPI = (*authorization.ProviderOperationsMetadataClient)(nil) + // GlobalAdministratorClientAPI contains the set of methods on the GlobalAdministratorClient type. type GlobalAdministratorClientAPI interface { ElevateAccess(ctx context.Context) (result autorest.Response, err error)