diff --git a/services/preview/eventgrid/mgmt/2020-04-01-preview/eventgrid/eventchannels.go b/services/preview/eventgrid/mgmt/2020-04-01-preview/eventgrid/eventchannels.go index fb2c8607efe8..a177d56b9af7 100644 --- a/services/preview/eventgrid/mgmt/2020-04-01-preview/eventgrid/eventchannels.go +++ b/services/preview/eventgrid/mgmt/2020-04-01-preview/eventgrid/eventchannels.go @@ -127,13 +127,13 @@ func (client EventChannelsClient) CreateOrUpdateResponder(resp *http.Response) ( // resourceGroupName - the name of the resource group within the user's subscription. // partnerNamespaceName - name of the partner namespace. // eventChannelName - name of the event channel. -func (client EventChannelsClient) Delete(ctx context.Context, resourceGroupName string, partnerNamespaceName string, eventChannelName string) (result autorest.Response, err error) { +func (client EventChannelsClient) Delete(ctx context.Context, resourceGroupName string, partnerNamespaceName string, eventChannelName string) (result EventChannelsDeleteFuture, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/EventChannelsClient.Delete") defer func() { sc := -1 - if result.Response != nil { - sc = result.Response.StatusCode + if result.Response() != nil { + sc = result.Response().StatusCode } tracing.EndSpan(ctx, sc, err) }() @@ -144,18 +144,12 @@ func (client EventChannelsClient) Delete(ctx context.Context, resourceGroupName return } - resp, err := client.DeleteSender(req) + result, err = client.DeleteSender(req) if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "eventgrid.EventChannelsClient", "Delete", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "eventgrid.EventChannelsClient", "Delete", result.Response(), "Failure sending request") return } - result, err = client.DeleteResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "eventgrid.EventChannelsClient", "Delete", resp, "Failure responding to request") - } - return } @@ -183,8 +177,14 @@ func (client EventChannelsClient) DeletePreparer(ctx context.Context, resourceGr // DeleteSender sends the Delete request. The method will close the // http.Response Body if it receives an error. -func (client EventChannelsClient) DeleteSender(req *http.Request) (*http.Response, error) { - return client.Send(req, azure.DoRetryWithRegistration(client.Client)) +func (client EventChannelsClient) DeleteSender(req *http.Request) (future EventChannelsDeleteFuture, err error) { + var resp *http.Response + resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client)) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return } // DeleteResponder handles the response to the Delete request. The method always diff --git a/services/preview/eventgrid/mgmt/2020-04-01-preview/eventgrid/eventgridapi/interfaces.go b/services/preview/eventgrid/mgmt/2020-04-01-preview/eventgrid/eventgridapi/interfaces.go index 2fcbdbbb416a..71b4bf5fa4ff 100644 --- a/services/preview/eventgrid/mgmt/2020-04-01-preview/eventgrid/eventgridapi/interfaces.go +++ b/services/preview/eventgrid/mgmt/2020-04-01-preview/eventgrid/eventgridapi/interfaces.go @@ -53,7 +53,7 @@ var _ DomainTopicsClientAPI = (*eventgrid.DomainTopicsClient)(nil) // EventChannelsClientAPI contains the set of methods on the EventChannelsClient type. type EventChannelsClientAPI interface { CreateOrUpdate(ctx context.Context, resourceGroupName string, partnerNamespaceName string, eventChannelName string, eventChannelInfo eventgrid.EventChannel) (result eventgrid.EventChannel, err error) - Delete(ctx context.Context, resourceGroupName string, partnerNamespaceName string, eventChannelName string) (result autorest.Response, err error) + Delete(ctx context.Context, resourceGroupName string, partnerNamespaceName string, eventChannelName string) (result eventgrid.EventChannelsDeleteFuture, err error) Get(ctx context.Context, resourceGroupName string, partnerNamespaceName string, eventChannelName string) (result eventgrid.EventChannel, err error) ListByPartnerNamespace(ctx context.Context, resourceGroupName string, partnerNamespaceName string, filter string, top *int32) (result eventgrid.EventChannelsListResultPage, err error) ListByPartnerNamespaceComplete(ctx context.Context, resourceGroupName string, partnerNamespaceName string, filter string, top *int32) (result eventgrid.EventChannelsListResultIterator, err error) @@ -98,7 +98,8 @@ type SystemTopicEventSubscriptionsClientAPI interface { Delete(ctx context.Context, resourceGroupName string, systemTopicName string, eventSubscriptionName string) (result eventgrid.SystemTopicEventSubscriptionsDeleteFuture, err error) Get(ctx context.Context, resourceGroupName string, systemTopicName string, eventSubscriptionName string) (result eventgrid.EventSubscription, err error) GetFullURL(ctx context.Context, resourceGroupName string, systemTopicName string, eventSubscriptionName string) (result eventgrid.EventSubscriptionFullURL, err error) - ListBySystemTopic(ctx context.Context, resourceGroupName string, systemTopicName string) (result eventgrid.EventSubscriptionsListResult, err error) + ListBySystemTopic(ctx context.Context, resourceGroupName string, systemTopicName string, filter string, top *int32) (result eventgrid.EventSubscriptionsListResultPage, err error) + ListBySystemTopicComplete(ctx context.Context, resourceGroupName string, systemTopicName string, filter string, top *int32) (result eventgrid.EventSubscriptionsListResultIterator, err error) Update(ctx context.Context, resourceGroupName string, systemTopicName string, eventSubscriptionName string, eventSubscriptionUpdateParameters eventgrid.EventSubscriptionUpdateParameters) (result eventgrid.SystemTopicEventSubscriptionsUpdateFuture, err error) } @@ -110,7 +111,8 @@ type PartnerTopicEventSubscriptionsClientAPI interface { Delete(ctx context.Context, resourceGroupName string, partnerTopicName string, eventSubscriptionName string) (result eventgrid.PartnerTopicEventSubscriptionsDeleteFuture, err error) Get(ctx context.Context, resourceGroupName string, partnerTopicName string, eventSubscriptionName string) (result eventgrid.EventSubscription, err error) GetFullURL(ctx context.Context, resourceGroupName string, partnerTopicName string, eventSubscriptionName string) (result eventgrid.EventSubscriptionFullURL, err error) - ListByPartnerTopic(ctx context.Context, resourceGroupName string, partnerTopicName string) (result eventgrid.EventSubscriptionsListResult, err error) + ListByPartnerTopic(ctx context.Context, resourceGroupName string, partnerTopicName string, filter string, top *int32) (result eventgrid.EventSubscriptionsListResultPage, err error) + ListByPartnerTopicComplete(ctx context.Context, resourceGroupName string, partnerTopicName string, filter string, top *int32) (result eventgrid.EventSubscriptionsListResultIterator, err error) Update(ctx context.Context, resourceGroupName string, partnerTopicName string, eventSubscriptionName string, eventSubscriptionUpdateParameters eventgrid.EventSubscriptionUpdateParameters) (result eventgrid.PartnerTopicEventSubscriptionsUpdateFuture, err error) } @@ -175,7 +177,7 @@ type PrivateEndpointConnectionsClientAPI interface { Get(ctx context.Context, resourceGroupName string, parentType string, parentName string, privateEndpointConnectionName string) (result eventgrid.PrivateEndpointConnection, err error) ListByResource(ctx context.Context, resourceGroupName string, parentType string, parentName string, filter string, top *int32) (result eventgrid.PrivateEndpointConnectionListResultPage, err error) ListByResourceComplete(ctx context.Context, resourceGroupName string, parentType string, parentName string, filter string, top *int32) (result eventgrid.PrivateEndpointConnectionListResultIterator, err error) - Update(ctx context.Context, resourceGroupName string, parentType string, parentName string, privateEndpointConnectionName string) (result eventgrid.PrivateEndpointConnectionsUpdateFuture, err error) + Update(ctx context.Context, resourceGroupName string, parentType string, parentName string, privateEndpointConnectionName string, privateEndpointConnection eventgrid.PrivateEndpointConnection) (result eventgrid.PrivateEndpointConnectionsUpdateFuture, err error) } var _ PrivateEndpointConnectionsClientAPI = (*eventgrid.PrivateEndpointConnectionsClient)(nil) diff --git a/services/preview/eventgrid/mgmt/2020-04-01-preview/eventgrid/models.go b/services/preview/eventgrid/mgmt/2020-04-01-preview/eventgrid/models.go index d9bfdd107de5..e4b31240b8ef 100644 --- a/services/preview/eventgrid/mgmt/2020-04-01-preview/eventgrid/models.go +++ b/services/preview/eventgrid/mgmt/2020-04-01-preview/eventgrid/models.go @@ -956,7 +956,7 @@ func (beaf BoolEqualsAdvancedFilter) AsBasicAdvancedFilter() (BasicAdvancedFilte return &beaf, true } -// ConnectionState connectionState Information. +// ConnectionState connectionState information. type ConnectionState struct { // Status - Status of the connection. Possible values include: 'Pending', 'Approved', 'Rejected', 'Disconnected' Status PersistedConnectionStatus `json:"status,omitempty"` @@ -2058,6 +2058,82 @@ type EventChannelDestination struct { PartnerTopicName *string `json:"partnerTopicName,omitempty"` } +// EventChannelFilter filter for the Event Channel. +type EventChannelFilter struct { + // SubjectBeginsWith - An optional string to filter events for an event channel based on a resource path prefix. + // The format of this depends on the publisher of the events. Wildcard characters are not supported in this path. + SubjectBeginsWith *string `json:"subjectBeginsWith,omitempty"` + // SubjectEndsWith - An optional string to filter events for an event channel based on a resource path suffix. + // Wildcard characters are not supported in this path. + SubjectEndsWith *string `json:"subjectEndsWith,omitempty"` + // IncludedEventTypes - A list of applicable event types that need to be part of the event channel. If it is desired to subscribe to all default event types, set the IncludedEventTypes to null. + IncludedEventTypes *[]string `json:"includedEventTypes,omitempty"` + // IsSubjectCaseSensitive - Specifies if the SubjectBeginsWith and SubjectEndsWith properties of the filter + // should be compared in a case sensitive manner. + IsSubjectCaseSensitive *bool `json:"isSubjectCaseSensitive,omitempty"` + // AdvancedFilters - An array of advanced filters that are used for filtering event channels. + AdvancedFilters *[]BasicAdvancedFilter `json:"advancedFilters,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for EventChannelFilter struct. +func (ecf *EventChannelFilter) 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 "subjectBeginsWith": + if v != nil { + var subjectBeginsWith string + err = json.Unmarshal(*v, &subjectBeginsWith) + if err != nil { + return err + } + ecf.SubjectBeginsWith = &subjectBeginsWith + } + case "subjectEndsWith": + if v != nil { + var subjectEndsWith string + err = json.Unmarshal(*v, &subjectEndsWith) + if err != nil { + return err + } + ecf.SubjectEndsWith = &subjectEndsWith + } + case "includedEventTypes": + if v != nil { + var includedEventTypes []string + err = json.Unmarshal(*v, &includedEventTypes) + if err != nil { + return err + } + ecf.IncludedEventTypes = &includedEventTypes + } + case "isSubjectCaseSensitive": + if v != nil { + var isSubjectCaseSensitive bool + err = json.Unmarshal(*v, &isSubjectCaseSensitive) + if err != nil { + return err + } + ecf.IsSubjectCaseSensitive = &isSubjectCaseSensitive + } + case "advancedFilters": + if v != nil { + advancedFilters, err := unmarshalBasicAdvancedFilterArray(*v) + if err != nil { + return err + } + ecf.AdvancedFilters = &advancedFilters + } + } + } + + return nil +} + // EventChannelProperties properties of the Event Channel. type EventChannelProperties struct { // Source - Source of the event channel. This represents a unique resource in the partner's resource model. @@ -2066,6 +2142,31 @@ type EventChannelProperties struct { Destination *EventChannelDestination `json:"destination,omitempty"` // ProvisioningState - READ-ONLY; Provisioning state of the event channel. Possible values include: 'EventChannelProvisioningStateCreating', 'EventChannelProvisioningStateUpdating', 'EventChannelProvisioningStateDeleting', 'EventChannelProvisioningStateSucceeded', 'EventChannelProvisioningStateCanceled', 'EventChannelProvisioningStateFailed' ProvisioningState EventChannelProvisioningState `json:"provisioningState,omitempty"` + // Filter - Information about the filter for the event channel. + Filter *EventChannelFilter `json:"filter,omitempty"` +} + +// EventChannelsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type EventChannelsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *EventChannelsDeleteFuture) Result(client EventChannelsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.EventChannelsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("eventgrid.EventChannelsDeleteFuture") + return + } + ar.Response = future.Response() + return } // EventChannelsListResult result of the List Event Channels operation @@ -4880,6 +4981,8 @@ func NewPartnerRegistrationsListResultPage(getNextPage func(context.Context, Par // PartnerRegistrationUpdateParameters properties of the Partner Registration update. type PartnerRegistrationUpdateParameters struct { + // Tags - Tags of the partner registration resource. + Tags map[string]*string `json:"tags"` // PartnerTopicTypeName - Name of the partner topic type. PartnerTopicTypeName *string `json:"partnerTopicTypeName,omitempty"` // PartnerTopicTypeDisplayName - Display name of the partner topic type. @@ -4898,6 +5001,33 @@ type PartnerRegistrationUpdateParameters struct { AuthorizedAzureSubscriptionIds *[]string `json:"authorizedAzureSubscriptionIds,omitempty"` } +// MarshalJSON is the custom marshaler for PartnerRegistrationUpdateParameters. +func (prup PartnerRegistrationUpdateParameters) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if prup.Tags != nil { + objectMap["tags"] = prup.Tags + } + if prup.PartnerTopicTypeName != nil { + objectMap["partnerTopicTypeName"] = prup.PartnerTopicTypeName + } + if prup.PartnerTopicTypeDisplayName != nil { + objectMap["partnerTopicTypeDisplayName"] = prup.PartnerTopicTypeDisplayName + } + if prup.PartnerTopicTypeDescription != nil { + objectMap["partnerTopicTypeDescription"] = prup.PartnerTopicTypeDescription + } + if prup.SetupURI != nil { + objectMap["setupUri"] = prup.SetupURI + } + if prup.LogoURI != nil { + objectMap["logoUri"] = prup.LogoURI + } + if prup.AuthorizedAzureSubscriptionIds != nil { + objectMap["authorizedAzureSubscriptionIds"] = prup.AuthorizedAzureSubscriptionIds + } + return json.Marshal(objectMap) +} + // PartnerTopic eventGrid Partner Topic. type PartnerTopic struct { autorest.Response `json:"-"` @@ -5376,7 +5506,7 @@ type PrivateEndpoint struct { ID *string `json:"id,omitempty"` } -// PrivateEndpointConnection privateEndpointConnection resource information. +// PrivateEndpointConnection ... type PrivateEndpointConnection struct { autorest.Response `json:"-"` // PrivateEndpointConnectionProperties - Properties of the PrivateEndpointConnection. @@ -5596,7 +5726,7 @@ func NewPrivateEndpointConnectionListResultPage(getNextPage func(context.Context return PrivateEndpointConnectionListResultPage{fn: getNextPage} } -// PrivateEndpointConnectionProperties properties of the private endpoint connection resource +// PrivateEndpointConnectionProperties properties of the private endpoint connection resource. type PrivateEndpointConnectionProperties struct { // PrivateEndpoint - The Private Endpoint resource for this Connection. PrivateEndpoint *PrivateEndpoint `json:"privateEndpoint,omitempty"` @@ -6136,22 +6266,6 @@ type ServiceBusTopicEventSubscriptionDestinationProperties struct { ResourceID *string `json:"resourceId,omitempty"` } -// SkuDefinitionsForResourceType describes an EventGrid Resource Sku Definition. -type SkuDefinitionsForResourceType struct { - // ResourceType - The Resource Type applicable for the Sku. - ResourceType *string `json:"resourceType,omitempty"` - // Skus - The Sku pricing tiers for the resource type. - Skus *[]ResourceSku `json:"skus,omitempty"` -} - -// SkuDefinitionsForResourceTypeListResult list collection of Sku Definitions for each Resource Type. -type SkuDefinitionsForResourceTypeListResult struct { - // Value - A collection of Sku Definitions for each Resource Type. - Value *[]SkuDefinitionsForResourceType `json:"value,omitempty"` - // NextLink - A link for the next page of Sku Definitions. - NextLink *string `json:"nextLink,omitempty"` -} - // StorageBlobDeadLetterDestination information about the storage blob based dead letter destination. type StorageBlobDeadLetterDestination struct { // StorageBlobDeadLetterDestinationProperties - The properties of the Storage Blob based deadletter destination @@ -7384,7 +7498,6 @@ func (t *Topic) UnmarshalJSON(body []byte) error { // TopicProperties properties of the Topic type TopicProperties struct { - // PrivateEndpointConnections - List of private endpoint connections. PrivateEndpointConnections *[]PrivateEndpointConnection `json:"privateEndpointConnections,omitempty"` // ProvisioningState - READ-ONLY; Provisioning state of the topic. Possible values include: 'TopicProvisioningStateCreating', 'TopicProvisioningStateUpdating', 'TopicProvisioningStateDeleting', 'TopicProvisioningStateSucceeded', 'TopicProvisioningStateCanceled', 'TopicProvisioningStateFailed' ProvisioningState TopicProvisioningState `json:"provisioningState,omitempty"` diff --git a/services/preview/eventgrid/mgmt/2020-04-01-preview/eventgrid/partnertopiceventsubscriptions.go b/services/preview/eventgrid/mgmt/2020-04-01-preview/eventgrid/partnertopiceventsubscriptions.go index 10bfe061cb73..e671270460ec 100644 --- a/services/preview/eventgrid/mgmt/2020-04-01-preview/eventgrid/partnertopiceventsubscriptions.go +++ b/services/preview/eventgrid/mgmt/2020-04-01-preview/eventgrid/partnertopiceventsubscriptions.go @@ -365,18 +365,27 @@ func (client PartnerTopicEventSubscriptionsClient) GetFullURLResponder(resp *htt // Parameters: // resourceGroupName - the name of the resource group within the user's subscription. // partnerTopicName - name of the partner topic. -func (client PartnerTopicEventSubscriptionsClient) ListByPartnerTopic(ctx context.Context, resourceGroupName string, partnerTopicName string) (result EventSubscriptionsListResult, err error) { +// filter - the query used to filter the search results using OData syntax. Filtering is permitted on the +// 'name' property only and with limited number of OData operations. These operations are: the 'contains' +// function as well as the following logical operations: not, and, or, eq (for equal), and ne (for not equal). +// No arithmetic operations are supported. The following is a valid filter example: $filter=contains(namE, +// 'PATTERN') and name ne 'PATTERN-1'. The following is not a valid filter example: $filter=location eq +// 'westus'. +// top - the number of results to return per page for the list operation. Valid range for top parameter is 1 to +// 100. If not specified, the default number of results to be returned is 20 items per page. +func (client PartnerTopicEventSubscriptionsClient) ListByPartnerTopic(ctx context.Context, resourceGroupName string, partnerTopicName string, filter string, top *int32) (result EventSubscriptionsListResultPage, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/PartnerTopicEventSubscriptionsClient.ListByPartnerTopic") defer func() { sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode + if result.eslr.Response.Response != nil { + sc = result.eslr.Response.Response.StatusCode } tracing.EndSpan(ctx, sc, err) }() } - req, err := client.ListByPartnerTopicPreparer(ctx, resourceGroupName, partnerTopicName) + result.fn = client.listByPartnerTopicNextResults + req, err := client.ListByPartnerTopicPreparer(ctx, resourceGroupName, partnerTopicName, filter, top) if err != nil { err = autorest.NewErrorWithError(err, "eventgrid.PartnerTopicEventSubscriptionsClient", "ListByPartnerTopic", nil, "Failure preparing request") return @@ -384,12 +393,12 @@ func (client PartnerTopicEventSubscriptionsClient) ListByPartnerTopic(ctx contex resp, err := client.ListByPartnerTopicSender(req) if err != nil { - result.Response = autorest.Response{Response: resp} + result.eslr.Response = autorest.Response{Response: resp} err = autorest.NewErrorWithError(err, "eventgrid.PartnerTopicEventSubscriptionsClient", "ListByPartnerTopic", resp, "Failure sending request") return } - result, err = client.ListByPartnerTopicResponder(resp) + result.eslr, err = client.ListByPartnerTopicResponder(resp) if err != nil { err = autorest.NewErrorWithError(err, "eventgrid.PartnerTopicEventSubscriptionsClient", "ListByPartnerTopic", resp, "Failure responding to request") } @@ -398,7 +407,7 @@ func (client PartnerTopicEventSubscriptionsClient) ListByPartnerTopic(ctx contex } // ListByPartnerTopicPreparer prepares the ListByPartnerTopic request. -func (client PartnerTopicEventSubscriptionsClient) ListByPartnerTopicPreparer(ctx context.Context, resourceGroupName string, partnerTopicName string) (*http.Request, error) { +func (client PartnerTopicEventSubscriptionsClient) ListByPartnerTopicPreparer(ctx context.Context, resourceGroupName string, partnerTopicName string, filter string, top *int32) (*http.Request, error) { pathParameters := map[string]interface{}{ "partnerTopicName": autorest.Encode("path", partnerTopicName), "resourceGroupName": autorest.Encode("path", resourceGroupName), @@ -409,6 +418,12 @@ func (client PartnerTopicEventSubscriptionsClient) ListByPartnerTopicPreparer(ct queryParameters := map[string]interface{}{ "api-version": APIVersion, } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } preparer := autorest.CreatePreparer( autorest.AsGet(), @@ -437,6 +452,43 @@ func (client PartnerTopicEventSubscriptionsClient) ListByPartnerTopicResponder(r return } +// listByPartnerTopicNextResults retrieves the next set of results, if any. +func (client PartnerTopicEventSubscriptionsClient) listByPartnerTopicNextResults(ctx context.Context, lastResults EventSubscriptionsListResult) (result EventSubscriptionsListResult, err error) { + req, err := lastResults.eventSubscriptionsListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "eventgrid.PartnerTopicEventSubscriptionsClient", "listByPartnerTopicNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByPartnerTopicSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "eventgrid.PartnerTopicEventSubscriptionsClient", "listByPartnerTopicNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByPartnerTopicResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.PartnerTopicEventSubscriptionsClient", "listByPartnerTopicNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByPartnerTopicComplete enumerates all values, automatically crossing page boundaries as required. +func (client PartnerTopicEventSubscriptionsClient) ListByPartnerTopicComplete(ctx context.Context, resourceGroupName string, partnerTopicName string, filter string, top *int32) (result EventSubscriptionsListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PartnerTopicEventSubscriptionsClient.ListByPartnerTopic") + 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.ListByPartnerTopic(ctx, resourceGroupName, partnerTopicName, filter, top) + return +} + // Update update event subscription of a partner topic. // Parameters: // resourceGroupName - the name of the resource group within the user's subscription. diff --git a/services/preview/eventgrid/mgmt/2020-04-01-preview/eventgrid/privateendpointconnections.go b/services/preview/eventgrid/mgmt/2020-04-01-preview/eventgrid/privateendpointconnections.go index 2be78ed19641..f9912cc250b9 100644 --- a/services/preview/eventgrid/mgmt/2020-04-01-preview/eventgrid/privateendpointconnections.go +++ b/services/preview/eventgrid/mgmt/2020-04-01-preview/eventgrid/privateendpointconnections.go @@ -337,7 +337,8 @@ func (client PrivateEndpointConnectionsClient) ListByResourceComplete(ctx contex // parentType - the type of the parent resource. This can be either \'topics\' or \'domains\'. // parentName - the name of the parent resource (namely, either, the topic name or domain name). // privateEndpointConnectionName - the name of the private endpoint connection connection. -func (client PrivateEndpointConnectionsClient) Update(ctx context.Context, resourceGroupName string, parentType string, parentName string, privateEndpointConnectionName string) (result PrivateEndpointConnectionsUpdateFuture, err error) { +// privateEndpointConnection - the private endpoint connection object to update. +func (client PrivateEndpointConnectionsClient) Update(ctx context.Context, resourceGroupName string, parentType string, parentName string, privateEndpointConnectionName string, privateEndpointConnection PrivateEndpointConnection) (result PrivateEndpointConnectionsUpdateFuture, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/PrivateEndpointConnectionsClient.Update") defer func() { @@ -348,7 +349,7 @@ func (client PrivateEndpointConnectionsClient) Update(ctx context.Context, resou tracing.EndSpan(ctx, sc, err) }() } - req, err := client.UpdatePreparer(ctx, resourceGroupName, parentType, parentName, privateEndpointConnectionName) + req, err := client.UpdatePreparer(ctx, resourceGroupName, parentType, parentName, privateEndpointConnectionName, privateEndpointConnection) if err != nil { err = autorest.NewErrorWithError(err, "eventgrid.PrivateEndpointConnectionsClient", "Update", nil, "Failure preparing request") return @@ -364,7 +365,7 @@ func (client PrivateEndpointConnectionsClient) Update(ctx context.Context, resou } // UpdatePreparer prepares the Update request. -func (client PrivateEndpointConnectionsClient) UpdatePreparer(ctx context.Context, resourceGroupName string, parentType string, parentName string, privateEndpointConnectionName string) (*http.Request, error) { +func (client PrivateEndpointConnectionsClient) UpdatePreparer(ctx context.Context, resourceGroupName string, parentType string, parentName string, privateEndpointConnectionName string, privateEndpointConnection PrivateEndpointConnection) (*http.Request, error) { pathParameters := map[string]interface{}{ "parentName": autorest.Encode("path", parentName), "parentType": autorest.Encode("path", parentType), @@ -379,9 +380,11 @@ func (client PrivateEndpointConnectionsClient) UpdatePreparer(ctx context.Contex } preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPut(), autorest.WithBaseURL(client.BaseURI), autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/{parentType}/{parentName}/privateEndpointConnections/{privateEndpointConnectionName}", pathParameters), + autorest.WithJSON(privateEndpointConnection), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } diff --git a/services/preview/eventgrid/mgmt/2020-04-01-preview/eventgrid/systemtopiceventsubscriptions.go b/services/preview/eventgrid/mgmt/2020-04-01-preview/eventgrid/systemtopiceventsubscriptions.go index 7138e390d0c4..810b0c0c5c6c 100644 --- a/services/preview/eventgrid/mgmt/2020-04-01-preview/eventgrid/systemtopiceventsubscriptions.go +++ b/services/preview/eventgrid/mgmt/2020-04-01-preview/eventgrid/systemtopiceventsubscriptions.go @@ -365,18 +365,27 @@ func (client SystemTopicEventSubscriptionsClient) GetFullURLResponder(resp *http // Parameters: // resourceGroupName - the name of the resource group within the user's subscription. // systemTopicName - name of the system topic. -func (client SystemTopicEventSubscriptionsClient) ListBySystemTopic(ctx context.Context, resourceGroupName string, systemTopicName string) (result EventSubscriptionsListResult, err error) { +// filter - the query used to filter the search results using OData syntax. Filtering is permitted on the +// 'name' property only and with limited number of OData operations. These operations are: the 'contains' +// function as well as the following logical operations: not, and, or, eq (for equal), and ne (for not equal). +// No arithmetic operations are supported. The following is a valid filter example: $filter=contains(namE, +// 'PATTERN') and name ne 'PATTERN-1'. The following is not a valid filter example: $filter=location eq +// 'westus'. +// top - the number of results to return per page for the list operation. Valid range for top parameter is 1 to +// 100. If not specified, the default number of results to be returned is 20 items per page. +func (client SystemTopicEventSubscriptionsClient) ListBySystemTopic(ctx context.Context, resourceGroupName string, systemTopicName string, filter string, top *int32) (result EventSubscriptionsListResultPage, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/SystemTopicEventSubscriptionsClient.ListBySystemTopic") defer func() { sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode + if result.eslr.Response.Response != nil { + sc = result.eslr.Response.Response.StatusCode } tracing.EndSpan(ctx, sc, err) }() } - req, err := client.ListBySystemTopicPreparer(ctx, resourceGroupName, systemTopicName) + result.fn = client.listBySystemTopicNextResults + req, err := client.ListBySystemTopicPreparer(ctx, resourceGroupName, systemTopicName, filter, top) if err != nil { err = autorest.NewErrorWithError(err, "eventgrid.SystemTopicEventSubscriptionsClient", "ListBySystemTopic", nil, "Failure preparing request") return @@ -384,12 +393,12 @@ func (client SystemTopicEventSubscriptionsClient) ListBySystemTopic(ctx context. resp, err := client.ListBySystemTopicSender(req) if err != nil { - result.Response = autorest.Response{Response: resp} + result.eslr.Response = autorest.Response{Response: resp} err = autorest.NewErrorWithError(err, "eventgrid.SystemTopicEventSubscriptionsClient", "ListBySystemTopic", resp, "Failure sending request") return } - result, err = client.ListBySystemTopicResponder(resp) + result.eslr, err = client.ListBySystemTopicResponder(resp) if err != nil { err = autorest.NewErrorWithError(err, "eventgrid.SystemTopicEventSubscriptionsClient", "ListBySystemTopic", resp, "Failure responding to request") } @@ -398,7 +407,7 @@ func (client SystemTopicEventSubscriptionsClient) ListBySystemTopic(ctx context. } // ListBySystemTopicPreparer prepares the ListBySystemTopic request. -func (client SystemTopicEventSubscriptionsClient) ListBySystemTopicPreparer(ctx context.Context, resourceGroupName string, systemTopicName string) (*http.Request, error) { +func (client SystemTopicEventSubscriptionsClient) ListBySystemTopicPreparer(ctx context.Context, resourceGroupName string, systemTopicName string, filter string, top *int32) (*http.Request, error) { pathParameters := map[string]interface{}{ "resourceGroupName": autorest.Encode("path", resourceGroupName), "subscriptionId": autorest.Encode("path", client.SubscriptionID), @@ -409,6 +418,12 @@ func (client SystemTopicEventSubscriptionsClient) ListBySystemTopicPreparer(ctx queryParameters := map[string]interface{}{ "api-version": APIVersion, } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } preparer := autorest.CreatePreparer( autorest.AsGet(), @@ -437,6 +452,43 @@ func (client SystemTopicEventSubscriptionsClient) ListBySystemTopicResponder(res return } +// listBySystemTopicNextResults retrieves the next set of results, if any. +func (client SystemTopicEventSubscriptionsClient) listBySystemTopicNextResults(ctx context.Context, lastResults EventSubscriptionsListResult) (result EventSubscriptionsListResult, err error) { + req, err := lastResults.eventSubscriptionsListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "eventgrid.SystemTopicEventSubscriptionsClient", "listBySystemTopicNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListBySystemTopicSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "eventgrid.SystemTopicEventSubscriptionsClient", "listBySystemTopicNextResults", resp, "Failure sending next results request") + } + result, err = client.ListBySystemTopicResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.SystemTopicEventSubscriptionsClient", "listBySystemTopicNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListBySystemTopicComplete enumerates all values, automatically crossing page boundaries as required. +func (client SystemTopicEventSubscriptionsClient) ListBySystemTopicComplete(ctx context.Context, resourceGroupName string, systemTopicName string, filter string, top *int32) (result EventSubscriptionsListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SystemTopicEventSubscriptionsClient.ListBySystemTopic") + 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.ListBySystemTopic(ctx, resourceGroupName, systemTopicName, filter, top) + return +} + // Update update event subscription of a system topic. // Parameters: // resourceGroupName - the name of the resource group within the user's subscription.