Skip to content

Commit bb9de3d

Browse files
support DataFeedDetail in listDataFeeds
1 parent c3e8ebc commit bb9de3d

37 files changed

+5051
-7
lines changed

sdk/metricsadvisor/azure-ai-metricsadvisor/src/main/java/com/azure/ai/metricsadvisor/MetricsAdvisorAsyncClient.java

+31-3
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
package com.azure.ai.metricsadvisor;
55

66
import com.azure.ai.metricsadvisor.implementation.MetricsAdvisorClientImpl;
7+
import com.azure.ai.metricsadvisor.models.DataFeedDetail;
78
import com.azure.ai.metricsadvisor.models.ListDataFeedOptions;
89
import com.azure.core.annotation.Generated;
910
import com.azure.core.annotation.ReturnType;
@@ -14,12 +15,20 @@
1415
import com.azure.core.exception.ResourceModifiedException;
1516
import com.azure.core.exception.ResourceNotFoundException;
1617
import com.azure.core.http.rest.PagedFlux;
18+
import com.azure.core.http.rest.PagedResponse;
19+
import com.azure.core.http.rest.PagedResponseBase;
1720
import com.azure.core.http.rest.RequestOptions;
1821
import com.azure.core.http.rest.Response;
1922
import com.azure.core.util.BinaryData;
2023
import com.azure.core.util.Context;
24+
import com.azure.core.util.paging.PageRetriever;
25+
import reactor.core.publisher.Flux;
2126
import reactor.core.publisher.Mono;
2227

