azure.appconfiguration package

Submodules

azure.appconfiguration.azure_appconfiguration_client module

azure.appconfiguration.azure_appconfiguration_credential module

azure.appconfiguration.azure_appconfiguration_requests module

Module contents

exception azure.appconfiguration.ResourceReadOnlyError(message=None, response=None, **kwargs)[source]

Bases: azure.core.exceptions.HttpResponseError

An error response with status code 409

The key is read-only.

To allow modification unlock it first.

class azure.appconfiguration.AzureAppConfigurationClient(base_url: str, credential: Any, **kwargs: dict)[source]

Bases: object

Represents an client that calls restful API of Azure App Configuration service.

Parameters
  • base_url (str) – base url of the service

  • credential (azure.AppConfigConnectionStringCredential) – An object which can provide secrets for the app configuration service

Keyword Arguments
  • pipeline (Pipeline) – If omitted, the standard pipeline is used.

  • transport (HttpTransport) – If omitted, the standard pipeline is used.

  • policies (list[HTTPPolicy]) – If omitted, the standard pipeline is used.

add_configuration_setting(configuration_setting: azure.appconfiguration._models.ConfigurationSetting, **kwargs: dict) → azure.appconfiguration._models.ConfigurationSetting[source]

Add a ConfigurationSetting into the Azure App Configuration service.

Parameters

configuration_setting (ConfigurationSetting) – the ConfigurationSetting object to be added

Keyword Arguments

headers (dict) – if “headers” exists, its value (a dict) will be added to the http request header

Returns

The ConfigurationSetting object returned from the App Configuration service

Return type

ConfigurationSetting

Raises

HttpResponseError, ClientAuthenticationError, ResourceExistsError

Example

config_setting = ConfigurationSetting(
    key="MyKey",
    label="MyLabel",
    value="my value",
    content_type="my content type",
    tags={"my tag": "my tag value"}
)
added_config_setting = client.add_configuration_setting(config_setting)
delete_configuration_setting(key: str, label: Optional[str] = None, **kwargs: dict) → ConfigurationSetting[source]

Delete a ConfigurationSetting if it exists

Parameters
  • key (str) – key used to identify the ConfigurationSetting

  • label (str) – label used to identify the ConfigurationSetting

Keyword Arguments
  • etag (str) – check if the ConfigurationSetting is changed. Set None to skip checking etag

  • match_condition (MatchConditions) – the match condition to use upon the etag

  • headers (dict) – if “headers” exists, its value (a dict) will be added to the http request

Returns

The deleted ConfigurationSetting returned from the service, or None if it doesn’t exist.

Return type

ConfigurationSetting

Raises

HttpResponseError, ClientAuthenticationError, ResourceReadOnlyError, ResourceModifiedError, ResourceNotModifiedError, ResourceNotFoundError, ResourceExistsError

Example

deleted_config_setting = client.delete_configuration_setting(
    key="MyKey", label="MyLabel"
)
classmethod from_connection_string(connection_string: str, **kwargs: dict) → azure.appconfiguration._azure_appconfiguration_client.AzureAppConfigurationClient[source]

Create AzureAppConfigurationClient from a Connection String.

param connection_string

Connection String (one of the access keys of the Azure App Configuration resource) used to access the Azure App Configuration.

type connection_string

str

Example

from azure.appconfiguration import AzureAppConfigurationClient
connection_str = "<my connection string>"
client = AzureAppConfigurationClient.from_connection_string(connection_str)
get_configuration_setting(key: str, label: Optional[str] = None, etag: Optional[str] = '*', match_condition: Optional[MatchConditions] = <MatchConditions.Unconditionally: 1>, **kwargs: dict) → ConfigurationSetting[source]

Get the matched ConfigurationSetting from Azure App Configuration service

Parameters
  • key (str) – key of the ConfigurationSetting

  • label (str) – label of the ConfigurationSetting

  • etag (str or None) – check if the ConfigurationSetting is changed. Set None to skip checking etag

  • match_condition (MatchConditions) – the match condition to use upon the etag

Keyword Arguments
  • accept_datetime (datetime) – the retrieved ConfigurationSetting that created no later than this datetime

  • headers (dict) – if “headers” exists, its value (a dict) will be added to the http request header

Returns

The matched ConfigurationSetting object

Return type

ConfigurationSetting

Raises

HttpResponseError, ClientAuthenticationError, ResourceNotFoundError, ResourceModifiedError, ResourceExistsError

Example

fetched_config_setting = client.get_configuration_setting(
    key="MyKey", label="MyLabel"
)
list_configuration_settings(key_filter: Optional[str] = None, label_filter: Optional[str] = None, **kwargs: dict) → azure.core.paging.ItemPaged[ConfigurationSetting][source]

List the configuration settings stored in the configuration service, optionally filtered by label and accept_datetime

