In the Python code there were more validated string types that haven't been properly ported for use in the C# code (such as Region). Add that type back in and improve some others:
- Use `Region` type to represent regions (implicitly convertible to/from the `AzureLocation` SDK type)
- Improve validation of `Container` type to match Azure specs and use it in more places
- Restore/fix validation of `PoolName` type which was previously removed (#2080) due to being too strict: now allows 1-64 ASCII alphanumeric/hyphen/dash
- We want to restrict pool names so that we can use them as disambiguating prefixes for scaleset names (see #2189). Note that underscore is not actually permitted in scaleset names so we will probably end up mapping it to hyphen.
Note that once C#7 lands we will be able to simplify the usage of `ValidatedString` a lot (using static abstract methods).
----
Open questions:
For deserializing from "known-good" places such as table storage or from Azure SDK APIs, should we have an `T.UnsafeAssumeValid(string input)` method which does no validation, to protect us from breakage?
* fix a memory leak
* fix another memory leak
* remove extra queries
* formatting
* do not throw when scale set cannot be updated
Co-authored-by: stas <statis@microsoft.com>
Closes#1366 and incidentally closes#1266.
Requires using a not-yet-merged modification to the latest version of `appinsights-rs` to remove the `time` feature from the `chrono` dependency (https://github.com/dmolokanov/appinsights-rs/pull/280).
There are changes to use the new (tokio-based) version of `appinsights-rs`, e.g., made `set_appinsights_clients` async to ensure it is always called from an async context, since the constructor for appinsights now invokes `Tokio::spawn`.
* enable running dot-net function on Windows to allow attaching remote debugger
* rename from 'use_windows' to 'host_dotnet_on_windows'
* instructions
* reformat deploy.py
Co-authored-by: stas <statis@microsoft.com>
* more tests
* revert compute, since "released" version has bug when creating scaleset extensions
* format
* found bug, i think...
* now should be fixed
Co-authored-by: stas <statis@microsoft.com>
Closes#2314 via two fixes, one for additional properties and one for missing properties:
- Make all request types inherit from `BaseRequest` which has an `ExtensionData` property, and ensure that it is empty in `ParseRequest`.
- Add `[Required]` attribute to non-nullable properties that do not have defaults, and add a test that ensures we have this attribute where necessary.
* Remove the max_elapsed_time limit from az_copy
The code still relies on the number of retry to limit the requests
* add MAX_FAILURE_COUNT and MAX_RETRY_COUNT
* more functional tests
* more tests
* bug fixes
* OneFuzz results do not map one to one with datastructures. So add support for multiple datastructures to be returned per API
* more tests
* format fixes
Co-authored-by: stas <statis@microsoft.com>