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 .tracked_resource_py3 import TrackedResource
13
14
15class Profile(TrackedResource):
16    """Class representing a Traffic Manager profile.
17
18    :param id: Fully qualified resource Id for the resource. Ex -
19     /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{resourceName}
20    :type id: str
21    :param name: The name of the resource
22    :type name: str
23    :param type: The type of the resource. Ex-
24     Microsoft.Network/trafficManagerProfiles.
25    :type type: str
26    :param tags: Resource tags.
27    :type tags: dict[str, str]
28    :param location: The Azure Region where the resource lives
29    :type location: str
30    :param profile_status: The status of the Traffic Manager profile. Possible
31     values include: 'Enabled', 'Disabled'
32    :type profile_status: str or
33     ~azure.mgmt.trafficmanager.models.ProfileStatus
34    :param traffic_routing_method: The traffic routing method of the Traffic
35     Manager profile. Possible values include: 'Performance', 'Priority',
36     'Weighted', 'Geographic', 'MultiValue', 'Subnet'
37    :type traffic_routing_method: str or
38     ~azure.mgmt.trafficmanager.models.TrafficRoutingMethod
39    :param dns_config: The DNS settings of the Traffic Manager profile.
40    :type dns_config: ~azure.mgmt.trafficmanager.models.DnsConfig
41    :param monitor_config: The endpoint monitoring settings of the Traffic
42     Manager profile.
43    :type monitor_config: ~azure.mgmt.trafficmanager.models.MonitorConfig
44    :param endpoints: The list of endpoints in the Traffic Manager profile.
45    :type endpoints: list[~azure.mgmt.trafficmanager.models.Endpoint]
46    :param traffic_view_enrollment_status: Indicates whether Traffic View is
47     'Enabled' or 'Disabled' for the Traffic Manager profile. Null, indicates
48     'Disabled'. Enabling this feature will increase the cost of the Traffic
49     Manage profile. Possible values include: 'Enabled', 'Disabled'
50    :type traffic_view_enrollment_status: str or
51     ~azure.mgmt.trafficmanager.models.TrafficViewEnrollmentStatus
52    :param max_return: Maximum number of endpoints to be returned for
53     MultiValue routing type.
54    :type max_return: long
55    """
56
57    _attribute_map = {
58        'id': {'key': 'id', 'type': 'str'},
59        'name': {'key': 'name', 'type': 'str'},
60        'type': {'key': 'type', 'type': 'str'},
61        'tags': {'key': 'tags', 'type': '{str}'},
62        'location': {'key': 'location', 'type': 'str'},
63        'profile_status': {'key': 'properties.profileStatus', 'type': 'str'},
64        'traffic_routing_method': {'key': 'properties.trafficRoutingMethod', 'type': 'str'},
65        'dns_config': {'key': 'properties.dnsConfig', 'type': 'DnsConfig'},
66        'monitor_config': {'key': 'properties.monitorConfig', 'type': 'MonitorConfig'},
67        'endpoints': {'key': 'properties.endpoints', 'type': '[Endpoint]'},
68        'traffic_view_enrollment_status': {'key': 'properties.trafficViewEnrollmentStatus', 'type': 'str'},
69        'max_return': {'key': 'properties.maxReturn', 'type': 'long'},
70    }
71
72    def __init__(self, *, id: str=None, name: str=None, type: str=None, tags=None, location: str=None, profile_status=None, traffic_routing_method=None, dns_config=None, monitor_config=None, endpoints=None, traffic_view_enrollment_status=None, max_return: int=None, **kwargs) -> None:
73        super(Profile, self).__init__(id=id, name=name, type=type, tags=tags, location=location, **kwargs)
74        self.profile_status = profile_status
75        self.traffic_routing_method = traffic_routing_method
76        self.dns_config = dns_config
77        self.monitor_config = monitor_config
78        self.endpoints = endpoints
79        self.traffic_view_enrollment_status = traffic_view_enrollment_status
80        self.max_return = max_return
81