1# coding=utf-8
2# --------------------------------------------------------------------------
3# Copyright (c) Microsoft Corporation. All rights reserved.
4# Licensed under the MIT License. See License.txt in the project root for
5# license information.
6#
7# Code generated by Microsoft (R) AutoRest Code Generator.
8# Changes may cause incorrect behavior and will be lost if the code is
9# regenerated.
10# --------------------------------------------------------------------------
11
12from msrest.service_client import SDKClient
13from msrest import Serializer, Deserializer
14from msrestazure import AzureConfiguration
15from .version import VERSION
16from .operations.endpoints_operations import EndpointsOperations
17from .operations.profiles_operations import ProfilesOperations
18from .operations.geographic_hierarchies_operations import GeographicHierarchiesOperations
19from .operations.heat_map_operations import HeatMapOperations
20from .operations.traffic_manager_user_metrics_keys_operations import TrafficManagerUserMetricsKeysOperations
21from . import models
22
23
24class TrafficManagerManagementClientConfiguration(AzureConfiguration):
25    """Configuration for TrafficManagerManagementClient
26    Note that all parameters used to create this instance are saved as instance
27    attributes.
28
29    :param credentials: Credentials needed for the client to connect to Azure.
30    :type credentials: :mod:`A msrestazure Credentials
31     object<msrestazure.azure_active_directory>`
32    :param subscription_id: Gets subscription credentials which uniquely
33     identify Microsoft Azure subscription. The subscription ID forms part of
34     the URI for every service call.
35    :type subscription_id: str
36    :param str base_url: Service URL
37    """
38
39    def __init__(
40            self, credentials, subscription_id, base_url=None):
41
42        if credentials is None:
43            raise ValueError("Parameter 'credentials' must not be None.")
44        if subscription_id is None:
45            raise ValueError("Parameter 'subscription_id' must not be None.")
46        if not base_url:
47            base_url = 'https://management.azure.com'
48
49        super(TrafficManagerManagementClientConfiguration, self).__init__(base_url)
50
51        self.add_user_agent('azure-mgmt-trafficmanager/{}'.format(VERSION))
52        self.add_user_agent('Azure-SDK-For-Python')
53
54        self.credentials = credentials
55        self.subscription_id = subscription_id
56
57
58class TrafficManagerManagementClient(SDKClient):
59    """TrafficManagerManagementClient
60
61    :ivar config: Configuration for client.
62    :vartype config: TrafficManagerManagementClientConfiguration
63
64    :ivar endpoints: Endpoints operations
65    :vartype endpoints: azure.mgmt.trafficmanager.operations.EndpointsOperations
66    :ivar profiles: Profiles operations
67    :vartype profiles: azure.mgmt.trafficmanager.operations.ProfilesOperations
68    :ivar geographic_hierarchies: GeographicHierarchies operations
69    :vartype geographic_hierarchies: azure.mgmt.trafficmanager.operations.GeographicHierarchiesOperations
70    :ivar heat_map: HeatMap operations
71    :vartype heat_map: azure.mgmt.trafficmanager.operations.HeatMapOperations
72    :ivar traffic_manager_user_metrics_keys: TrafficManagerUserMetricsKeys operations
73    :vartype traffic_manager_user_metrics_keys: azure.mgmt.trafficmanager.operations.TrafficManagerUserMetricsKeysOperations
74
75    :param credentials: Credentials needed for the client to connect to Azure.
76    :type credentials: :mod:`A msrestazure Credentials
77     object<msrestazure.azure_active_directory>`
78    :param subscription_id: Gets subscription credentials which uniquely
79     identify Microsoft Azure subscription. The subscription ID forms part of
80     the URI for every service call.
81    :type subscription_id: str
82    :param str base_url: Service URL
83    """
84
85    def __init__(
86            self, credentials, subscription_id, base_url=None):
87
88        self.config = TrafficManagerManagementClientConfiguration(credentials, subscription_id, base_url)
89        super(TrafficManagerManagementClient, self).__init__(self.config.credentials, self.config)
90
91        client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)}
92        self.api_version = '2018-04-01'
93        self._serialize = Serializer(client_models)
94        self._deserialize = Deserializer(client_models)
95
96        self.endpoints = EndpointsOperations(
97            self._client, self.config, self._serialize, self._deserialize)
98        self.profiles = ProfilesOperations(
99            self._client, self.config, self._serialize, self._deserialize)
100        self.geographic_hierarchies = GeographicHierarchiesOperations(
101            self._client, self.config, self._serialize, self._deserialize)
102        self.heat_map = HeatMapOperations(
103            self._client, self.config, self._serialize, self._deserialize)
104        self.traffic_manager_user_metrics_keys = TrafficManagerUserMetricsKeysOperations(
105            self._client, self.config, self._serialize, self._deserialize)
106