Parameters
  • key_filter (str) – filter results based on their keys. ‘*’ can be used as wildcard in the beginning or end of the filter

  • label_filter (str) – filter results based on their label. ‘*’ can be used as wildcard in the beginning or end of the filter

Keyword Arguments
  • accept_datetime (datetime) – filter out ConfigurationSetting created after this datetime

  • fields (list[str]) – specify which fields to include in the results. Leave None to include all fields

  • headers (dict) – if “headers” exists, its value (a dict) will be added to the http request header

Returns

An iterator of ConfigurationSetting

Return type

azure.core.paging.ItemPaged[ConfigurationSetting]

Raises

HttpResponseError, ClientAuthenticationError

Example

from datetime import datetime, timedelta

accept_datetime = datetime.today() + timedelta(days=-1)

all_listed = client.list_configuration_settings()
for item in all_listed:
    pass  # do something

filtered_listed = client.list_configuration_settings(
    label_filter="*Labe*", key_filter="*Ke*", accept_datetime=accept_datetime
)
for item in filtered_listed:
    pass  # do something
list_revisions(key_filter: Optional[str] = None, label_filter: Optional[str] = None, **kwargs: dict) → azure.core.paging.ItemPaged[ConfigurationSetting][source]

Find the ConfigurationSetting revision history.

Parameters
  • key_filter (str) – filter results based on their keys. ‘*’ can be used as wildcard in the beginning or end of the filter

  • label_filter (str) – filter results based on their label. ‘*’ can be used as wildcard in the beginning or end of the filter

Keyword Arguments
  • accept_datetime (datetime) – filter out ConfigurationSetting created after this datetime

  • fields (list[str]) – specify which fields to include in the results. Leave None to include all fields

  • headers (dict) – if “headers” exists, its value (a dict) will be added to the http request header

Returns

An iterator of ConfigurationSetting

Return type

azure.core.paging.ItemPaged[ConfigurationSetting]

Raises

HttpResponseError, ClientAuthenticationError

Example

from datetime import datetime, timedelta

accept_datetime = datetime.today() + timedelta(days=-1)

all_revisions = client.list_revisions()
for item in all_revisions:
    pass  # do something

filtered_revisions = client.list_revisions(
    label_filter="*Labe*", key_filter="*Ke*", accept_datetime=accept_datetime
)
for item in filtered_revisions:
    pass  # do something
set_configuration_setting(configuration_setting: ConfigurationSetting, match_condition: Optional[MatchConditions] = <MatchConditions.Unconditionally: 1>, **kwargs: dict) → ConfigurationSetting[source]

Add or update a ConfigurationSetting. If the configuration setting identified by key and label does not exist, this is a create. Otherwise this is an update.

Parameters
  • configuration_setting (ConfigurationSetting) – the ConfigurationSetting to be added (if not exists) or updated (if exists) to the service

  • match_condition (MatchConditions) – the match condition to use upon the etag

Keyword Arguments

headers (dict) – if “headers” exists, its value (a dict) will be added to the http request header

Returns

The ConfigurationSetting returned from the service

Return type

ConfigurationSetting

Raises

HttpResponseError, ClientAuthenticationError, ResourceReadOnlyError, ResourceModifiedError, ResourceNotModifiedError, ResourceNotFoundError, ResourceExistsError

Example

config_setting = ConfigurationSetting(
    key="MyKey",
    label="MyLabel",
    value="my set value",
    content_type="my set content type",
    tags={"my set tag": "my set tag value"}
)
returned_config_setting = client.set_configuration_setting(config_setting)
set_read_only(configuration_setting: ConfigurationSetting, read_only: Optional[bool] = True, **kwargs: dict) → ConfigurationSetting[source]

Set a configuration setting read only

Parameters
  • configuration_setting (ConfigurationSetting) – the ConfigurationSetting to be set read only

  • read_only (bool) – set the read only setting if true, else clear the read only setting

Keyword Arguments

headers (dict) – if “headers” exists, its value (a dict) will be added to the http request header

Returns

The ConfigurationSetting returned from the service

Return type

ConfigurationSetting

Raises

HttpResponseError, ClientAuthenticationError, ResourceNotFoundError

Example

config_setting = client.get_configuration_setting(
    key="MyKey", label="MyLabel"
)

read_only_config_setting = client.set_read_only(config_setting)
read_only_config_setting = client.set_read_only(config_setting, read_only=False)
class azure.appconfiguration.ConfigurationSetting(**kwargs)[source]

Bases: msrest.serialization.Model

A configuration value. Variables are only populated by the server, and will be ignored when sending a request. :ivar etag: Entity tag (etag) of the object :vartype etag: str :param key: :type key: str :param label: :type label: str :param content_type: :type content_type: str :param value: :type value: str :ivar last_modified: :vartype last_modified: datetime :ivar read_only: :vartype read_only: bool :param tags: :type tags: dict[str, str]