# azure.appconfiguration package

## Subpackages

- azure.appconfiguration.aio package
  - Submodules
  - azure.appconfiguration.aio.azure_configuration_client_async module
  - Module contents

## 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)

  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, credential, **kwargs)

  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, **kwargs)

    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, label=None, **kwargs)

    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, **kwargs)

    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, label=None, etag='*', match_condition=<MatchConditions.Unconditionally: 1>, **kwargs)

    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=None, label_filter=None, **kwargs)

    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=None, label_filter=None, **kwargs)

    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, match_condition=<MatchConditions.Unconditionally: 1>, **kwargs)

    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, read_only=True, **kwargs)

    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)

  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]