/// <summary> /// Gets all entities. /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='resourceGroupName'> /// The name of the resource group. The name is case insensitive. /// </param> /// <param name='workspaceName'> /// The name of the workspace. /// </param> /// <param name='cancellationToken'> /// The cancellation token. /// </param> public static async Task <IPage <Entity> > ListAsync(this IEntitiesOperations operations, string resourceGroupName, string workspaceName, CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.ListWithHttpMessagesAsync(resourceGroupName, workspaceName, null, cancellationToken).ConfigureAwait(false)) { return(_result.Body); } }
/// <summary> /// Gets all entities. /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='nextPageLink'> /// The NextLink from the previous successful call to List operation. /// </param> /// <param name='cancellationToken'> /// The cancellation token. /// </param> public static async Task <IPage <Entity> > ListNextAsync(this IEntitiesOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.ListNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false)) { return(_result.Body); } }
/// <summary> /// Execute Insights for an entity. /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='resourceGroupName'> /// The name of the resource group. The name is case insensitive. /// </param> /// <param name='workspaceName'> /// The name of the workspace. /// </param> /// <param name='entityId'> /// entity ID /// </param> /// <param name='parameters'> /// The parameters required to execute insights on the given entity. /// </param> /// <param name='cancellationToken'> /// The cancellation token. /// </param> public static async Task <EntityGetInsightsResponse> GetInsightsAsync(this IEntitiesOperations operations, string resourceGroupName, string workspaceName, string entityId, EntityGetInsightsParameters parameters, CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.GetInsightsWithHttpMessagesAsync(resourceGroupName, workspaceName, entityId, parameters, null, cancellationToken).ConfigureAwait(false)) { return(_result.Body); } }
/// <summary> /// The Entity Search API lets you send a search query to Bing and get back /// search results that include entities and places. Place results include /// restaurants, hotel, or other local businesses. For places, the query can /// specify the name of the local business or it can ask for a list (for /// example, restaurants near me). Entity results include persons, places, or /// things. Place in this context is tourist attractions, states, countries, /// etc. /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='query'> /// The user's search term. /// </param> /// <param name='acceptLanguage'> /// A comma-delimited list of one or more languages to use for user interface /// strings. The list is in decreasing order of preference. For additional /// information, including expected format, see /// [RFC2616](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html). This /// header and the setLang query parameter are mutually exclusive; do not /// specify both. If you set this header, you must also specify the cc query /// parameter. Bing will use the first supported language it finds from the /// list, and combine that language with the cc parameter value to determine /// the market to return results for. If the list does not include a supported /// language, Bing will find the closest language and market that supports the /// request, and may use an aggregated or default market for the results /// instead of a specified one. You should use this header and the cc query /// parameter only if you specify multiple languages; otherwise, you should use /// the mkt and setLang query parameters. A user interface string is a string /// that's used as a label in a user interface. There are very few user /// interface strings in the JSON response objects. Any links in the response /// objects to Bing.com properties will apply the specified language. /// </param> /// <param name='pragma'> /// By default, Bing returns cached content, if available. To prevent Bing from /// returning cached content, set the Pragma header to no-cache (for example, /// Pragma: no-cache). /// </param> /// <param name='userAgent'> /// The user agent originating the request. Bing uses the user agent to provide /// mobile users with an optimized experience. Although optional, you are /// strongly encouraged to always specify this header. The user-agent should be /// the same string that any commonly used browser would send. For information /// about user agents, see [RFC /// 2616](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html). /// </param> /// <param name='clientId'> /// Bing uses this header to provide users with consistent behavior across Bing /// API calls. Bing often flights new features and improvements, and it uses /// the client ID as a key for assigning traffic on different flights. If you /// do not use the same client ID for a user across multiple requests, then /// Bing may assign the user to multiple conflicting flights. Being assigned to /// multiple conflicting flights can lead to an inconsistent user experience. /// For example, if the second request has a different flight assignment than /// the first, the experience may be unexpected. Also, Bing can use the client /// ID to tailor web results to that client ID’s search history, providing a /// richer experience for the user. Bing also uses this header to help improve /// result rankings by analyzing the activity generated by a client ID. The /// relevance improvements help with better quality of results delivered by /// Bing APIs and in turn enables higher click-through rates for the API /// consumer. IMPORTANT: Although optional, you should consider this header /// required. Persisting the client ID across multiple requests for the same /// end user and device combination enables 1) the API consumer to receive a /// consistent user experience, and 2) higher click-through rates via better /// quality of results from the Bing APIs. Each user that uses your application /// on the device must have a unique, Bing generated client ID. If you do not /// include this header in the request, Bing generates an ID and returns it in /// the X-MSEdge-ClientID response header. The only time that you should NOT /// include this header in a request is the first time the user uses your app /// on that device. Use the client ID for each Bing API request that your app /// makes for this user on the device. Persist the client ID. To persist the ID /// in a browser app, use a persistent HTTP cookie to ensure the ID is used /// across all sessions. Do not use a session cookie. For other apps such as /// mobile apps, use the device's persistent storage to persist the ID. The /// next time the user uses your app on that device, get the client ID that you /// persisted. Bing responses may or may not include this header. If the /// response includes this header, capture the client ID and use it for all /// subsequent Bing requests for the user on that device. If you include the /// X-MSEdge-ClientID, you must not include cookies in the request. /// </param> /// <param name='clientIp'> /// The IPv4 or IPv6 address of the client device. The IP address is used to /// discover the user's location. Bing uses the location information to /// determine safe search behavior. Although optional, you are encouraged to /// always specify this header and the X-Search-Location header. Do not /// obfuscate the address (for example, by changing the last octet to 0). /// Obfuscating the address results in the location not being anywhere near the /// device's actual location, which may result in Bing serving erroneous /// results. /// </param> /// <param name='location'> /// A semicolon-delimited list of key/value pairs that describe the client's /// geographical location. Bing uses the location information to determine safe /// search behavior and to return relevant local content. Specify the key/value /// pair as <key>:<value>. The following are the keys that you use /// to specify the user's location. lat (required): The latitude of the /// client's location, in degrees. The latitude must be greater than or equal /// to -90.0 and less than or equal to +90.0. Negative values indicate southern /// latitudes and positive values indicate northern latitudes. long (required): /// The longitude of the client's location, in degrees. The longitude must be /// greater than or equal to -180.0 and less than or equal to +180.0. Negative /// values indicate western longitudes and positive values indicate eastern /// longitudes. re (required): The radius, in meters, which specifies the /// horizontal accuracy of the coordinates. Pass the value returned by the /// device's location service. Typical values might be 22m for GPS/Wi-Fi, 380m /// for cell tower triangulation, and 18,000m for reverse IP lookup. ts /// (optional): The UTC UNIX timestamp of when the client was at the location. /// (The UNIX timestamp is the number of seconds since January 1, 1970.) head /// (optional): The client's relative heading or direction of travel. Specify /// the direction of travel as degrees from 0 through 360, counting clockwise /// relative to true north. Specify this key only if the sp key is nonzero. sp /// (optional): The horizontal velocity (speed), in meters per second, that the /// client device is traveling. alt (optional): The altitude of the client /// device, in meters. are (optional): The radius, in meters, that specifies /// the vertical accuracy of the coordinates. Specify this key only if you /// specify the alt key. Although many of the keys are optional, the more /// information that you provide, the more accurate the location results are. /// Although optional, you are encouraged to always specify the user's /// geographical location. Providing the location is especially important if /// the client's IP address does not accurately reflect the user's physical /// location (for example, if the client uses VPN). For optimal results, you /// should include this header and the X-MSEdge-ClientIP header, but at a /// minimum, you should include this header. /// </param> /// <param name='countryCode'> /// A 2-character country code of the country where the results come from. This /// API supports only the United States market. If you specify this query /// parameter, it must be set to us. If you set this parameter, you must also /// specify the Accept-Language header. Bing uses the first supported language /// it finds from the languages list, and combine that language with the /// country code that you specify to determine the market to return results /// for. If the languages list does not include a supported language, Bing /// finds the closest language and market that supports the request, or it may /// use an aggregated or default market for the results instead of a specified /// one. You should use this query parameter and the Accept-Language query /// parameter only if you specify multiple languages; otherwise, you should use /// the mkt and setLang query parameters. This parameter and the mkt query /// parameter are mutually exclusive—do not specify both. /// </param> /// <param name='market'> /// The market where the results come from. You are strongly encouraged to /// always specify the market, if known. Specifying the market helps Bing route /// the request and return an appropriate and optimal response. This parameter /// and the cc query parameter are mutually exclusive—do not specify both. /// </param> /// <param name='responseFilter'> /// A comma-delimited list of answers to include in the response. If you do not /// specify this parameter, the response includes all search answers for which /// there's relevant data. /// </param> /// <param name='responseFormat'> /// The media type to use for the response. The following are the possible /// case-insensitive values: JSON, JSONLD. The default is JSON. If you specify /// JSONLD, the response body includes JSON-LD objects that contain the search /// results. /// </param> /// <param name='safeSearch'> /// A filter used to filter adult content. Off: Return webpages with adult /// text, images, or videos. Moderate: Return webpages with adult text, but not /// adult images or videos. Strict: Do not return webpages with adult text, /// images, or videos. The default is Moderate. If the request comes from a /// market that Bing's adult policy requires that safeSearch is set to Strict, /// Bing ignores the safeSearch value and uses Strict. If you use the site: /// query operator, there is the chance that the response may contain adult /// content regardless of what the safeSearch query parameter is set to. Use /// site: only if you are aware of the content on the site and your scenario /// supports the possibility of adult content. Possible values include: 'Off', /// 'Moderate', 'Strict' /// </param> /// <param name='setLang'> /// The language to use for user interface strings. Specify the language using /// the ISO 639-1 2-letter language code. For example, the language code for /// English is EN. The default is EN (English). Although optional, you should /// always specify the language. Typically, you set setLang to the same /// language specified by mkt unless the user wants the user interface strings /// displayed in a different language. This parameter and the Accept-Language /// header are mutually exclusive; do not specify both. A user interface string /// is a string that's used as a label in a user interface. There are few user /// interface strings in the JSON response objects. Also, any links to Bing.com /// properties in the response objects apply the specified language. /// </param> /// <param name='cancellationToken'> /// The cancellation token. /// </param> public static async Task <SearchResponse> SearchAsync(this IEntitiesOperations operations, string query, string acceptLanguage = default(string), string pragma = default(string), string userAgent = default(string), string clientId = default(string), string clientIp = default(string), string location = default(string), string countryCode = default(string), string market = "en-us", IList <string> responseFilter = default(IList <string>), IList <string> responseFormat = default(IList <string>), string safeSearch = default(string), string setLang = default(string), CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.SearchWithHttpMessagesAsync(query, acceptLanguage, pragma, userAgent, clientId, clientIp, location, countryCode, market, responseFilter, responseFormat, safeSearch, setLang, null, cancellationToken).ConfigureAwait(false)) { return(_result.Body); } }
/// <summary> /// List all entities (Management Groups, Subscriptions, etc.) for the /// authenticated user. /// /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='skiptoken'> /// Page continuation token is only used if a previous operation returned a /// partial result. /// If a previous response contains a nextLink element, the value of the /// nextLink element will include a token parameter that specifies a starting /// point to use for subsequent calls. /// </param> /// <param name='skip'> /// Number of entities to skip over when retrieving results. Passing this in /// will override $skipToken. /// </param> /// <param name='top'> /// Number of elements to return when retrieving results. Passing this in will /// override $skipToken. /// </param> /// <param name='select'> /// This parameter specifies the fields to include in the response. Can include /// any combination of /// Name,DisplayName,Type,ParentDisplayNameChain,ParentChain, e.g. /// '$select=Name,DisplayName,Type,ParentDisplayNameChain,ParentNameChain'. /// When specified the $select parameter can override select in $skipToken. /// </param> /// <param name='search'> /// The $search parameter is used in conjunction with the $filter parameter to /// return three different outputs depending on the parameter passed in. /// With $search=AllowedParents the API will return the entity info of all /// groups that the requested entity will be able to reparent to as determined /// by the user's permissions. /// With $search=AllowedChildren the API will return the entity info of all /// entities that can be added as children of the requested entity. /// With $search=ParentAndFirstLevelChildren the API will return the parent and /// first level of children that the user has either direct access to or /// indirect access via one of their descendants. /// With $search=ParentOnly the API will return only the group if the user has /// access to at least one of the descendants of the group. /// With $search=ChildrenOnly the API will return only the first level of /// children of the group entity info specified in $filter. The user must have /// direct access to the children entities or one of it's descendants for it to /// show up in the results. Possible values include: 'AllowedParents', /// 'AllowedChildren', 'ParentAndFirstLevelChildren', 'ParentOnly', /// 'ChildrenOnly' /// </param> /// <param name='filter'> /// The filter parameter allows you to filter on the the name or display name /// fields. You can check for equality on the name field (e.g. name eq /// '{entityName}') and you can check for substrings on either the name or /// display name fields(e.g. contains(name, '{substringToSearch}'), /// contains(displayName, '{substringToSearch')). Note that the '{entityName}' /// and '{substringToSearch}' fields are checked case insensitively. /// </param> /// <param name='view'> /// The view parameter allows clients to filter the type of data that is /// returned by the getEntities call. Possible values include: 'FullHierarchy', /// 'GroupsOnly', 'SubscriptionsOnly', 'Audit' /// </param> /// <param name='groupName'> /// A filter which allows the get entities call to focus on a particular group /// (i.e. "$filter=name eq 'groupName'") /// </param> /// <param name='cacheControl'> /// Indicates whether the request should utilize any caches. Populate the /// header with 'no-cache' value to bypass existing caches. /// </param> /// <param name='cancellationToken'> /// The cancellation token. /// </param> public static async Task <IPage <EntityInfo> > ListAsync(this IEntitiesOperations operations, string skiptoken = default(string), int?skip = default(int?), int?top = default(int?), string select = default(string), string search = default(string), string filter = default(string), string view = default(string), string groupName = default(string), string cacheControl = "no-cache", CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.ListWithHttpMessagesAsync(skiptoken, skip, top, select, search, filter, view, groupName, cacheControl, null, cancellationToken).ConfigureAwait(false)) { return(_result.Body); } }
/// <summary> /// Initializes client properties. /// </summary> private void Initialize() { ManagementGroups = new ManagementGroupsOperations(this); ManagementGroupSubscriptions = new ManagementGroupSubscriptionsOperations(this); HierarchySettings = new HierarchySettingsOperations(this); Operations = new Operations(this); Entities = new EntitiesOperations(this); BaseUri = new System.Uri("https://management.azure.com"); ApiVersion = "2021-04-01"; AcceptLanguage = "en-US"; LongRunningOperationRetryTimeout = 30; GenerateClientRequestId = true; SerializationSettings = new JsonSerializerSettings { Formatting = Newtonsoft.Json.Formatting.Indented, DateFormatHandling = Newtonsoft.Json.DateFormatHandling.IsoDateFormat, DateTimeZoneHandling = Newtonsoft.Json.DateTimeZoneHandling.Utc, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore, ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize, ContractResolver = new ReadOnlyJsonContractResolver(), Converters = new List <JsonConverter> { new Iso8601TimeSpanConverter() } }; SerializationSettings.Converters.Add(new TransformationJsonConverter()); DeserializationSettings = new JsonSerializerSettings { DateFormatHandling = Newtonsoft.Json.DateFormatHandling.IsoDateFormat, DateTimeZoneHandling = Newtonsoft.Json.DateTimeZoneHandling.Utc, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore, ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize, ContractResolver = new ReadOnlyJsonContractResolver(), Converters = new List <JsonConverter> { new Iso8601TimeSpanConverter() } }; CustomInitialize(); DeserializationSettings.Converters.Add(new TransformationJsonConverter()); DeserializationSettings.Converters.Add(new CloudErrorJsonConverter()); }
/// <summary> /// Initializes client properties. /// </summary> private void Initialize() { Entities = new EntitiesOperations(this); BaseUri = "{Endpoint}/bing/v7.0"; Endpoint = "https://api.cognitive.microsoft.com"; SerializationSettings = new JsonSerializerSettings { Formatting = Newtonsoft.Json.Formatting.Indented, DateFormatHandling = Newtonsoft.Json.DateFormatHandling.IsoDateFormat, DateTimeZoneHandling = Newtonsoft.Json.DateTimeZoneHandling.Utc, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore, ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize, ContractResolver = new ReadOnlyJsonContractResolver(), Converters = new List <JsonConverter> { new Iso8601TimeSpanConverter() } }; DeserializationSettings = new JsonSerializerSettings { DateFormatHandling = Newtonsoft.Json.DateFormatHandling.IsoDateFormat, DateTimeZoneHandling = Newtonsoft.Json.DateTimeZoneHandling.Utc, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore, ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize, ContractResolver = new ReadOnlyJsonContractResolver(), Converters = new List <JsonConverter> { new Iso8601TimeSpanConverter() } }; SerializationSettings.Converters.Add(new PolymorphicSerializeJsonConverter <ContractualRulesContractualRule>("_type")); DeserializationSettings.Converters.Add(new PolymorphicDeserializeJsonConverter <ContractualRulesContractualRule>("_type")); SerializationSettings.Converters.Add(new PolymorphicSerializeJsonConverter <ResponseBase>("_type")); DeserializationSettings.Converters.Add(new PolymorphicDeserializeJsonConverter <ResponseBase>("_type")); CustomInitialize(); }
/// <summary> /// Gets an entity. /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='resourceGroupName'> /// The name of the resource group. The name is case insensitive. /// </param> /// <param name='workspaceName'> /// The name of the workspace. /// </param> /// <param name='entityId'> /// entity ID /// </param> public static Entity Get(this IEntitiesOperations operations, string resourceGroupName, string workspaceName, string entityId) { return(operations.GetAsync(resourceGroupName, workspaceName, entityId).GetAwaiter().GetResult()); }
/// <summary> /// Gets all entities. /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='resourceGroupName'> /// The name of the resource group. The name is case insensitive. /// </param> /// <param name='workspaceName'> /// The name of the workspace. /// </param> public static IPage <Entity> List(this IEntitiesOperations operations, string resourceGroupName, string workspaceName) { return(operations.ListAsync(resourceGroupName, workspaceName).GetAwaiter().GetResult()); }
/// <summary> /// Gets all entities. /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='nextPageLink'> /// The NextLink from the previous successful call to List operation. /// </param> public static IPage <Entity> ListNext(this IEntitiesOperations operations, string nextPageLink) { return(operations.ListNextAsync(nextPageLink).GetAwaiter().GetResult()); }
/// <summary> /// Execute Insights for an entity. /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='resourceGroupName'> /// The name of the resource group. The name is case insensitive. /// </param> /// <param name='workspaceName'> /// The name of the workspace. /// </param> /// <param name='entityId'> /// entity ID /// </param> /// <param name='parameters'> /// The parameters required to execute insights on the given entity. /// </param> public static EntityGetInsightsResponse GetInsights(this IEntitiesOperations operations, string resourceGroupName, string workspaceName, string entityId, EntityGetInsightsParameters parameters) { return(operations.GetInsightsAsync(resourceGroupName, workspaceName, entityId, parameters).GetAwaiter().GetResult()); }
/// <summary> /// Expands an entity. /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='resourceGroupName'> /// The name of the resource group. The name is case insensitive. /// </param> /// <param name='workspaceName'> /// The name of the workspace. /// </param> /// <param name='entityId'> /// entity ID /// </param> /// <param name='parameters'> /// The parameters required to execute an expand operation on the given entity. /// </param> public static EntityExpandResponse Expand(this IEntitiesOperations operations, string resourceGroupName, string workspaceName, string entityId, EntityExpandParameters parameters) { return(operations.ExpandAsync(resourceGroupName, workspaceName, entityId, parameters).GetAwaiter().GetResult()); }
/// <summary> /// The Entity Search API lets you send a search query to Bing and get back /// search results that include entities and places. Place results include /// restaurants, hotel, or other local businesses. For places, the query can /// specify the name of the local business or it can ask for a list (for /// example, restaurants near me). Entity results include persons, places, or /// things. Place in this context is tourist attractions, states, countries, /// etc. /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='query'> /// The user's search term. /// </param> /// <param name='acceptLanguage'> /// A comma-delimited list of one or more languages to use for user interface /// strings. The list is in decreasing order of preference. For additional /// information, including expected format, see /// [RFC2616](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html). This /// header and the setLang query parameter are mutually exclusive; do not /// specify both. If you set this header, you must also specify the cc query /// parameter. Bing will use the first supported language it finds from the /// list, and combine that language with the cc parameter value to determine /// the market to return results for. If the list does not include a supported /// language, Bing will find the closest language and market that supports the /// request, and may use an aggregated or default market for the results /// instead of a specified one. You should use this header and the cc query /// parameter only if you specify multiple languages; otherwise, you should use /// the mkt and setLang query parameters. A user interface string is a string /// that's used as a label in a user interface. There are very few user /// interface strings in the JSON response objects. Any links in the response /// objects to Bing.com properties will apply the specified language. /// </param> /// <param name='pragma'> /// By default, Bing returns cached content, if available. To prevent Bing from /// returning cached content, set the Pragma header to no-cache (for example, /// Pragma: no-cache). /// </param> /// <param name='userAgent'> /// The user agent originating the request. Bing uses the user agent to provide /// mobile users with an optimized experience. Although optional, you are /// strongly encouraged to always specify this header. The user-agent should be /// the same string that any commonly used browser would send. For information /// about user agents, see [RFC /// 2616](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html). /// </param> /// <param name='clientId'> /// Bing uses this header to provide users with consistent behavior across Bing /// API calls. Bing often flights new features and improvements, and it uses /// the client ID as a key for assigning traffic on different flights. If you /// do not use the same client ID for a user across multiple requests, then /// Bing may assign the user to multiple conflicting flights. Being assigned to /// multiple conflicting flights can lead to an inconsistent user experience. /// For example, if the second request has a different flight assignment than /// the first, the experience may be unexpected. Also, Bing can use the client /// ID to tailor web results to that client ID’s search history, providing a /// richer experience for the user. Bing also uses this header to help improve /// result rankings by analyzing the activity generated by a client ID. The /// relevance improvements help with better quality of results delivered by /// Bing APIs and in turn enables higher click-through rates for the API /// consumer. IMPORTANT: Although optional, you should consider this header /// required. Persisting the client ID across multiple requests for the same /// end user and device combination enables 1) the API consumer to receive a /// consistent user experience, and 2) higher click-through rates via better /// quality of results from the Bing APIs. Each user that uses your application /// on the device must have a unique, Bing generated client ID. If you do not /// include this header in the request, Bing generates an ID and returns it in /// the X-MSEdge-ClientID response header. The only time that you should NOT /// include this header in a request is the first time the user uses your app /// on that device. Use the client ID for each Bing API request that your app /// makes for this user on the device. Persist the client ID. To persist the ID /// in a browser app, use a persistent HTTP cookie to ensure the ID is used /// across all sessions. Do not use a session cookie. For other apps such as /// mobile apps, use the device's persistent storage to persist the ID. The /// next time the user uses your app on that device, get the client ID that you /// persisted. Bing responses may or may not include this header. If the /// response includes this header, capture the client ID and use it for all /// subsequent Bing requests for the user on that device. If you include the /// X-MSEdge-ClientID, you must not include cookies in the request. /// </param> /// <param name='clientIp'> /// The IPv4 or IPv6 address of the client device. The IP address is used to /// discover the user's location. Bing uses the location information to /// determine safe search behavior. Although optional, you are encouraged to /// always specify this header and the X-Search-Location header. Do not /// obfuscate the address (for example, by changing the last octet to 0). /// Obfuscating the address results in the location not being anywhere near the /// device's actual location, which may result in Bing serving erroneous /// results. /// </param> /// <param name='location'> /// A semicolon-delimited list of key/value pairs that describe the client's /// geographical location. Bing uses the location information to determine safe /// search behavior and to return relevant local content. Specify the key/value /// pair as <key>:<value>. The following are the keys that you use /// to specify the user's location. lat (required): The latitude of the /// client's location, in degrees. The latitude must be greater than or equal /// to -90.0 and less than or equal to +90.0. Negative values indicate southern /// latitudes and positive values indicate northern latitudes. long (required): /// The longitude of the client's location, in degrees. The longitude must be /// greater than or equal to -180.0 and less than or equal to +180.0. Negative /// values indicate western longitudes and positive values indicate eastern /// longitudes. re (required): The radius, in meters, which specifies the /// horizontal accuracy of the coordinates. Pass the value returned by the /// device's location service. Typical values might be 22m for GPS/Wi-Fi, 380m /// for cell tower triangulation, and 18,000m for reverse IP lookup. ts /// (optional): The UTC UNIX timestamp of when the client was at the location. /// (The UNIX timestamp is the number of seconds since January 1, 1970.) head /// (optional): The client's relative heading or direction of travel. Specify /// the direction of travel as degrees from 0 through 360, counting clockwise /// relative to true north. Specify this key only if the sp key is nonzero. sp /// (optional): The horizontal velocity (speed), in meters per second, that the /// client device is traveling. alt (optional): The altitude of the client /// device, in meters. are (optional): The radius, in meters, that specifies /// the vertical accuracy of the coordinates. Specify this key only if you /// specify the alt key. Although many of the keys are optional, the more /// information that you provide, the more accurate the location results are. /// Although optional, you are encouraged to always specify the user's /// geographical location. Providing the location is especially important if /// the client's IP address does not accurately reflect the user's physical /// location (for example, if the client uses VPN). For optimal results, you /// should include this header and the X-MSEdge-ClientIP header, but at a /// minimum, you should include this header. /// </param> /// <param name='countryCode'> /// A 2-character country code of the country where the results come from. This /// API supports only the United States market. If you specify this query /// parameter, it must be set to us. If you set this parameter, you must also /// specify the Accept-Language header. Bing uses the first supported language /// it finds from the languages list, and combine that language with the /// country code that you specify to determine the market to return results /// for. If the languages list does not include a supported language, Bing /// finds the closest language and market that supports the request, or it may /// use an aggregated or default market for the results instead of a specified /// one. You should use this query parameter and the Accept-Language query /// parameter only if you specify multiple languages; otherwise, you should use /// the mkt and setLang query parameters. This parameter and the mkt query /// parameter are mutually exclusive—do not specify both. /// </param> /// <param name='market'> /// The market where the results come from. You are strongly encouraged to /// always specify the market, if known. Specifying the market helps Bing route /// the request and return an appropriate and optimal response. This parameter /// and the cc query parameter are mutually exclusive—do not specify both. /// </param> /// <param name='responseFilter'> /// A comma-delimited list of answers to include in the response. If you do not /// specify this parameter, the response includes all search answers for which /// there's relevant data. /// </param> /// <param name='responseFormat'> /// The media type to use for the response. The following are the possible /// case-insensitive values: JSON, JSONLD. The default is JSON. If you specify /// JSONLD, the response body includes JSON-LD objects that contain the search /// results. /// </param> /// <param name='safeSearch'> /// A filter used to filter adult content. Off: Return webpages with adult /// text, images, or videos. Moderate: Return webpages with adult text, but not /// adult images or videos. Strict: Do not return webpages with adult text, /// images, or videos. The default is Moderate. If the request comes from a /// market that Bing's adult policy requires that safeSearch is set to Strict, /// Bing ignores the safeSearch value and uses Strict. If you use the site: /// query operator, there is the chance that the response may contain adult /// content regardless of what the safeSearch query parameter is set to. Use /// site: only if you are aware of the content on the site and your scenario /// supports the possibility of adult content. Possible values include: 'Off', /// 'Moderate', 'Strict' /// </param> /// <param name='setLang'> /// The language to use for user interface strings. Specify the language using /// the ISO 639-1 2-letter language code. For example, the language code for /// English is EN. The default is EN (English). Although optional, you should /// always specify the language. Typically, you set setLang to the same /// language specified by mkt unless the user wants the user interface strings /// displayed in a different language. This parameter and the Accept-Language /// header are mutually exclusive; do not specify both. A user interface string /// is a string that's used as a label in a user interface. There are few user /// interface strings in the JSON response objects. Also, any links to Bing.com /// properties in the response objects apply the specified language. /// </param> public static SearchResponse Search(this IEntitiesOperations operations, string query, string acceptLanguage = default(string), string pragma = default(string), string userAgent = default(string), string clientId = default(string), string clientIp = default(string), string location = default(string), string countryCode = default(string), string market = "en-us", IList <string> responseFilter = default(IList <string>), IList <string> responseFormat = default(IList <string>), string safeSearch = default(string), string setLang = default(string)) { return(operations.SearchAsync(query, acceptLanguage, pragma, userAgent, clientId, clientIp, location, countryCode, market, responseFilter, responseFormat, safeSearch, setLang).GetAwaiter().GetResult()); }
/// <summary> /// List all entities (Management Groups, Subscriptions, etc.) for the /// authenticated user. /// /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='skiptoken'> /// Page continuation token is only used if a previous operation returned a /// partial result. /// If a previous response contains a nextLink element, the value of the /// nextLink element will include a token parameter that specifies a starting /// point to use for subsequent calls. /// </param> /// <param name='skip'> /// Number of entities to skip over when retrieving results. Passing this in /// will override $skipToken. /// </param> /// <param name='top'> /// Number of elements to return when retrieving results. Passing this in will /// override $skipToken. /// </param> /// <param name='select'> /// This parameter specifies the fields to include in the response. Can include /// any combination of /// Name,DisplayName,Type,ParentDisplayNameChain,ParentChain, e.g. /// '$select=Name,DisplayName,Type,ParentDisplayNameChain,ParentNameChain'. /// When specified the $select parameter can override select in $skipToken. /// </param> /// <param name='search'> /// The $search parameter is used in conjunction with the $filter parameter to /// return three different outputs depending on the parameter passed in. /// With $search=AllowedParents the API will return the entity info of all /// groups that the requested entity will be able to reparent to as determined /// by the user's permissions. /// With $search=AllowedChildren the API will return the entity info of all /// entities that can be added as children of the requested entity. /// With $search=ParentAndFirstLevelChildren the API will return the parent and /// first level of children that the user has either direct access to or /// indirect access via one of their descendants. /// With $search=ParentOnly the API will return only the group if the user has /// access to at least one of the descendants of the group. /// With $search=ChildrenOnly the API will return only the first level of /// children of the group entity info specified in $filter. The user must have /// direct access to the children entities or one of it's descendants for it to /// show up in the results. Possible values include: 'AllowedParents', /// 'AllowedChildren', 'ParentAndFirstLevelChildren', 'ParentOnly', /// 'ChildrenOnly' /// </param> /// <param name='filter'> /// The filter parameter allows you to filter on the the name or display name /// fields. You can check for equality on the name field (e.g. name eq /// '{entityName}') and you can check for substrings on either the name or /// display name fields(e.g. contains(name, '{substringToSearch}'), /// contains(displayName, '{substringToSearch')). Note that the '{entityName}' /// and '{substringToSearch}' fields are checked case insensitively. /// </param> /// <param name='view'> /// The view parameter allows clients to filter the type of data that is /// returned by the getEntities call. Possible values include: 'FullHierarchy', /// 'GroupsOnly', 'SubscriptionsOnly', 'Audit' /// </param> /// <param name='groupName'> /// A filter which allows the get entities call to focus on a particular group /// (i.e. "$filter=name eq 'groupName'") /// </param> /// <param name='cacheControl'> /// Indicates whether the request should utilize any caches. Populate the /// header with 'no-cache' value to bypass existing caches. /// </param> public static IPage <EntityInfo> List(this IEntitiesOperations operations, string skiptoken = default(string), int?skip = default(int?), int?top = default(int?), string select = default(string), string search = default(string), string filter = default(string), string view = default(string), string groupName = default(string), string cacheControl = "no-cache") { return(operations.ListAsync(skiptoken, skip, top, select, search, filter, view, groupName, cacheControl).GetAwaiter().GetResult()); }
/// <summary> /// List all entities (Management Groups, Subscriptions, etc.) for the /// authenticated user. /// /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='nextPageLink'> /// The NextLink from the previous successful call to List operation. /// </param> /// <param name='cacheControl'> /// Indicates whether the request should utilize any caches. Populate the /// header with 'no-cache' value to bypass existing caches. /// </param> public static IPage <EntityInfo> ListNext(this IEntitiesOperations operations, string nextPageLink, string cacheControl = "no-cache") { return(operations.ListNextAsync(nextPageLink, cacheControl).GetAwaiter().GetResult()); }