Skip to content

Commit 7fb90b7

Browse files
authored
app config preview 4 (Azure#7319)
* Check in app config preview 4 * pylint fix * re-generate code per swagger change * add 409(AppConfigResourceReadOnlyError) support * Rename AppConfigResourceReadOnlyError to ResourceReadOnlyError * pylint fix * add support for set_read_only & clear_read_only * add support for has_changed + tests * etag implementation (Azure#7438) * etag implementation * update name * address review feedback * mark etag type None-able * pylint fixes * use fields rather than select * fix pylint * add dev-requirements * update readme * update tests * remove has_changed * add typing_extensions into azure core deps * update typing dep * update deps * simplify error map * add check to make sure etag is not double quoted * don't support conditionally set/release read only for this release
1 parent 2ed938f commit 7fb90b7

File tree

108 files changed

+18588
-16842
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

108 files changed

+18588
-16842
lines changed

sdk/appconfiguration/azure-appconfiguration/README.md

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,7 @@ pip install azure-appconfiguration
2323

2424
To create a Configuration Store, you can use the Azure Portal or [Azure CLI][azure_cli].
2525

26-
You need to install the Azure App Configuration CLI extension first by executing the following command:
27-
2826
After that, create the Configuration Store:
29-
```Powershell
30-
az extension add -n appconfig
31-
```
32-
3327

3428

3529
```Powershell

sdk/appconfiguration/azure-appconfiguration/azure/appconfiguration/__init__.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,9 @@
1010
# --------------------------------------------------------------------------
1111

1212
from .azure_appconfiguration_client import AzureAppConfigurationClient
13-
from ._generated.models import ConfigurationSetting
14-
from .version import VERSION
13+
from ._models import ConfigurationSetting
14+
from ._version import VERSION
15+
from ._azure_appconfiguration_error import ResourceReadOnlyError
1516

1617
__version__ = VERSION
17-
__all__ = ["AzureAppConfigurationClient", "ConfigurationSetting"]
18+
__all__ = ["AzureAppConfigurationClient", "ConfigurationSetting", "ResourceReadOnlyError"]
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# ------------------------------------------------------------------------
2+
# Copyright (c) Microsoft Corporation. All rights reserved.
3+
# Licensed under the MIT License. See License.txt in the project root for
4+
# license information.
5+
# -------------------------------------------------------------------------
6+
from azure.core.exceptions import HttpResponseError
7+
8+
class ResourceReadOnlyError(HttpResponseError):
9+
"""An error response with status code 409
10+
The key is read-only. To allow modification unlock it first."""

sdk/appconfiguration/azure-appconfiguration/azure/appconfiguration/_generated/__init__.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
# regenerated.
66
# --------------------------------------------------------------------------
77

8-
from ._configuration_client import ConfigurationClient
9-
10-
__all__ = ["ConfigurationClient"]
8+
from ._azure_app_configuration import AzureAppConfiguration
9+
__all__ = ['AzureAppConfiguration']
1110

1211
from .version import VERSION
1312

1413
__version__ = VERSION
14+

sdk/appconfiguration/azure-appconfiguration/azure/appconfiguration/_generated/_configuration_client.py renamed to sdk/appconfiguration/azure-appconfiguration/azure/appconfiguration/_generated/_azure_app_configuration.py

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,38 +8,40 @@
88
from azure.core import PipelineClient
99
from msrest import Serializer, Deserializer
1010

11-
from ._configuration import ConfigurationClientConfiguration
12-
from .operations import ConfigurationClientOperationsMixin
11+
from ._configuration import AzureAppConfigurationConfiguration
12+
from .operations import AzureAppConfigurationOperationsMixin
1313
from . import models
1414

1515

16-
class ConfigurationClient(ConfigurationClientOperationsMixin):
17-
"""Represents an Azure App Configuration Client
16+
class AzureAppConfiguration(AzureAppConfigurationOperationsMixin):
17+
"""AzureAppConfiguration
1818
1919
2020
:param credentials: Credentials needed for the client to connect to Azure.
2121
:type credentials: :mod:`A msrestazure Credentials
2222
object<msrestazure.azure_active_directory>`
23+
:param sync_token: Used to guarantee real-time consistency between
24+
requests.
25+
:type sync_token: str
2326
:param str base_url: Service URL
2427
"""
2528

26-
def __init__(self, credentials, base_url=None, **kwargs):
29+
def __init__(
30+
self, credentials, sync_token=None, base_url=None, **kwargs):
2731

2832
if not base_url:
29-
base_url = "http://localhost"
30-
self._config = ConfigurationClientConfiguration(credentials, **kwargs)
33+
base_url = 'http://localhost'
34+
self._config = AzureAppConfigurationConfiguration(credentials, sync_token, **kwargs)
3135
self._client = PipelineClient(base_url=base_url, config=self._config, **kwargs)
3236

33-
client_models = {
34-
k: v for k, v in models.__dict__.items() if isinstance(v, type)
35-
}
36-
self.api_version = "0.1"
37+
client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)}
38+
self.api_version = '1.0'
3739
self._serialize = Serializer(client_models)
3840
self._deserialize = Deserializer(client_models)
3941

42+
4043
def __enter__(self):
4144
self._client.__enter__()
4245
return self
43-
4446
def __exit__(self, *exc_details):
4547
self._client.__exit__(*exc_details)

sdk/appconfiguration/azure-appconfiguration/azure/appconfiguration/_generated/_configuration.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,28 +10,32 @@
1010
from .version import VERSION
1111

1212

13-
class ConfigurationClientConfiguration(Configuration):
14-
"""Configuration for ConfigurationClient
13+
class AzureAppConfigurationConfiguration(Configuration):
14+
"""Configuration for AzureAppConfiguration
1515
Note that all parameters used to create this instance are saved as instance
1616
attributes.
1717
1818
:param credentials: Credentials needed for the client to connect to Azure.
1919
:type credentials: :mod:`A msrestazure Credentials
2020
object<msrestazure.azure_active_directory>`
21+
:param sync_token: Used to guarantee real-time consistency between
22+
requests.
23+
:type sync_token: str
2124
"""
2225

23-
def __init__(self, credentials, **kwargs):
26+
def __init__(self, credentials, sync_token=None, **kwargs):
2427

2528
if credentials is None:
2629
raise ValueError("Parameter 'credentials' must not be None.")
2730

28-
super(ConfigurationClientConfiguration, self).__init__(**kwargs)
31+
super(AzureAppConfigurationConfiguration, self).__init__(**kwargs)
2932
self._configure(**kwargs)
3033

31-
self.user_agent_policy.add_user_agent('azsdk-python-configurationclient/{}'.format(VERSION))
34+
self.user_agent_policy.add_user_agent('azsdk-python-azureappconfiguration/{}'.format(VERSION))
3235
self.generate_client_request_id = True
3336

3437
self.credentials = credentials
38+
self.sync_token = sync_token
3539

3640
def _configure(self, **kwargs):
3741
self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs)

sdk/appconfiguration/azure-appconfiguration/azure/appconfiguration/_generated/aio/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,5 @@
55
# regenerated.
66
# --------------------------------------------------------------------------
77

8-
from ._configuration_client_async import ConfigurationClient
9-
__all__ = ['ConfigurationClient']
8+
from ._azure_app_configuration_async import AzureAppConfiguration
9+
__all__ = ['AzureAppConfiguration']
Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,31 +8,34 @@
88
from azure.core import AsyncPipelineClient
99
from msrest import Serializer, Deserializer
1010

11-
from ._configuration_async import ConfigurationClientConfiguration
12-
from .operations_async import ConfigurationClientOperationsMixin
11+
from ._configuration_async import AzureAppConfigurationConfiguration
12+
from .operations_async import AzureAppConfigurationOperationsMixin
1313
from .. import models
1414

1515

16-
class ConfigurationClient(ConfigurationClientOperationsMixin):
17-
"""Represents an Azure App Configuration Client
16+
class AzureAppConfiguration(AzureAppConfigurationOperationsMixin):
17+
"""AzureAppConfiguration
1818
1919
2020
:param credentials: Credentials needed for the client to connect to Azure.
2121
:type credentials: :mod:`A msrestazure Credentials
2222
object<msrestazure.azure_active_directory>`
23+
:param sync_token: Used to guarantee real-time consistency between
24+
requests.
25+
:type sync_token: str
2326
:param str base_url: Service URL
2427
"""
2528

2629
def __init__(
27-
self, credentials, base_url=None, **kwargs):
30+
self, credentials, sync_token=None, base_url=None, **kwargs):
2831

2932
if not base_url:
3033
base_url = 'http://localhost'
31-
self._config = ConfigurationClientConfiguration(credentials, **kwargs)
34+
self._config = AzureAppConfigurationConfiguration(credentials, sync_token, **kwargs)
3235
self._client = AsyncPipelineClient(base_url=base_url, config=self._config, **kwargs)
3336

3437
client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)}
35-
self.api_version = '0.1'
38+
self.api_version = '1.0'
3639
self._serialize = Serializer(client_models)
3740
self._deserialize = Deserializer(client_models)
3841

sdk/appconfiguration/azure-appconfiguration/azure/appconfiguration/_generated/aio/_configuration_async.py

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,34 +4,38 @@
44
# Changes may cause incorrect behavior and will be lost if the code is
55
# regenerated.
66
# --------------------------------------------------------------------------
7-
from azure.core.configuration import Configuration, ConnectionConfiguration
7+
from azure.core.configuration import Configuration
88
from azure.core.pipeline import policies
99

1010
from ..version import VERSION
1111

1212

13-
class ConfigurationClientConfiguration(Configuration):
14-
"""Configuration for ConfigurationClient
13+
class AzureAppConfigurationConfiguration(Configuration):
14+
"""Configuration for AzureAppConfiguration
1515
Note that all parameters used to create this instance are saved as instance
1616
attributes.
1717
1818
:param credentials: Credentials needed for the client to connect to Azure.
1919
:type credentials: :mod:`A msrestazure Credentials
2020
object<msrestazure.azure_active_directory>`
21+
:param sync_token: Used to guarantee real-time consistency between
22+
requests.
23+
:type sync_token: str
2124
"""
2225

23-
def __init__(self, credentials, **kwargs):
26+
def __init__(self, credentials, sync_token=None, **kwargs):
2427

2528
if credentials is None:
2629
raise ValueError("Parameter 'credentials' must not be None.")
2730

28-
super(ConfigurationClientConfiguration, self).__init__(**kwargs)
31+
super(AzureAppConfigurationConfiguration, self).__init__(**kwargs)
2932
self._configure(**kwargs)
3033

31-
self.user_agent_policy.add_user_agent('azsdk-python-configurationclient/{}'.format(VERSION))
34+
self.user_agent_policy.add_user_agent('azsdk-python-azureappconfiguration/{}'.format(VERSION))
3235
self.generate_client_request_id = True
3336

3437
self.credentials = credentials
38+
self.sync_token = sync_token
3539

3640
def _configure(self, **kwargs):
3741
self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs)

sdk/appconfiguration/azure-appconfiguration/azure/appconfiguration/_generated/aio/operations_async/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
# regenerated.
66
# --------------------------------------------------------------------------
77

8-
from ._configuration_client_operations_async import ConfigurationClientOperationsMixin
8+
from ._azure_app_configuration_operations_async import AzureAppConfigurationOperationsMixin
99

1010
__all__ = [
11-
'ConfigurationClientOperationsMixin',
11+
'AzureAppConfigurationOperationsMixin',
1212
]

0 commit comments

Comments
 (0)