diff --git a/profiles/preview/preview/managedservices/mgmt/managedservices/managedservicesapi/models.go b/profiles/preview/preview/managedservices/mgmt/managedservices/managedservicesapi/models.go new file mode 100644 index 000000000000..22f388a9f4b0 --- /dev/null +++ b/profiles/preview/preview/managedservices/mgmt/managedservices/managedservicesapi/models.go @@ -0,0 +1,26 @@ +// +build go1.9 + +// Copyright 2019 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. + +// This code was auto-generated by: +// github.com/Azure/azure-sdk-for-go/tools/profileBuilder + +package managedservicesapi + +import original "github.com/Azure/azure-sdk-for-go/services/preview/managedservices/mgmt/2018-06-01/managedservices/managedservicesapi" + +type OperationsClientAPI = original.OperationsClientAPI +type RegistrationAssignmentsClientAPI = original.RegistrationAssignmentsClientAPI +type RegistrationDefinitionsClientAPI = original.RegistrationDefinitionsClientAPI diff --git a/profiles/preview/preview/managedservices/mgmt/managedservices/models.go b/profiles/preview/preview/managedservices/mgmt/managedservices/models.go new file mode 100644 index 000000000000..4f86b24226c4 --- /dev/null +++ b/profiles/preview/preview/managedservices/mgmt/managedservices/models.go @@ -0,0 +1,117 @@ +// +build go1.9 + +// Copyright 2019 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. + +// This code was auto-generated by: +// github.com/Azure/azure-sdk-for-go/tools/profileBuilder + +package managedservices + +import ( + "context" + + original "github.com/Azure/azure-sdk-for-go/services/preview/managedservices/mgmt/2018-06-01/managedservices" +) + +const ( + DefaultBaseURI = original.DefaultBaseURI +) + +type ProvisioningState = original.ProvisioningState + +const ( + Accepted ProvisioningState = original.Accepted + Canceled ProvisioningState = original.Canceled + Created ProvisioningState = original.Created + Creating ProvisioningState = original.Creating + Deleted ProvisioningState = original.Deleted + Deleting ProvisioningState = original.Deleting + Failed ProvisioningState = original.Failed + NotSpecified ProvisioningState = original.NotSpecified + Ready ProvisioningState = original.Ready + Running ProvisioningState = original.Running + Succeeded ProvisioningState = original.Succeeded + Updating ProvisioningState = original.Updating +) + +type Authorization = original.Authorization +type BaseClient = original.BaseClient +type ErrorResponse = original.ErrorResponse +type ErrorResponseError = original.ErrorResponseError +type Operation = original.Operation +type OperationDisplay = original.OperationDisplay +type OperationList = original.OperationList +type OperationsClient = original.OperationsClient +type Plan = original.Plan +type RegistrationAssignment = original.RegistrationAssignment +type RegistrationAssignmentList = original.RegistrationAssignmentList +type RegistrationAssignmentListIterator = original.RegistrationAssignmentListIterator +type RegistrationAssignmentListPage = original.RegistrationAssignmentListPage +type RegistrationAssignmentProperties = original.RegistrationAssignmentProperties +type RegistrationAssignmentPropertiesRegistrationDefinition = original.RegistrationAssignmentPropertiesRegistrationDefinition +type RegistrationAssignmentPropertiesRegistrationDefinitionProperties = original.RegistrationAssignmentPropertiesRegistrationDefinitionProperties +type RegistrationAssignmentsClient = original.RegistrationAssignmentsClient +type RegistrationDefinition = original.RegistrationDefinition +type RegistrationDefinitionList = original.RegistrationDefinitionList +type RegistrationDefinitionListIterator = original.RegistrationDefinitionListIterator +type RegistrationDefinitionListPage = original.RegistrationDefinitionListPage +type RegistrationDefinitionProperties = original.RegistrationDefinitionProperties +type RegistrationDefinitionsClient = original.RegistrationDefinitionsClient + +func New() BaseClient { + return original.New() +} +func NewOperationsClient() OperationsClient { + return original.NewOperationsClient() +} +func NewOperationsClientWithBaseURI(baseURI string) OperationsClient { + return original.NewOperationsClientWithBaseURI(baseURI) +} +func NewRegistrationAssignmentListIterator(page RegistrationAssignmentListPage) RegistrationAssignmentListIterator { + return original.NewRegistrationAssignmentListIterator(page) +} +func NewRegistrationAssignmentListPage(getNextPage func(context.Context, RegistrationAssignmentList) (RegistrationAssignmentList, error)) RegistrationAssignmentListPage { + return original.NewRegistrationAssignmentListPage(getNextPage) +} +func NewRegistrationAssignmentsClient() RegistrationAssignmentsClient { + return original.NewRegistrationAssignmentsClient() +} +func NewRegistrationAssignmentsClientWithBaseURI(baseURI string) RegistrationAssignmentsClient { + return original.NewRegistrationAssignmentsClientWithBaseURI(baseURI) +} +func NewRegistrationDefinitionListIterator(page RegistrationDefinitionListPage) RegistrationDefinitionListIterator { + return original.NewRegistrationDefinitionListIterator(page) +} +func NewRegistrationDefinitionListPage(getNextPage func(context.Context, RegistrationDefinitionList) (RegistrationDefinitionList, error)) RegistrationDefinitionListPage { + return original.NewRegistrationDefinitionListPage(getNextPage) +} +func NewRegistrationDefinitionsClient() RegistrationDefinitionsClient { + return original.NewRegistrationDefinitionsClient() +} +func NewRegistrationDefinitionsClientWithBaseURI(baseURI string) RegistrationDefinitionsClient { + return original.NewRegistrationDefinitionsClientWithBaseURI(baseURI) +} +func NewWithBaseURI(baseURI string) BaseClient { + return original.NewWithBaseURI(baseURI) +} +func PossibleProvisioningStateValues() []ProvisioningState { + return original.PossibleProvisioningStateValues() +} +func UserAgent() string { + return original.UserAgent() + " profiles/preview" +} +func Version() string { + return original.Version() +} diff --git a/services/preview/managedservices/mgmt/2018-06-01/managedservices/client.go b/services/preview/managedservices/mgmt/2018-06-01/managedservices/client.go new file mode 100644 index 000000000000..b11201e508e3 --- /dev/null +++ b/services/preview/managedservices/mgmt/2018-06-01/managedservices/client.go @@ -0,0 +1,49 @@ +// Package managedservices implements the Azure ARM Managedservices service API version 2018-06-01-preview. +// +// Specification for ManagedServices. +package managedservices + +// 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 Managedservices + DefaultBaseURI = "https://management.azure.com" +) + +// BaseClient is the base client for Managedservices. +type BaseClient struct { + autorest.Client + BaseURI string +} + +// New creates an instance of the BaseClient client. +func New() BaseClient { + return NewWithBaseURI(DefaultBaseURI) +} + +// NewWithBaseURI creates an instance of the BaseClient client. +func NewWithBaseURI(baseURI string) BaseClient { + return BaseClient{ + Client: autorest.NewClientWithUserAgent(UserAgent()), + BaseURI: baseURI, + } +} diff --git a/services/preview/managedservices/mgmt/2018-06-01/managedservices/managedservicesapi/interfaces.go b/services/preview/managedservices/mgmt/2018-06-01/managedservices/managedservicesapi/interfaces.go new file mode 100644 index 000000000000..75fbe78f2424 --- /dev/null +++ b/services/preview/managedservices/mgmt/2018-06-01/managedservices/managedservicesapi/interfaces.go @@ -0,0 +1,50 @@ +package managedservicesapi + +// 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/azure-sdk-for-go/services/preview/managedservices/mgmt/2018-06-01/managedservices" +) + +// RegistrationDefinitionsClientAPI contains the set of methods on the RegistrationDefinitionsClient type. +type RegistrationDefinitionsClientAPI interface { + CreateOrUpdate(ctx context.Context, registrationDefinitionID string, scope string, requestBody managedservices.RegistrationDefinition) (result managedservices.RegistrationDefinition, err error) + Delete(ctx context.Context, registrationDefinitionID string, scope string) (result managedservices.RegistrationDefinition, err error) + Get(ctx context.Context, scope string, registrationDefinitionID string) (result managedservices.RegistrationDefinition, err error) + List(ctx context.Context, scope string) (result managedservices.RegistrationDefinitionListPage, err error) +} + +var _ RegistrationDefinitionsClientAPI = (*managedservices.RegistrationDefinitionsClient)(nil) + +// RegistrationAssignmentsClientAPI contains the set of methods on the RegistrationAssignmentsClient type. +type RegistrationAssignmentsClientAPI interface { + CreateOrUpdate(ctx context.Context, scope string, registratonAssignmentID string, requestBody managedservices.RegistrationAssignment) (result managedservices.RegistrationAssignment, err error) + Delete(ctx context.Context, scope string, registratonAssignmentID string) (result managedservices.RegistrationAssignment, err error) + Get(ctx context.Context, scope string, registratonAssignmentID string, expandRegistrationDefinition *bool) (result managedservices.RegistrationAssignment, err error) + List(ctx context.Context, scope string, expandRegistrationDefinition *bool) (result managedservices.RegistrationAssignmentListPage, err error) +} + +var _ RegistrationAssignmentsClientAPI = (*managedservices.RegistrationAssignmentsClient)(nil) + +// OperationsClientAPI contains the set of methods on the OperationsClient type. +type OperationsClientAPI interface { + List(ctx context.Context) (result managedservices.OperationList, err error) +} + +var _ OperationsClientAPI = (*managedservices.OperationsClient)(nil) diff --git a/services/preview/managedservices/mgmt/2018-06-01/managedservices/models.go b/services/preview/managedservices/mgmt/2018-06-01/managedservices/models.go new file mode 100644 index 000000000000..a62e4d191836 --- /dev/null +++ b/services/preview/managedservices/mgmt/2018-06-01/managedservices/models.go @@ -0,0 +1,511 @@ +package managedservices + +// 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/to" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// The package's fully qualified name. +const fqdn = "github.com/Azure/azure-sdk-for-go/services/preview/managedservices/mgmt/2018-06-01/managedservices" + +// ProvisioningState enumerates the values for provisioning state. +type ProvisioningState string + +const ( + // Accepted ... + Accepted ProvisioningState = "Accepted" + // Canceled ... + Canceled ProvisioningState = "Canceled" + // Created ... + Created ProvisioningState = "Created" + // Creating ... + Creating ProvisioningState = "Creating" + // Deleted ... + Deleted ProvisioningState = "Deleted" + // Deleting ... + Deleting ProvisioningState = "Deleting" + // Failed ... + Failed ProvisioningState = "Failed" + // NotSpecified ... + NotSpecified ProvisioningState = "NotSpecified" + // Ready ... + Ready ProvisioningState = "Ready" + // Running ... + Running ProvisioningState = "Running" + // Succeeded ... + Succeeded ProvisioningState = "Succeeded" + // Updating ... + Updating ProvisioningState = "Updating" +) + +// PossibleProvisioningStateValues returns an array of possible values for the ProvisioningState const type. +func PossibleProvisioningStateValues() []ProvisioningState { + return []ProvisioningState{Accepted, Canceled, Created, Creating, Deleted, Deleting, Failed, NotSpecified, Ready, Running, Succeeded, Updating} +} + +// Authorization authorization tuple containing principal Id (of user/service principal/security group) and +// role definition id. +type Authorization struct { + // PrincipalID - Principal Id of the security group/service principal/user that would be assigned permissions to the projected subscription + PrincipalID *string `json:"principalId,omitempty"` + // RoleDefinitionID - The role definition identifier. This role will define all the permissions that the security group/service principal/user must have on the projected subscription. This role cannot be an owner role. + RoleDefinitionID *string `json:"roleDefinitionId,omitempty"` +} + +// ErrorResponse error response. +type ErrorResponse struct { + // Error - Error response indicates Azure Resource Manager is not able to process the incoming request. The reason is provided in the error message. + Error *ErrorResponseError `json:"error,omitempty"` +} + +// ErrorResponseError error response indicates Azure Resource Manager is not able to process the incoming +// request. The reason is provided in the error message. +type ErrorResponseError struct { + // Code - Error code. + Code *string `json:"code,omitempty"` + // Message - Error message indicating why the operation failed. + Message *string `json:"message,omitempty"` +} + +// Operation object that describes a single Microsoft.ManagedServices 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.ManagedServices + Provider *string `json:"provider,omitempty"` + // Resource - Resource on which the operation is performed: Registration definition, registration assignment etc. + Resource *string `json:"resource,omitempty"` + // Operation - Operation type: Read, write, delete, etc. + Operation *string `json:"operation,omitempty"` + // Description - Description of the operation. + Description *string `json:"description,omitempty"` +} + +// OperationList list of the operations. +type OperationList struct { + autorest.Response `json:"-"` + // Value - List of Microsoft.ManagedServices operations. + Value *[]Operation `json:"value,omitempty"` +} + +// Plan plan details for the managed services. +type Plan struct { + // Name - The plan name. + Name *string `json:"name,omitempty"` + // Publisher - The publisher ID. + Publisher *string `json:"publisher,omitempty"` + // Product - The product code. + Product *string `json:"product,omitempty"` + // Version - The plan's version. + Version *string `json:"version,omitempty"` +} + +// RegistrationAssignment registration assignment. +type RegistrationAssignment struct { + autorest.Response `json:"-"` + // Properties - Properties of a registration assignment. + Properties *RegistrationAssignmentProperties `json:"properties,omitempty"` + // ID - The fully qualified path of the registration assignment. + ID *string `json:"id,omitempty"` + // Type - Type of the resource. + Type *string `json:"type,omitempty"` + // Name - Name of the registration assignment. + Name *string `json:"name,omitempty"` +} + +// RegistrationAssignmentList list of registration assignments. +type RegistrationAssignmentList struct { + autorest.Response `json:"-"` + // Value - List of registration assignments. + Value *[]RegistrationAssignment `json:"value,omitempty"` + // NextLink - Link to next page of registration assignments. + NextLink *string `json:"nextLink,omitempty"` +} + +// RegistrationAssignmentListIterator provides access to a complete listing of RegistrationAssignment +// values. +type RegistrationAssignmentListIterator struct { + i int + page RegistrationAssignmentListPage +} + +// NextWithContext 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 *RegistrationAssignmentListIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RegistrationAssignmentListIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *RegistrationAssignmentListIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter RegistrationAssignmentListIterator) 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 RegistrationAssignmentListIterator) Response() RegistrationAssignmentList { + 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 RegistrationAssignmentListIterator) Value() RegistrationAssignment { + if !iter.page.NotDone() { + return RegistrationAssignment{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the RegistrationAssignmentListIterator type. +func NewRegistrationAssignmentListIterator(page RegistrationAssignmentListPage) RegistrationAssignmentListIterator { + return RegistrationAssignmentListIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (ral RegistrationAssignmentList) IsEmpty() bool { + return ral.Value == nil || len(*ral.Value) == 0 +} + +// registrationAssignmentListPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (ral RegistrationAssignmentList) registrationAssignmentListPreparer(ctx context.Context) (*http.Request, error) { + if ral.NextLink == nil || len(to.String(ral.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(ral.NextLink))) +} + +// RegistrationAssignmentListPage contains a page of RegistrationAssignment values. +type RegistrationAssignmentListPage struct { + fn func(context.Context, RegistrationAssignmentList) (RegistrationAssignmentList, error) + ral RegistrationAssignmentList +} + +// NextWithContext 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 *RegistrationAssignmentListPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RegistrationAssignmentListPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.ral) + if err != nil { + return err + } + page.ral = next + return nil +} + +// 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. +// Deprecated: Use NextWithContext() instead. +func (page *RegistrationAssignmentListPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page RegistrationAssignmentListPage) NotDone() bool { + return !page.ral.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page RegistrationAssignmentListPage) Response() RegistrationAssignmentList { + return page.ral +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page RegistrationAssignmentListPage) Values() []RegistrationAssignment { + if page.ral.IsEmpty() { + return nil + } + return *page.ral.Value +} + +// Creates a new instance of the RegistrationAssignmentListPage type. +func NewRegistrationAssignmentListPage(getNextPage func(context.Context, RegistrationAssignmentList) (RegistrationAssignmentList, error)) RegistrationAssignmentListPage { + return RegistrationAssignmentListPage{fn: getNextPage} +} + +// RegistrationAssignmentProperties properties of a registration assignment. +type RegistrationAssignmentProperties struct { + // RegistrationDefinitionID - Fully qualified path of the registration definition. + RegistrationDefinitionID *string `json:"registrationDefinitionId,omitempty"` + // ProvisioningState - Current state of the registration assignment. Possible values include: 'NotSpecified', 'Accepted', 'Running', 'Ready', 'Creating', 'Created', 'Deleting', 'Deleted', 'Canceled', 'Failed', 'Succeeded', 'Updating' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // RegistrationDefinition - Registration definition inside registration assignment. + RegistrationDefinition *RegistrationAssignmentPropertiesRegistrationDefinition `json:"registrationDefinition,omitempty"` +} + +// RegistrationAssignmentPropertiesRegistrationDefinition registration definition inside registration +// assignment. +type RegistrationAssignmentPropertiesRegistrationDefinition struct { + // Properties - Properties of registration definition inside registration assignment. + Properties *RegistrationAssignmentPropertiesRegistrationDefinitionProperties `json:"properties,omitempty"` + // Plan - Plan details for the managed services. + Plan *Plan `json:"plan,omitempty"` + // ID - Fully qualified path of the registration definition. + ID *string `json:"id,omitempty"` + // Type - Type of the resource (Microsoft.ManagedServices/registrationDefinitions). + Type *string `json:"type,omitempty"` + // Name - Name of the registration definition. + Name *string `json:"name,omitempty"` +} + +// RegistrationAssignmentPropertiesRegistrationDefinitionProperties properties of registration definition +// inside registration assignment. +type RegistrationAssignmentPropertiesRegistrationDefinitionProperties struct { + // Description - Description of the registration definition. + Description *string `json:"description,omitempty"` + // Authorizations - Authorization tuple containing principal id of the user/security group or service principal and id of the build-in role. + Authorizations *[]Authorization `json:"authorizations,omitempty"` + // RegistrationDefinitionName - Name of the registration definition. + RegistrationDefinitionName *string `json:"registrationDefinitionName,omitempty"` + // ProvisioningState - Current state of the registration definition. Possible values include: 'NotSpecified', 'Accepted', 'Running', 'Ready', 'Creating', 'Created', 'Deleting', 'Deleted', 'Canceled', 'Failed', 'Succeeded', 'Updating' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // ManageeTenantID - Id of the home tenant. + ManageeTenantID *string `json:"manageeTenantId,omitempty"` + // ManageeTenantName - Name of the home tenant. + ManageeTenantName *string `json:"manageeTenantName,omitempty"` + // ManagedByTenantID - Id of the managedBy tenant. + ManagedByTenantID *string `json:"managedByTenantId,omitempty"` + // ManagedByTenantName - Name of the managedBy tenant. + ManagedByTenantName *string `json:"managedByTenantName,omitempty"` +} + +// RegistrationDefinition registration definition. +type RegistrationDefinition struct { + autorest.Response `json:"-"` + // Properties - Properties of a registration definition. + Properties *RegistrationDefinitionProperties `json:"properties,omitempty"` + // Plan - Plan details for the managed services. + Plan *Plan `json:"plan,omitempty"` + // ID - Fully qualified path of the registration definition. + ID *string `json:"id,omitempty"` + // Type - Type of the resource. + Type *string `json:"type,omitempty"` + // Name - Name of the registration definition. + Name *string `json:"name,omitempty"` +} + +// RegistrationDefinitionList list of registration definitions. +type RegistrationDefinitionList struct { + autorest.Response `json:"-"` + // Value - List of registration definitions. + Value *[]RegistrationDefinition `json:"value,omitempty"` + // NextLink - Link to next page of registration definitions. + NextLink *string `json:"nextLink,omitempty"` +} + +// RegistrationDefinitionListIterator provides access to a complete listing of RegistrationDefinition +// values. +type RegistrationDefinitionListIterator struct { + i int + page RegistrationDefinitionListPage +} + +// NextWithContext 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 *RegistrationDefinitionListIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RegistrationDefinitionListIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *RegistrationDefinitionListIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter RegistrationDefinitionListIterator) 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 RegistrationDefinitionListIterator) Response() RegistrationDefinitionList { + 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 RegistrationDefinitionListIterator) Value() RegistrationDefinition { + if !iter.page.NotDone() { + return RegistrationDefinition{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the RegistrationDefinitionListIterator type. +func NewRegistrationDefinitionListIterator(page RegistrationDefinitionListPage) RegistrationDefinitionListIterator { + return RegistrationDefinitionListIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (rdl RegistrationDefinitionList) IsEmpty() bool { + return rdl.Value == nil || len(*rdl.Value) == 0 +} + +// registrationDefinitionListPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (rdl RegistrationDefinitionList) registrationDefinitionListPreparer(ctx context.Context) (*http.Request, error) { + if rdl.NextLink == nil || len(to.String(rdl.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(rdl.NextLink))) +} + +// RegistrationDefinitionListPage contains a page of RegistrationDefinition values. +type RegistrationDefinitionListPage struct { + fn func(context.Context, RegistrationDefinitionList) (RegistrationDefinitionList, error) + rdl RegistrationDefinitionList +} + +// NextWithContext 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 *RegistrationDefinitionListPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RegistrationDefinitionListPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.rdl) + if err != nil { + return err + } + page.rdl = next + return nil +} + +// 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. +// Deprecated: Use NextWithContext() instead. +func (page *RegistrationDefinitionListPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page RegistrationDefinitionListPage) NotDone() bool { + return !page.rdl.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page RegistrationDefinitionListPage) Response() RegistrationDefinitionList { + return page.rdl +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page RegistrationDefinitionListPage) Values() []RegistrationDefinition { + if page.rdl.IsEmpty() { + return nil + } + return *page.rdl.Value +} + +// Creates a new instance of the RegistrationDefinitionListPage type. +func NewRegistrationDefinitionListPage(getNextPage func(context.Context, RegistrationDefinitionList) (RegistrationDefinitionList, error)) RegistrationDefinitionListPage { + return RegistrationDefinitionListPage{fn: getNextPage} +} + +// RegistrationDefinitionProperties properties of a registration definition. +type RegistrationDefinitionProperties struct { + // Description - Description of the registration definition. + Description *string `json:"description,omitempty"` + // Authorizations - Authorization tuple containing principal id of the user/security group or service principal and id of the build-in role. + Authorizations *[]Authorization `json:"authorizations,omitempty"` + // RegistrationDefinitionName - Name of the registration definition. + RegistrationDefinitionName *string `json:"registrationDefinitionName,omitempty"` + // ManagedByTenantID - Id of the managedBy tenant. + ManagedByTenantID *string `json:"managedByTenantId,omitempty"` + // ProvisioningState - Current state of the registration definition. Possible values include: 'NotSpecified', 'Accepted', 'Running', 'Ready', 'Creating', 'Created', 'Deleting', 'Deleted', 'Canceled', 'Failed', 'Succeeded', 'Updating' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // ManagedByTenantName - Name of the managedBy tenant. + ManagedByTenantName *string `json:"managedByTenantName,omitempty"` +} diff --git a/services/preview/managedservices/mgmt/2018-06-01/managedservices/operations.go b/services/preview/managedservices/mgmt/2018-06-01/managedservices/operations.go new file mode 100644 index 000000000000..d06a9502b9fe --- /dev/null +++ b/services/preview/managedservices/mgmt/2018-06-01/managedservices/operations.go @@ -0,0 +1,109 @@ +package managedservices + +// 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" +) + +// OperationsClient is the specification for ManagedServices. +type OperationsClient struct { + BaseClient +} + +// NewOperationsClient creates an instance of the OperationsClient client. +func NewOperationsClient() OperationsClient { + return NewOperationsClientWithBaseURI(DefaultBaseURI) +} + +// NewOperationsClientWithBaseURI creates an instance of the OperationsClient client. +func NewOperationsClientWithBaseURI(baseURI string) OperationsClient { + return OperationsClient{NewWithBaseURI(baseURI)} +} + +// List gets a list of the operations. +func (client OperationsClient) List(ctx context.Context) (result OperationList, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OperationsClient.List") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "managedservices.OperationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "managedservices.OperationsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "managedservices.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 = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/Microsoft.ManagedServices/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 OperationList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/managedservices/mgmt/2018-06-01/managedservices/registrationassignments.go b/services/preview/managedservices/mgmt/2018-06-01/managedservices/registrationassignments.go new file mode 100644 index 000000000000..ae95926b4b86 --- /dev/null +++ b/services/preview/managedservices/mgmt/2018-06-01/managedservices/registrationassignments.go @@ -0,0 +1,411 @@ +package managedservices + +// 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" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// RegistrationAssignmentsClient is the specification for ManagedServices. +type RegistrationAssignmentsClient struct { + BaseClient +} + +// NewRegistrationAssignmentsClient creates an instance of the RegistrationAssignmentsClient client. +func NewRegistrationAssignmentsClient() RegistrationAssignmentsClient { + return NewRegistrationAssignmentsClientWithBaseURI(DefaultBaseURI) +} + +// NewRegistrationAssignmentsClientWithBaseURI creates an instance of the RegistrationAssignmentsClient client. +func NewRegistrationAssignmentsClientWithBaseURI(baseURI string) RegistrationAssignmentsClient { + return RegistrationAssignmentsClient{NewWithBaseURI(baseURI)} +} + +// CreateOrUpdate creates or updates a registration assignment. +// Parameters: +// scope - scope of the resource. +// registratonAssignmentID - guid of the registration assignment. +// requestBody - the parameters required to create new registration assignment. +func (client RegistrationAssignmentsClient) CreateOrUpdate(ctx context.Context, scope string, registratonAssignmentID string, requestBody RegistrationAssignment) (result RegistrationAssignment, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RegistrationAssignmentsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: requestBody, + Constraints: []validation.Constraint{{Target: "requestBody.Properties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "requestBody.Properties.RegistrationDefinitionID", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "requestBody.Properties.RegistrationDefinition", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "requestBody.Properties.RegistrationDefinition.Plan", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "requestBody.Properties.RegistrationDefinition.Plan.Name", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "requestBody.Properties.RegistrationDefinition.Plan.Publisher", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "requestBody.Properties.RegistrationDefinition.Plan.Product", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "requestBody.Properties.RegistrationDefinition.Plan.Version", Name: validation.Null, Rule: true, Chain: nil}, + }}, + }}, + }}}}}); err != nil { + return result, validation.NewError("managedservices.RegistrationAssignmentsClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, scope, registratonAssignmentID, requestBody) + if err != nil { + err = autorest.NewErrorWithError(err, "managedservices.RegistrationAssignmentsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "managedservices.RegistrationAssignmentsClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "managedservices.RegistrationAssignmentsClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client RegistrationAssignmentsClient) CreateOrUpdatePreparer(ctx context.Context, scope string, registratonAssignmentID string, requestBody RegistrationAssignment) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "registratonAssignmentId": autorest.Encode("path", registratonAssignmentID), + "scope": scope, + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{scope}/providers/Microsoft.ManagedServices/registrationAssignments/{registratonAssignmentId}", pathParameters), + autorest.WithJSON(requestBody), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client RegistrationAssignmentsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req, + autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client RegistrationAssignmentsClient) CreateOrUpdateResponder(resp *http.Response) (result RegistrationAssignment, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified registration assignment. +// Parameters: +// scope - scope of the resource. +// registratonAssignmentID - guid of the registration assignment. +func (client RegistrationAssignmentsClient) Delete(ctx context.Context, scope string, registratonAssignmentID string) (result RegistrationAssignment, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RegistrationAssignmentsClient.Delete") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, scope, registratonAssignmentID) + if err != nil { + err = autorest.NewErrorWithError(err, "managedservices.RegistrationAssignmentsClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "managedservices.RegistrationAssignmentsClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "managedservices.RegistrationAssignmentsClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client RegistrationAssignmentsClient) DeletePreparer(ctx context.Context, scope string, registratonAssignmentID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "registratonAssignmentId": autorest.Encode("path", registratonAssignmentID), + "scope": scope, + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{scope}/providers/Microsoft.ManagedServices/registrationAssignments/{registratonAssignmentId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client RegistrationAssignmentsClient) DeleteSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req, + autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client RegistrationAssignmentsClient) DeleteResponder(resp *http.Response) (result RegistrationAssignment, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get gets the details of specified registration assignment. +// Parameters: +// scope - scope of the resource. +// registratonAssignmentID - guid of the registration assignment. +// expandRegistrationDefinition - tells whether to return registration definition details also along with +// registration assignment details. +func (client RegistrationAssignmentsClient) Get(ctx context.Context, scope string, registratonAssignmentID string, expandRegistrationDefinition *bool) (result RegistrationAssignment, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RegistrationAssignmentsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, scope, registratonAssignmentID, expandRegistrationDefinition) + if err != nil { + err = autorest.NewErrorWithError(err, "managedservices.RegistrationAssignmentsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "managedservices.RegistrationAssignmentsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "managedservices.RegistrationAssignmentsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client RegistrationAssignmentsClient) GetPreparer(ctx context.Context, scope string, registratonAssignmentID string, expandRegistrationDefinition *bool) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "registratonAssignmentId": autorest.Encode("path", registratonAssignmentID), + "scope": scope, + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if expandRegistrationDefinition != nil { + queryParameters["$expandRegistrationDefinition"] = autorest.Encode("query", *expandRegistrationDefinition) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{scope}/providers/Microsoft.ManagedServices/registrationAssignments/{registratonAssignmentId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client RegistrationAssignmentsClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req, + autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client RegistrationAssignmentsClient) GetResponder(resp *http.Response) (result RegistrationAssignment, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets a list of the registration assignments. +// Parameters: +// scope - scope of the resource. +// expandRegistrationDefinition - tells whether to return registration definition details also along with +// registration assignment details. +func (client RegistrationAssignmentsClient) List(ctx context.Context, scope string, expandRegistrationDefinition *bool) (result RegistrationAssignmentListPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RegistrationAssignmentsClient.List") + defer func() { + sc := -1 + if result.ral.Response.Response != nil { + sc = result.ral.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, scope, expandRegistrationDefinition) + if err != nil { + err = autorest.NewErrorWithError(err, "managedservices.RegistrationAssignmentsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.ral.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "managedservices.RegistrationAssignmentsClient", "List", resp, "Failure sending request") + return + } + + result.ral, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "managedservices.RegistrationAssignmentsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client RegistrationAssignmentsClient) ListPreparer(ctx context.Context, scope string, expandRegistrationDefinition *bool) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "scope": scope, + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if expandRegistrationDefinition != nil { + queryParameters["$expandRegistrationDefinition"] = autorest.Encode("query", *expandRegistrationDefinition) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{scope}/providers/Microsoft.ManagedServices/registrationAssignments", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client RegistrationAssignmentsClient) 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 RegistrationAssignmentsClient) ListResponder(resp *http.Response) (result RegistrationAssignmentList, 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 RegistrationAssignmentsClient) listNextResults(ctx context.Context, lastResults RegistrationAssignmentList) (result RegistrationAssignmentList, err error) { + req, err := lastResults.registrationAssignmentListPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "managedservices.RegistrationAssignmentsClient", "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, "managedservices.RegistrationAssignmentsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "managedservices.RegistrationAssignmentsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client RegistrationAssignmentsClient) ListComplete(ctx context.Context, scope string, expandRegistrationDefinition *bool) (result RegistrationAssignmentListIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RegistrationAssignmentsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, scope, expandRegistrationDefinition) + return +} diff --git a/services/preview/managedservices/mgmt/2018-06-01/managedservices/registrationdefinitions.go b/services/preview/managedservices/mgmt/2018-06-01/managedservices/registrationdefinitions.go new file mode 100644 index 000000000000..7054f333e3d5 --- /dev/null +++ b/services/preview/managedservices/mgmt/2018-06-01/managedservices/registrationdefinitions.go @@ -0,0 +1,400 @@ +package managedservices + +// 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" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// RegistrationDefinitionsClient is the specification for ManagedServices. +type RegistrationDefinitionsClient struct { + BaseClient +} + +// NewRegistrationDefinitionsClient creates an instance of the RegistrationDefinitionsClient client. +func NewRegistrationDefinitionsClient() RegistrationDefinitionsClient { + return NewRegistrationDefinitionsClientWithBaseURI(DefaultBaseURI) +} + +// NewRegistrationDefinitionsClientWithBaseURI creates an instance of the RegistrationDefinitionsClient client. +func NewRegistrationDefinitionsClientWithBaseURI(baseURI string) RegistrationDefinitionsClient { + return RegistrationDefinitionsClient{NewWithBaseURI(baseURI)} +} + +// CreateOrUpdate creates or updates a registration definition. +// Parameters: +// registrationDefinitionID - guid of the registration definition. +// scope - scope of the resource. +// requestBody - the parameters required to create new registration definition. +func (client RegistrationDefinitionsClient) CreateOrUpdate(ctx context.Context, registrationDefinitionID string, scope string, requestBody RegistrationDefinition) (result RegistrationDefinition, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RegistrationDefinitionsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: requestBody, + Constraints: []validation.Constraint{{Target: "requestBody.Properties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "requestBody.Properties.Authorizations", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "requestBody.Properties.ManagedByTenantID", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "requestBody.Plan", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "requestBody.Plan.Name", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "requestBody.Plan.Publisher", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "requestBody.Plan.Product", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "requestBody.Plan.Version", Name: validation.Null, Rule: true, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("managedservices.RegistrationDefinitionsClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, registrationDefinitionID, scope, requestBody) + if err != nil { + err = autorest.NewErrorWithError(err, "managedservices.RegistrationDefinitionsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "managedservices.RegistrationDefinitionsClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "managedservices.RegistrationDefinitionsClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client RegistrationDefinitionsClient) CreateOrUpdatePreparer(ctx context.Context, registrationDefinitionID string, scope string, requestBody RegistrationDefinition) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "registrationDefinitionId": autorest.Encode("path", registrationDefinitionID), + "scope": scope, + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{scope}/providers/Microsoft.ManagedServices/registrationDefinitions/{registrationDefinitionId}", pathParameters), + autorest.WithJSON(requestBody), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client RegistrationDefinitionsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req, + autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client RegistrationDefinitionsClient) CreateOrUpdateResponder(resp *http.Response) (result RegistrationDefinition, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the registration definition. +// Parameters: +// registrationDefinitionID - guid of the registration definition. +// scope - scope of the resource. +func (client RegistrationDefinitionsClient) Delete(ctx context.Context, registrationDefinitionID string, scope string) (result RegistrationDefinition, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RegistrationDefinitionsClient.Delete") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, registrationDefinitionID, scope) + if err != nil { + err = autorest.NewErrorWithError(err, "managedservices.RegistrationDefinitionsClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "managedservices.RegistrationDefinitionsClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "managedservices.RegistrationDefinitionsClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client RegistrationDefinitionsClient) DeletePreparer(ctx context.Context, registrationDefinitionID string, scope string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "registrationDefinitionId": autorest.Encode("path", registrationDefinitionID), + "scope": scope, + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{scope}/providers/Microsoft.ManagedServices/registrationDefinitions/{registrationDefinitionId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client RegistrationDefinitionsClient) DeleteSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req, + autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client RegistrationDefinitionsClient) DeleteResponder(resp *http.Response) (result RegistrationDefinition, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get gets the registration definition details. +// Parameters: +// scope - scope of the resource. +// registrationDefinitionID - guid of the registration definition. +func (client RegistrationDefinitionsClient) Get(ctx context.Context, scope string, registrationDefinitionID string) (result RegistrationDefinition, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RegistrationDefinitionsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, scope, registrationDefinitionID) + if err != nil { + err = autorest.NewErrorWithError(err, "managedservices.RegistrationDefinitionsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "managedservices.RegistrationDefinitionsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "managedservices.RegistrationDefinitionsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client RegistrationDefinitionsClient) GetPreparer(ctx context.Context, scope string, registrationDefinitionID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "registrationDefinitionId": autorest.Encode("path", registrationDefinitionID), + "scope": scope, + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{scope}/providers/Microsoft.ManagedServices/registrationDefinitions/{registrationDefinitionId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client RegistrationDefinitionsClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req, + autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client RegistrationDefinitionsClient) GetResponder(resp *http.Response) (result RegistrationDefinition, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets a list of the registration definitions. +// Parameters: +// scope - scope of the resource. +func (client RegistrationDefinitionsClient) List(ctx context.Context, scope string) (result RegistrationDefinitionListPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RegistrationDefinitionsClient.List") + defer func() { + sc := -1 + if result.rdl.Response.Response != nil { + sc = result.rdl.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, scope) + if err != nil { + err = autorest.NewErrorWithError(err, "managedservices.RegistrationDefinitionsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.rdl.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "managedservices.RegistrationDefinitionsClient", "List", resp, "Failure sending request") + return + } + + result.rdl, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "managedservices.RegistrationDefinitionsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client RegistrationDefinitionsClient) ListPreparer(ctx context.Context, scope string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "scope": scope, + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{scope}/providers/Microsoft.ManagedServices/registrationDefinitions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client RegistrationDefinitionsClient) 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 RegistrationDefinitionsClient) ListResponder(resp *http.Response) (result RegistrationDefinitionList, 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 RegistrationDefinitionsClient) listNextResults(ctx context.Context, lastResults RegistrationDefinitionList) (result RegistrationDefinitionList, err error) { + req, err := lastResults.registrationDefinitionListPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "managedservices.RegistrationDefinitionsClient", "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, "managedservices.RegistrationDefinitionsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "managedservices.RegistrationDefinitionsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client RegistrationDefinitionsClient) ListComplete(ctx context.Context, scope string) (result RegistrationDefinitionListIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RegistrationDefinitionsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, scope) + return +} diff --git a/services/preview/managedservices/mgmt/2018-06-01/managedservices/version.go b/services/preview/managedservices/mgmt/2018-06-01/managedservices/version.go new file mode 100644 index 000000000000..643191c6adeb --- /dev/null +++ b/services/preview/managedservices/mgmt/2018-06-01/managedservices/version.go @@ -0,0 +1,30 @@ +package managedservices + +import "github.com/Azure/azure-sdk-for-go/version" + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +// UserAgent returns the UserAgent string to use when sending http.Requests. +func UserAgent() string { + return "Azure-SDK-For-Go/" + version.Number + " managedservices/2018-06-01-preview" +} + +// Version returns the semantic version (see http://semver.org) of the client. +func Version() string { + return version.Number +}