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?
* migrate task
* cleanup
* NotSupported instead of NotImplemented
* address pr comments
fix function name
* fix default value
* rename base state
* add caching
* return the task when deleting
* build fix
* format
* Migrating notification
* add dotnet enpoint setting in the config
* format
* fix unit test
* format
* build fix
* fix notifictions function definition
* fix deserilization of requests
refactor secretdata
finish transfering Notifiction objects
* format
* Fix execution of timerProxy
- fixed behavior of Container.SaveBlob (file was not being overwritten)
- added support for default value in the entity converter
- fix scaleset size data type
- added initialization of Subnet
- renamed TestHook Info to _Info to prevent clashing of name function mame
- added target framework to ApiServiceProject to help local debugging
* fix unit tests
* fix unit tests
* remove unused property
* fix typo
* removing partial class TimerProxy
1. Ports the `node` function from Python to C#.
2. Adds a missing authentication check.
3. Add validated string type `PoolName` for consistency with Python version.
* Checkpoint
* Checkpoint
* More merge resolving
* Code complete
* Tested that it works
* Keep the queue name different for now
* Query was wrong, should be and
* Style
* Fix compile issue
* Change report to use string instead of SHA, fixes tests as well
* PR comments
* Comments and formatting
* Add property based testing
* comment out failing test (service code will be fixed later)
* add some json serialization tests
Co-authored-by: stas <statis@microsoft.com>