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 license information.
5# Code generated by Microsoft (R) AutoRest Code Generator.
6# Changes may cause incorrect behavior and will be lost if the code is regenerated.
7# --------------------------------------------------------------------------
8
9import msrest.serialization
10
11
12class FeatureOperationsListResult(msrest.serialization.Model):
13    """List of previewed features.
14
15    :param value: The array of features.
16    :type value: list[~azure.mgmt.resource.features.v2015_12_01.models.FeatureResult]
17    :param next_link: The URL to use for getting the next set of results.
18    :type next_link: str
19    """
20
21    _attribute_map = {
22        'value': {'key': 'value', 'type': '[FeatureResult]'},
23        'next_link': {'key': 'nextLink', 'type': 'str'},
24    }
25
26    def __init__(
27        self,
28        **kwargs
29    ):
30        super(FeatureOperationsListResult, self).__init__(**kwargs)
31        self.value = kwargs.get('value', None)
32        self.next_link = kwargs.get('next_link', None)
33
34
35class FeatureProperties(msrest.serialization.Model):
36    """Information about feature.
37
38    :param state: The registration state of the feature for the subscription.
39    :type state: str
40    """
41
42    _attribute_map = {
43        'state': {'key': 'state', 'type': 'str'},
44    }
45
46    def __init__(
47        self,
48        **kwargs
49    ):
50        super(FeatureProperties, self).__init__(**kwargs)
51        self.state = kwargs.get('state', None)
52
53
54class FeatureResult(msrest.serialization.Model):
55    """Previewed feature information.
56
57    :param name: The name of the feature.
58    :type name: str
59    :param properties: Properties of the previewed feature.
60    :type properties: ~azure.mgmt.resource.features.v2015_12_01.models.FeatureProperties
61    :param id: The resource ID of the feature.
62    :type id: str
63    :param type: The resource type of the feature.
64    :type type: str
65    """
66
67    _attribute_map = {
68        'name': {'key': 'name', 'type': 'str'},
69        'properties': {'key': 'properties', 'type': 'FeatureProperties'},
70        'id': {'key': 'id', 'type': 'str'},
71        'type': {'key': 'type', 'type': 'str'},
72    }
73
74    def __init__(
75        self,
76        **kwargs
77    ):
78        super(FeatureResult, self).__init__(**kwargs)
79        self.name = kwargs.get('name', None)
80        self.properties = kwargs.get('properties', None)
81        self.id = kwargs.get('id', None)
82        self.type = kwargs.get('type', None)
83
84
85class Operation(msrest.serialization.Model):
86    """Microsoft.Features operation.
87
88    :param name: Operation name: {provider}/{resource}/{operation}.
89    :type name: str
90    :param display: The object that represents the operation.
91    :type display: ~azure.mgmt.resource.features.v2015_12_01.models.OperationDisplay
92    """
93
94    _attribute_map = {
95        'name': {'key': 'name', 'type': 'str'},
96        'display': {'key': 'display', 'type': 'OperationDisplay'},
97    }
98
99    def __init__(
100        self,
101        **kwargs
102    ):
103        super(Operation, self).__init__(**kwargs)
104        self.name = kwargs.get('name', None)
105        self.display = kwargs.get('display', None)
106
107
108class OperationDisplay(msrest.serialization.Model):
109    """The object that represents the operation.
110
111    :param provider: Service provider: Microsoft.Features.
112    :type provider: str
113    :param resource: Resource on which the operation is performed: Profile, endpoint, etc.
114    :type resource: str
115    :param operation: Operation type: Read, write, delete, etc.
116    :type operation: str
117    """
118
119    _attribute_map = {
120        'provider': {'key': 'provider', 'type': 'str'},
121        'resource': {'key': 'resource', 'type': 'str'},
122        'operation': {'key': 'operation', 'type': 'str'},
123    }
124
125    def __init__(
126        self,
127        **kwargs
128    ):
129        super(OperationDisplay, self).__init__(**kwargs)
130        self.provider = kwargs.get('provider', None)
131        self.resource = kwargs.get('resource', None)
132        self.operation = kwargs.get('operation', None)
133
134
135class OperationListResult(msrest.serialization.Model):
136    """Result of the request to list Microsoft.Features operations. It contains a list of operations and a URL link to get the next set of results.
137
138    :param value: List of Microsoft.Features operations.
139    :type value: list[~azure.mgmt.resource.features.v2015_12_01.models.Operation]
140    :param next_link: URL to get the next set of operation list results if there are any.
141    :type next_link: str
142    """
143
144    _attribute_map = {
145        'value': {'key': 'value', 'type': '[Operation]'},
146        'next_link': {'key': 'nextLink', 'type': 'str'},
147    }
148
149    def __init__(
150        self,
151        **kwargs
152    ):
153        super(OperationListResult, self).__init__(**kwargs)
154        self.value = kwargs.get('value', None)
155        self.next_link = kwargs.get('next_link', None)
156