28+
import java.util.function.Function;
29+
import java.util.function.Supplier;
30+
import java.util.stream.Collectors;
31+
2332
/** Initializes a new instance of the asynchronous MetricsAdvisorClient type. */
2433
@ServiceClient(builder = MetricsAdvisorClientBuilder.class, isAsync = true)
2534
public final class MetricsAdvisorAsyncClient {
@@ -2530,11 +2539,11 @@ public PagedFlux<BinaryData> getEnrichmentStatusByMetric(
25302539
* @return A {@link PagedFlux} containing information of all the data feeds in the account.
25312540
*/
25322541
@ServiceMethod(returns = ReturnType.COLLECTION)
2533-
public PagedFlux<BinaryData> listDataFeeds(ListDataFeedOptions listDataFeedOptions) {
2542+
public PagedFlux<DataFeedDetail> listDataFeeds(ListDataFeedOptions listDataFeedOptions) {
25342543
return listDataFeeds(listDataFeedOptions, Context.NONE);
25352544
}
25362545

2537-
PagedFlux<BinaryData> listDataFeeds(ListDataFeedOptions listDataFeedOptions, Context context) {
2546+
PagedFlux<DataFeedDetail> listDataFeeds(ListDataFeedOptions listDataFeedOptions, Context context) {
25382547
RequestOptions requestOptions = new RequestOptions().setContext(context);
25392548
if (listDataFeedOptions != null) {
25402549
if (listDataFeedOptions.getSkip() != null) {
@@ -2552,6 +2561,25 @@ PagedFlux<BinaryData> listDataFeeds(ListDataFeedOptions listDataFeedOptions, Con
25522561
}
25532562
}
25542563
}
2555-
return this.listDataFeeds(requestOptions);
2564+
return mapPage(this.listDataFeeds(requestOptions), data -> data.toObject(DataFeedDetail.class));
2565+
}
2566+
2567+
private static <T, S> PagedFlux<S> mapPage(PagedFlux<T> pagedFlux, Function<T, S> mapper) {
2568+
Supplier<PageRetriever<String, PagedResponse<S>>> provider = () -> (continuationToken, pageSize) -> {
2569+
Flux<PagedResponse<T>> flux = (continuationToken == null)
2570+
? pagedFlux.byPage().take(1)
2571+
: pagedFlux.byPage(continuationToken).take(1);
2572+
return flux.map(mapPagedResponse(mapper));
2573+
};
2574+
return PagedFlux.create(provider);
2575+
}
2576+
2577+
private static <T, S> Function<PagedResponse<T>, PagedResponse<S>> mapPagedResponse(Function<T, S> mapper) {
2578+
return pagedResponse -> new PagedResponseBase<Void, S>(pagedResponse.getRequest(),
2579+
pagedResponse.getStatusCode(),
2580+
pagedResponse.getHeaders(),
2581+
pagedResponse.getValue().stream().map(mapper).collect(Collectors.toList()),
2582+
pagedResponse.getContinuationToken(),
2583+
null);
25562584
}
25572585
}

sdk/metricsadvisor/azure-ai-metricsadvisor/src/main/java/com/azure/ai/metricsadvisor/MetricsAdvisorClient.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
// Code generated by Microsoft (R) AutoRest Code Generator.
44
package com.azure.ai.metricsadvisor;
55

6+
import com.azure.ai.metricsadvisor.models.DataFeedDetail;
67
import com.azure.ai.metricsadvisor.models.ListDataFeedOptions;
78
import com.azure.core.annotation.Generated;
89
import com.azure.core.annotation.ReturnType;
@@ -2540,7 +2541,7 @@ public PagedIterable<BinaryData> getEnrichmentStatusByMetric(
25402541
* @return A {@link PagedIterable} containing information of all the data feeds in the account.
25412542
*/
25422543
@ServiceMethod(returns = ReturnType.COLLECTION)
2543-
public PagedIterable<BinaryData> listDataFeeds(ListDataFeedOptions options, Context context) {
2544+
public PagedIterable<DataFeedDetail> listDataFeeds(ListDataFeedOptions options, Context context) {
25442545
return new PagedIterable<>(this.asyncClient.listDataFeeds(options, context));
25452546
}
25462547
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
// Copyright (c) Microsoft Corporation. All rights reserved.
2+
// Licensed under the MIT License.
3+
// Code generated by Microsoft (R) AutoRest Code Generator.
4+
5+
package com.azure.ai.metricsadvisor.models;
6+
7+
import com.azure.core.util.ExpandableStringEnum;
8+
import com.fasterxml.jackson.annotation.JsonCreator;
9+
import java.util.Collection;
10+
11+
/** Defines values for AuthenticationTypeEnum. */
12+
public final class AuthenticationTypeEnum extends ExpandableStringEnum<AuthenticationTypeEnum> {
13+
/** Static value Basic for AuthenticationTypeEnum. */
14+
public static final AuthenticationTypeEnum BASIC = fromString("Basic");
15+
16+
/** Static value ManagedIdentity for AuthenticationTypeEnum. */
17+
public static final AuthenticationTypeEnum MANAGED_IDENTITY = fromString("ManagedIdentity");
18+
19+
/** Static value AzureSQLConnectionString for AuthenticationTypeEnum. */
20+
public static final AuthenticationTypeEnum AZURE_SQL_CONNECTION_STRING = fromString("AzureSQLConnectionString");
21+
22+
/** Static value DataLakeGen2SharedKey for AuthenticationTypeEnum. */
23+
public static final AuthenticationTypeEnum DATA_LAKE_GEN2_SHARED_KEY = fromString("DataLakeGen2SharedKey");
24+
25+
/** Static value ServicePrincipal for AuthenticationTypeEnum. */
26+
public static final AuthenticationTypeEnum SERVICE_PRINCIPAL = fromString("ServicePrincipal");
27+
28+
/** Static value ServicePrincipalInKV for AuthenticationTypeEnum. */
29+
public static final AuthenticationTypeEnum SERVICE_PRINCIPAL_IN_KV = fromString("ServicePrincipalInKV");
30+
31+
/**
32+
* Creates or finds a AuthenticationTypeEnum from its string representation.
33+
*
34+
* @param name a name to look for.
35+
* @return the corresponding AuthenticationTypeEnum.
36+
*/
37+
@JsonCreator
38+
public static AuthenticationTypeEnum fromString(String name) {
39+
return fromString(name, AuthenticationTypeEnum.class);
40+
}
41+
42+
/** @return known AuthenticationTypeEnum values. */
43+
public static Collection<AuthenticationTypeEnum> values() {
44+
return values(AuthenticationTypeEnum.class);
45+
}
46+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,212 @@
1+
// Copyright (c) Microsoft Corporation. All rights reserved.
2+
// Licensed under the MIT License.
3+
// Code generated by Microsoft (R) AutoRest Code Generator.
4+
5+
package com.azure.ai.metricsadvisor.models;
6+
7+
import com.azure.core.annotation.Fluent;
8+
import com.fasterxml.jackson.annotation.JsonProperty;
9+
import com.fasterxml.jackson.annotation.JsonTypeInfo;
10+
import com.fasterxml.jackson.annotation.JsonTypeName;
11+
import java.util.List;
12+
13+
/** The AzureApplicationInsightsDataFeed model. */
14+
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "dataSourceType")
15+
@JsonTypeName("AzureApplicationInsights")
16+
@Fluent
17+
public final class AzureApplicationInsightsDataFeed extends DataFeedDetail {
18+
/*
19+
* The dataSourceParameter property.
20+
*/
21+
@JsonProperty(value = "dataSourceParameter", required = true)
22+
private AzureApplicationInsightsParameter dataSourceParameter;
23+
24+
/**
25+
* Get the dataSourceParameter property: The dataSourceParameter property.
26+
*
27+
* @return the dataSourceParameter value.
28+
*/
29+
public AzureApplicationInsightsParameter getDataSourceParameter() {
30+
return this.dataSourceParameter;
31+
}
32+
33+
/**
34+
* Set the dataSourceParameter property: The dataSourceParameter property.
35+
*
36+
* @param dataSourceParameter the dataSourceParameter value to set.
37+
* @return the AzureApplicationInsightsDataFeed object itself.
38+
*/
39+
public AzureApplicationInsightsDataFeed setDataSourceParameter(
40+
AzureApplicationInsightsParameter dataSourceParameter) {
41+
this.dataSourceParameter = dataSourceParameter;
42+
return this;
43+
}
44+
45+
/** {@inheritDoc} */
46+
@Override
47+
public AzureApplicationInsightsDataFeed setDataFeedName(String dataFeedName) {
48+
super.setDataFeedName(dataFeedName);
49+
return this;
50+
}
51+
52+
/** {@inheritDoc} */
53+
@Override
54+
public AzureApplicationInsightsDataFeed setDataFeedDescription(String dataFeedDescription) {
55+
super.setDataFeedDescription(dataFeedDescription);
56+
return this;
57+
}
58+
59+
/** {@inheritDoc} */
60+
@Override
61+
public AzureApplicationInsightsDataFeed setGranularityName(Granularity granularityName) {
62+
super.setGranularityName(granularityName);
63+
return this;
64+
}
65+
66+
/** {@inheritDoc} */
67+
@Override
68+
public AzureApplicationInsightsDataFeed setGranularityAmount(Integer granularityAmount) {
69+
super.setGranularityAmount(granularityAmount);
70+
return this;
71+
}
72+
73+
/** {@inheritDoc} */
74+
@Override
75+
public AzureApplicationInsightsDataFeed setMetrics(List<Metric> metrics) {
76+
super.setMetrics(metrics);
77+
return this;
78+
}
79+
80+
/** {@inheritDoc} */
81+
@Override
82+
public AzureApplicationInsightsDataFeed setDimension(List<Dimension> dimension) {
83+
super.setDimension(dimension);
84+
return this;
85+
}
86+
87+
/** {@inheritDoc} */
88+
@Override
89+
public AzureApplicationInsightsDataFeed setTimestampColumn(String timestampColumn) {
90+
super.setTimestampColumn(timestampColumn);
91+
return this;
92+
}
93+
94+
/** {@inheritDoc} */
95+
@Override
96+
public AzureApplicationInsightsDataFeed setDataStartFrom(String dataStartFrom) {
97+
super.setDataStartFrom(dataStartFrom);
98+
return this;
99+
}
100+
101+
/** {@inheritDoc} */
102+
@Override
103+
public AzureApplicationInsightsDataFeed setStartOffsetInSeconds(Long startOffsetInSeconds) {
104+
super.setStartOffsetInSeconds(startOffsetInSeconds);
105+
return this;
106+
}
107+
108+
/** {@inheritDoc} */
109+
@Override
110+
public AzureApplicationInsightsDataFeed setMaxConcurrency(Integer maxConcurrency) {
111+
super.setMaxConcurrency(maxConcurrency);
112+
return this;
113+
}
114+
115+
/** {@inheritDoc} */
116+
@Override
117+
public AzureApplicationInsightsDataFeed setMinRetryIntervalInSeconds(Long minRetryIntervalInSeconds) {
118+
super.setMinRetryIntervalInSeconds(minRetryIntervalInSeconds);
119+
return this;
120+
}
121+
122+
/** {@inheritDoc} */
123+
@Override
124+
public AzureApplicationInsightsDataFeed setStopRetryAfterInSeconds(Long stopRetryAfterInSeconds) {
125+
super.setStopRetryAfterInSeconds(stopRetryAfterInSeconds);
126+
return this;
127+
}
128+
129+
/** {@inheritDoc} */
130+
@Override
131+
public AzureApplicationInsightsDataFeed setNeedRollup(NeedRollupEnum needRollup) {
132+
super.setNeedRollup(needRollup);
133+
return this;
134+
}
135+
136+
/** {@inheritDoc} */
137+
@Override
138+
public AzureApplicationInsightsDataFeed setRollUpMethod(RollUpMethod rollUpMethod) {
139+
super.setRollUpMethod(rollUpMethod);
140+
return this;
141+
}
142+
143+
/** {@inheritDoc} */
144+
@Override
145+
public AzureApplicationInsightsDataFeed setRollUpColumns(List<String> rollUpColumns) {
146+
super.setRollUpColumns(rollUpColumns);
147+
return this;
148+
}
149+
150+
/** {@inheritDoc} */
151+
@Override
152+
public AzureApplicationInsightsDataFeed setAllUpIdentification(String allUpIdentification) {
153+
super.setAllUpIdentification(allUpIdentification);
154+
return this;
155+
}
156+
157+
/** {@inheritDoc} */
158+
@Override
159+
public AzureApplicationInsightsDataFeed setFillMissingPointType(FillMissingPointType fillMissingPointType) {
160+
super.setFillMissingPointType(fillMissingPointType);
161+
return this;
162+
}
163+
164+
/** {@inheritDoc} */
165+
@Override
166+
public AzureApplicationInsightsDataFeed setFillMissingPointValue(Double fillMissingPointValue) {
167+
super.setFillMissingPointValue(fillMissingPointValue);
168+
return this;
169+
}
170+
171+
/** {@inheritDoc} */
172+
@Override
173+
public AzureApplicationInsightsDataFeed setViewMode(ViewMode viewMode) {
174+
super.setViewMode(viewMode);
175+
return this;
176+
}
177+
178+
/** {@inheritDoc} */
179+
@Override
180+
public AzureApplicationInsightsDataFeed setAdmins(List<String> admins) {
181+
super.setAdmins(admins);
182+
return this;
183+
}
184+
185+
/** {@inheritDoc} */
186+
@Override
187+
public AzureApplicationInsightsDataFeed setViewers(List<String> viewers) {
188+
super.setViewers(viewers);
189+
return this;
190+
}
191+
192+
/** {@inheritDoc} */
193+
@Override
194+
public AzureApplicationInsightsDataFeed setActionLinkTemplate(String actionLinkTemplate) {
195+
super.setActionLinkTemplate(actionLinkTemplate);
196+
return this;
197+
}
198+
199+
/** {@inheritDoc} */
200+
@Override
201+
public AzureApplicationInsightsDataFeed setAuthenticationType(AuthenticationTypeEnum authenticationType) {
202+
super.setAuthenticationType(authenticationType);
203+
return this;
204+
}
205+
206+
/** {@inheritDoc} */
207+
@Override
208+
public AzureApplicationInsightsDataFeed setCredentialId(String credentialId) {
209+
super.setCredentialId(credentialId);
210+
return this;
211+
}
212+
}

0 commit comments

Comments
 (0)