azure_mgmt_resources 0.16.0 → 0.17.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (142) hide show
  1. checksums.yaml +4 -4
  2. data/lib/2016-02-01/generated/azure_mgmt_resources/models/deployment_extended.rb +1 -0
  3. data/lib/2016-02-01/generated/azure_mgmt_resources/models/tag_details.rb +1 -0
  4. data/lib/2016-02-01/generated/azure_mgmt_resources/models/tag_value.rb +1 -0
  5. data/lib/2016-02-01/generated/azure_mgmt_resources/resource_management_client.rb +8 -9
  6. data/lib/2016-07-01/generated/azure_mgmt_resources/models/deployment_extended.rb +1 -0
  7. data/lib/2016-07-01/generated/azure_mgmt_resources/models/tag_details.rb +1 -0
  8. data/lib/2016-07-01/generated/azure_mgmt_resources/models/tag_value.rb +1 -0
  9. data/lib/2016-07-01/generated/azure_mgmt_resources/resource_management_client.rb +7 -6
  10. data/lib/2016-09-01/generated/azure_mgmt_resources/models/deployment_extended.rb +1 -0
  11. data/lib/2016-09-01/generated/azure_mgmt_resources/models/tag_details.rb +1 -0
  12. data/lib/2016-09-01/generated/azure_mgmt_resources/models/tag_value.rb +1 -0
  13. data/lib/2016-09-01/generated/azure_mgmt_resources/resource_management_client.rb +7 -6
  14. data/lib/2017-05-10/generated/azure_mgmt_resources/models/deployment_extended.rb +1 -0
  15. data/lib/2017-05-10/generated/azure_mgmt_resources/models/resource.rb +1 -1
  16. data/lib/2017-05-10/generated/azure_mgmt_resources/models/resource_provider_operation_display_properties.rb +1 -1
  17. data/lib/2017-05-10/generated/azure_mgmt_resources/models/tag_details.rb +1 -0
  18. data/lib/2017-05-10/generated/azure_mgmt_resources/models/tag_value.rb +1 -0
  19. data/lib/2017-05-10/generated/azure_mgmt_resources/resource_management_client.rb +7 -6
  20. data/lib/2018-02-01/generated/azure_mgmt_resources.rb +83 -0
  21. data/lib/2018-02-01/generated/azure_mgmt_resources/deployment_operations.rb +350 -0
  22. data/lib/2018-02-01/generated/azure_mgmt_resources/deployments.rb +1136 -0
  23. data/lib/2018-02-01/generated/azure_mgmt_resources/models/alias_path_type.rb +65 -0
  24. data/lib/2018-02-01/generated/azure_mgmt_resources/models/alias_type.rb +66 -0
  25. data/lib/2018-02-01/generated/azure_mgmt_resources/models/basic_dependency.rb +68 -0
  26. data/lib/2018-02-01/generated/azure_mgmt_resources/models/debug_setting.rb +54 -0
  27. data/lib/2018-02-01/generated/azure_mgmt_resources/models/dependency.rb +88 -0
  28. data/lib/2018-02-01/generated/azure_mgmt_resources/models/deployment.rb +47 -0
  29. data/lib/2018-02-01/generated/azure_mgmt_resources/models/deployment_export_result.rb +46 -0
  30. data/lib/2018-02-01/generated/azure_mgmt_resources/models/deployment_extended.rb +70 -0
  31. data/lib/2018-02-01/generated/azure_mgmt_resources/models/deployment_extended_filter.rb +46 -0
  32. data/lib/2018-02-01/generated/azure_mgmt_resources/models/deployment_list_result.rb +99 -0
  33. data/lib/2018-02-01/generated/azure_mgmt_resources/models/deployment_mode.rb +16 -0
  34. data/lib/2018-02-01/generated/azure_mgmt_resources/models/deployment_operation.rb +71 -0
  35. data/lib/2018-02-01/generated/azure_mgmt_resources/models/deployment_operation_properties.rb +134 -0
  36. data/lib/2018-02-01/generated/azure_mgmt_resources/models/deployment_operations_list_result.rb +99 -0
  37. data/lib/2018-02-01/generated/azure_mgmt_resources/models/deployment_properties.rb +136 -0
  38. data/lib/2018-02-01/generated/azure_mgmt_resources/models/deployment_properties_extended.rb +210 -0
  39. data/lib/2018-02-01/generated/azure_mgmt_resources/models/deployment_validate_result.rb +60 -0
  40. data/lib/2018-02-01/generated/azure_mgmt_resources/models/export_template_request.rb +69 -0
  41. data/lib/2018-02-01/generated/azure_mgmt_resources/models/generic_resource.rb +158 -0
  42. data/lib/2018-02-01/generated/azure_mgmt_resources/models/generic_resource_filter.rb +68 -0
  43. data/lib/2018-02-01/generated/azure_mgmt_resources/models/http_message.rb +46 -0
  44. data/lib/2018-02-01/generated/azure_mgmt_resources/models/identity.rb +73 -0
  45. data/lib/2018-02-01/generated/azure_mgmt_resources/models/on_error_deployment.rb +60 -0
  46. data/lib/2018-02-01/generated/azure_mgmt_resources/models/on_error_deployment_extended.rb +73 -0
  47. data/lib/2018-02-01/generated/azure_mgmt_resources/models/on_error_deployment_type.rb +16 -0
  48. data/lib/2018-02-01/generated/azure_mgmt_resources/models/parameters_link.rb +58 -0
  49. data/lib/2018-02-01/generated/azure_mgmt_resources/models/plan.rb +90 -0
  50. data/lib/2018-02-01/generated/azure_mgmt_resources/models/provider.rb +92 -0
  51. data/lib/2018-02-01/generated/azure_mgmt_resources/models/provider_list_result.rb +99 -0
  52. data/lib/2018-02-01/generated/azure_mgmt_resources/models/provider_resource_type.rb +125 -0
  53. data/lib/2018-02-01/generated/azure_mgmt_resources/models/resource.rb +101 -0
  54. data/lib/2018-02-01/generated/azure_mgmt_resources/models/resource_group.rb +115 -0
  55. data/lib/2018-02-01/generated/azure_mgmt_resources/models/resource_group_export_result.rb +58 -0
  56. data/lib/2018-02-01/generated/azure_mgmt_resources/models/resource_group_filter.rb +57 -0
  57. data/lib/2018-02-01/generated/azure_mgmt_resources/models/resource_group_list_result.rb +99 -0
  58. data/lib/2018-02-01/generated/azure_mgmt_resources/models/resource_group_patchable.rb +90 -0
  59. data/lib/2018-02-01/generated/azure_mgmt_resources/models/resource_group_properties.rb +47 -0
  60. data/lib/2018-02-01/generated/azure_mgmt_resources/models/resource_identity_type.rb +18 -0
  61. data/lib/2018-02-01/generated/azure_mgmt_resources/models/resource_list_result.rb +99 -0
  62. data/lib/2018-02-01/generated/azure_mgmt_resources/models/resource_management_error_with_details.rb +92 -0
  63. data/lib/2018-02-01/generated/azure_mgmt_resources/models/resource_provider_operation_display_properties.rb +91 -0
  64. data/lib/2018-02-01/generated/azure_mgmt_resources/models/resources_move_info.rb +65 -0
  65. data/lib/2018-02-01/generated/azure_mgmt_resources/models/sku.rb +101 -0
  66. data/lib/2018-02-01/generated/azure_mgmt_resources/models/sub_resource.rb +46 -0
  67. data/lib/2018-02-01/generated/azure_mgmt_resources/models/tag_count.rb +57 -0
  68. data/lib/2018-02-01/generated/azure_mgmt_resources/models/tag_details.rb +92 -0
  69. data/lib/2018-02-01/generated/azure_mgmt_resources/models/tag_value.rb +70 -0
  70. data/lib/2018-02-01/generated/azure_mgmt_resources/models/tags_list_result.rb +99 -0
  71. data/lib/2018-02-01/generated/azure_mgmt_resources/models/target_resource.rb +68 -0
  72. data/lib/2018-02-01/generated/azure_mgmt_resources/models/template_link.rb +58 -0
  73. data/lib/2018-02-01/generated/azure_mgmt_resources/module_definition.rb +9 -0
  74. data/lib/2018-02-01/generated/azure_mgmt_resources/providers.rb +520 -0
  75. data/lib/2018-02-01/generated/azure_mgmt_resources/resource_groups.rb +891 -0
  76. data/lib/2018-02-01/generated/azure_mgmt_resources/resource_management_client.rb +151 -0
  77. data/lib/2018-02-01/generated/azure_mgmt_resources/resources.rb +2178 -0
  78. data/lib/2018-02-01/generated/azure_mgmt_resources/tags.rb +599 -0
  79. data/lib/2018-05-01/generated/azure_mgmt_resources.rb +84 -0
  80. data/lib/2018-05-01/generated/azure_mgmt_resources/deployment_operations.rb +653 -0
  81. data/lib/2018-05-01/generated/azure_mgmt_resources/deployments.rb +2148 -0
  82. data/lib/2018-05-01/generated/azure_mgmt_resources/models/alias_path_type.rb +65 -0
  83. data/lib/2018-05-01/generated/azure_mgmt_resources/models/alias_type.rb +66 -0
  84. data/lib/2018-05-01/generated/azure_mgmt_resources/models/basic_dependency.rb +68 -0
  85. data/lib/2018-05-01/generated/azure_mgmt_resources/models/debug_setting.rb +54 -0
  86. data/lib/2018-05-01/generated/azure_mgmt_resources/models/dependency.rb +88 -0
  87. data/lib/2018-05-01/generated/azure_mgmt_resources/models/deployment.rb +58 -0
  88. data/lib/2018-05-01/generated/azure_mgmt_resources/models/deployment_export_result.rb +46 -0
  89. data/lib/2018-05-01/generated/azure_mgmt_resources/models/deployment_extended.rb +81 -0
  90. data/lib/2018-05-01/generated/azure_mgmt_resources/models/deployment_extended_filter.rb +46 -0
  91. data/lib/2018-05-01/generated/azure_mgmt_resources/models/deployment_list_result.rb +99 -0
  92. data/lib/2018-05-01/generated/azure_mgmt_resources/models/deployment_mode.rb +16 -0
  93. data/lib/2018-05-01/generated/azure_mgmt_resources/models/deployment_operation.rb +71 -0
  94. data/lib/2018-05-01/generated/azure_mgmt_resources/models/deployment_operation_properties.rb +134 -0
  95. data/lib/2018-05-01/generated/azure_mgmt_resources/models/deployment_operations_list_result.rb +99 -0
  96. data/lib/2018-05-01/generated/azure_mgmt_resources/models/deployment_properties.rb +136 -0
  97. data/lib/2018-05-01/generated/azure_mgmt_resources/models/deployment_properties_extended.rb +210 -0
  98. data/lib/2018-05-01/generated/azure_mgmt_resources/models/deployment_validate_result.rb +60 -0
  99. data/lib/2018-05-01/generated/azure_mgmt_resources/models/export_template_request.rb +69 -0
  100. data/lib/2018-05-01/generated/azure_mgmt_resources/models/generic_resource.rb +158 -0
  101. data/lib/2018-05-01/generated/azure_mgmt_resources/models/generic_resource_filter.rb +68 -0
  102. data/lib/2018-05-01/generated/azure_mgmt_resources/models/http_message.rb +46 -0
  103. data/lib/2018-05-01/generated/azure_mgmt_resources/models/identity.rb +96 -0
  104. data/lib/2018-05-01/generated/azure_mgmt_resources/models/identity_user_assigned_identities_value.rb +60 -0
  105. data/lib/2018-05-01/generated/azure_mgmt_resources/models/on_error_deployment.rb +60 -0
  106. data/lib/2018-05-01/generated/azure_mgmt_resources/models/on_error_deployment_extended.rb +73 -0
  107. data/lib/2018-05-01/generated/azure_mgmt_resources/models/on_error_deployment_type.rb +16 -0
  108. data/lib/2018-05-01/generated/azure_mgmt_resources/models/parameters_link.rb +58 -0
  109. data/lib/2018-05-01/generated/azure_mgmt_resources/models/plan.rb +90 -0
  110. data/lib/2018-05-01/generated/azure_mgmt_resources/models/provider.rb +92 -0
  111. data/lib/2018-05-01/generated/azure_mgmt_resources/models/provider_list_result.rb +99 -0
  112. data/lib/2018-05-01/generated/azure_mgmt_resources/models/provider_resource_type.rb +125 -0
  113. data/lib/2018-05-01/generated/azure_mgmt_resources/models/resource.rb +101 -0
  114. data/lib/2018-05-01/generated/azure_mgmt_resources/models/resource_group.rb +115 -0
  115. data/lib/2018-05-01/generated/azure_mgmt_resources/models/resource_group_export_result.rb +58 -0
  116. data/lib/2018-05-01/generated/azure_mgmt_resources/models/resource_group_filter.rb +57 -0
  117. data/lib/2018-05-01/generated/azure_mgmt_resources/models/resource_group_list_result.rb +99 -0
  118. data/lib/2018-05-01/generated/azure_mgmt_resources/models/resource_group_patchable.rb +90 -0
  119. data/lib/2018-05-01/generated/azure_mgmt_resources/models/resource_group_properties.rb +47 -0
  120. data/lib/2018-05-01/generated/azure_mgmt_resources/models/resource_identity_type.rb +18 -0
  121. data/lib/2018-05-01/generated/azure_mgmt_resources/models/resource_list_result.rb +99 -0
  122. data/lib/2018-05-01/generated/azure_mgmt_resources/models/resource_management_error_with_details.rb +92 -0
  123. data/lib/2018-05-01/generated/azure_mgmt_resources/models/resource_provider_operation_display_properties.rb +91 -0
  124. data/lib/2018-05-01/generated/azure_mgmt_resources/models/resources_move_info.rb +65 -0
  125. data/lib/2018-05-01/generated/azure_mgmt_resources/models/sku.rb +101 -0
  126. data/lib/2018-05-01/generated/azure_mgmt_resources/models/sub_resource.rb +46 -0
  127. data/lib/2018-05-01/generated/azure_mgmt_resources/models/tag_count.rb +57 -0
  128. data/lib/2018-05-01/generated/azure_mgmt_resources/models/tag_details.rb +92 -0
  129. data/lib/2018-05-01/generated/azure_mgmt_resources/models/tag_value.rb +70 -0
  130. data/lib/2018-05-01/generated/azure_mgmt_resources/models/tags_list_result.rb +99 -0
  131. data/lib/2018-05-01/generated/azure_mgmt_resources/models/target_resource.rb +68 -0
  132. data/lib/2018-05-01/generated/azure_mgmt_resources/models/template_link.rb +58 -0
  133. data/lib/2018-05-01/generated/azure_mgmt_resources/module_definition.rb +9 -0
  134. data/lib/2018-05-01/generated/azure_mgmt_resources/providers.rb +520 -0
  135. data/lib/2018-05-01/generated/azure_mgmt_resources/resource_groups.rb +891 -0
  136. data/lib/2018-05-01/generated/azure_mgmt_resources/resource_management_client.rb +151 -0
  137. data/lib/2018-05-01/generated/azure_mgmt_resources/resources.rb +2178 -0
  138. data/lib/2018-05-01/generated/azure_mgmt_resources/tags.rb +599 -0
  139. data/lib/azure_mgmt_resources.rb +4 -2
  140. data/lib/profiles/latest/modules/resources_profile_module.rb +138 -122
  141. data/lib/version.rb +1 -1
  142. metadata +124 -5
@@ -0,0 +1,599 @@
1
+ # encoding: utf-8
2
+ # Code generated by Microsoft (R) AutoRest Code Generator.
3
+ # Changes may cause incorrect behavior and will be lost if the code is
4
+ # regenerated.
5
+
6
+ module Azure::Resources::Mgmt::V2018_05_01
7
+ #
8
+ # Provides operations for working with resources and resource groups.
9
+ #
10
+ class Tags
11
+ include MsRestAzure
12
+
13
+ #
14
+ # Creates and initializes a new instance of the Tags class.
15
+ # @param client service class for accessing basic functionality.
16
+ #
17
+ def initialize(client)
18
+ @client = client
19
+ end
20
+
21
+ # @return [ResourceManagementClient] reference to the ResourceManagementClient
22
+ attr_reader :client
23
+
24
+ #
25
+ # Deletes a tag value.
26
+ #
27
+ # @param tag_name [String] The name of the tag.
28
+ # @param tag_value [String] The value of the tag to delete.
29
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
30
+ # will be added to the HTTP request.
31
+ #
32
+ #
33
+ def delete_value(tag_name, tag_value, custom_headers:nil)
34
+ response = delete_value_async(tag_name, tag_value, custom_headers:custom_headers).value!
35
+ nil
36
+ end
37
+
38
+ #
39
+ # Deletes a tag value.
40
+ #
41
+ # @param tag_name [String] The name of the tag.
42
+ # @param tag_value [String] The value of the tag to delete.
43
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
44
+ # will be added to the HTTP request.
45
+ #
46
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
47
+ #
48
+ def delete_value_with_http_info(tag_name, tag_value, custom_headers:nil)
49
+ delete_value_async(tag_name, tag_value, custom_headers:custom_headers).value!
50
+ end
51
+
52
+ #
53
+ # Deletes a tag value.
54
+ #
55
+ # @param tag_name [String] The name of the tag.
56
+ # @param tag_value [String] The value of the tag to delete.
57
+ # @param [Hash{String => String}] A hash of custom headers that will be added
58
+ # to the HTTP request.
59
+ #
60
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
61
+ #
62
+ def delete_value_async(tag_name, tag_value, custom_headers:nil)
63
+ fail ArgumentError, 'tag_name is nil' if tag_name.nil?
64
+ fail ArgumentError, 'tag_value is nil' if tag_value.nil?
65
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
66
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
67
+
68
+
69
+ request_headers = {}
70
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
71
+
72
+ # Set Headers
73
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
74
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
75
+ path_template = 'subscriptions/{subscriptionId}/tagNames/{tagName}/tagValues/{tagValue}'
76
+
77
+ request_url = @base_url || @client.base_url
78
+
79
+ options = {
80
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
81
+ path_params: {'tagName' => tag_name,'tagValue' => tag_value,'subscriptionId' => @client.subscription_id},
82
+ query_params: {'api-version' => @client.api_version},
83
+ headers: request_headers.merge(custom_headers || {}),
84
+ base_url: request_url
85
+ }
86
+ promise = @client.make_request_async(:delete, path_template, options)
87
+
88
+ promise = promise.then do |result|
89
+ http_response = result.response
90
+ status_code = http_response.status
91
+ response_content = http_response.body
92
+ unless status_code == 200 || status_code == 204
93
+ error_model = JSON.load(response_content)
94
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
95
+ end
96
+
97
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
98
+
99
+ result
100
+ end
101
+
102
+ promise.execute
103
+ end
104
+
105
+ #
106
+ # Creates a tag value. The name of the tag must already exist.
107
+ #
108
+ # @param tag_name [String] The name of the tag.
109
+ # @param tag_value [String] The value of the tag to create.
110
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
111
+ # will be added to the HTTP request.
112
+ #
113
+ # @return [TagValue] operation results.
114
+ #
115
+ def create_or_update_value(tag_name, tag_value, custom_headers:nil)
116
+ response = create_or_update_value_async(tag_name, tag_value, custom_headers:custom_headers).value!
117
+ response.body unless response.nil?
118
+ end
119
+
120
+ #
121
+ # Creates a tag value. The name of the tag must already exist.
122
+ #
123
+ # @param tag_name [String] The name of the tag.
124
+ # @param tag_value [String] The value of the tag to create.
125
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
126
+ # will be added to the HTTP request.
127
+ #
128
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
129
+ #
130
+ def create_or_update_value_with_http_info(tag_name, tag_value, custom_headers:nil)
131
+ create_or_update_value_async(tag_name, tag_value, custom_headers:custom_headers).value!
132
+ end
133
+
134
+ #
135
+ # Creates a tag value. The name of the tag must already exist.
136
+ #
137
+ # @param tag_name [String] The name of the tag.
138
+ # @param tag_value [String] The value of the tag to create.
139
+ # @param [Hash{String => String}] A hash of custom headers that will be added
140
+ # to the HTTP request.
141
+ #
142
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
143
+ #
144
+ def create_or_update_value_async(tag_name, tag_value, custom_headers:nil)
145
+ fail ArgumentError, 'tag_name is nil' if tag_name.nil?
146
+ fail ArgumentError, 'tag_value is nil' if tag_value.nil?
147
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
148
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
149
+
150
+
151
+ request_headers = {}
152
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
153
+
154
+ # Set Headers
155
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
156
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
157
+ path_template = 'subscriptions/{subscriptionId}/tagNames/{tagName}/tagValues/{tagValue}'
158
+
159
+ request_url = @base_url || @client.base_url
160
+
161
+ options = {
162
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
163
+ path_params: {'tagName' => tag_name,'tagValue' => tag_value,'subscriptionId' => @client.subscription_id},
164
+ query_params: {'api-version' => @client.api_version},
165
+ headers: request_headers.merge(custom_headers || {}),
166
+ base_url: request_url
167
+ }
168
+ promise = @client.make_request_async(:put, path_template, options)
169
+
170
+ promise = promise.then do |result|
171
+ http_response = result.response
172
+ status_code = http_response.status
173
+ response_content = http_response.body
174
+ unless status_code == 200 || status_code == 201
175
+ error_model = JSON.load(response_content)
176
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
177
+ end
178
+
179
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
180
+ # Deserialize Response
181
+ if status_code == 200
182
+ begin
183
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
184
+ result_mapper = Azure::Resources::Mgmt::V2018_05_01::Models::TagValue.mapper()
185
+ result.body = @client.deserialize(result_mapper, parsed_response)
186
+ rescue Exception => e
187
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
188
+ end
189
+ end
190
+ # Deserialize Response
191
+ if status_code == 201
192
+ begin
193
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
194
+ result_mapper = Azure::Resources::Mgmt::V2018_05_01::Models::TagValue.mapper()
195
+ result.body = @client.deserialize(result_mapper, parsed_response)
196
+ rescue Exception => e
197
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
198
+ end
199
+ end
200
+
201
+ result
202
+ end
203
+
204
+ promise.execute
205
+ end
206
+
207
+ #
208
+ # Creates a tag in the subscription.
209
+ #
210
+ # The tag name can have a maximum of 512 characters and is case insensitive.
211
+ # Tag names created by Azure have prefixes of microsoft, azure, or windows. You
212
+ # cannot create tags with one of these prefixes.
213
+ #
214
+ # @param tag_name [String] The name of the tag to create.
215
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
216
+ # will be added to the HTTP request.
217
+ #
218
+ # @return [TagDetails] operation results.
219
+ #
220
+ def create_or_update(tag_name, custom_headers:nil)
221
+ response = create_or_update_async(tag_name, custom_headers:custom_headers).value!
222
+ response.body unless response.nil?
223
+ end
224
+
225
+ #
226
+ # Creates a tag in the subscription.
227
+ #
228
+ # The tag name can have a maximum of 512 characters and is case insensitive.
229
+ # Tag names created by Azure have prefixes of microsoft, azure, or windows. You
230
+ # cannot create tags with one of these prefixes.
231
+ #
232
+ # @param tag_name [String] The name of the tag to create.
233
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
234
+ # will be added to the HTTP request.
235
+ #
236
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
237
+ #
238
+ def create_or_update_with_http_info(tag_name, custom_headers:nil)
239
+ create_or_update_async(tag_name, custom_headers:custom_headers).value!
240
+ end
241
+
242
+ #
243
+ # Creates a tag in the subscription.
244
+ #
245
+ # The tag name can have a maximum of 512 characters and is case insensitive.
246
+ # Tag names created by Azure have prefixes of microsoft, azure, or windows. You
247
+ # cannot create tags with one of these prefixes.
248
+ #
249
+ # @param tag_name [String] The name of the tag to create.
250
+ # @param [Hash{String => String}] A hash of custom headers that will be added
251
+ # to the HTTP request.
252
+ #
253
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
254
+ #
255
+ def create_or_update_async(tag_name, custom_headers:nil)
256
+ fail ArgumentError, 'tag_name is nil' if tag_name.nil?
257
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
258
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
259
+
260
+
261
+ request_headers = {}
262
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
263
+
264
+ # Set Headers
265
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
266
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
267
+ path_template = 'subscriptions/{subscriptionId}/tagNames/{tagName}'
268
+
269
+ request_url = @base_url || @client.base_url
270
+
271
+ options = {
272
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
273
+ path_params: {'tagName' => tag_name,'subscriptionId' => @client.subscription_id},
274
+ query_params: {'api-version' => @client.api_version},
275
+ headers: request_headers.merge(custom_headers || {}),
276
+ base_url: request_url
277
+ }
278
+ promise = @client.make_request_async(:put, path_template, options)
279
+
280
+ promise = promise.then do |result|
281
+ http_response = result.response
282
+ status_code = http_response.status
283
+ response_content = http_response.body
284
+ unless status_code == 200 || status_code == 201
285
+ error_model = JSON.load(response_content)
286
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
287
+ end
288
+
289
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
290
+ # Deserialize Response
291
+ if status_code == 200
292
+ begin
293
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
294
+ result_mapper = Azure::Resources::Mgmt::V2018_05_01::Models::TagDetails.mapper()
295
+ result.body = @client.deserialize(result_mapper, parsed_response)
296
+ rescue Exception => e
297
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
298
+ end
299
+ end
300
+ # Deserialize Response
301
+ if status_code == 201
302
+ begin
303
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
304
+ result_mapper = Azure::Resources::Mgmt::V2018_05_01::Models::TagDetails.mapper()
305
+ result.body = @client.deserialize(result_mapper, parsed_response)
306
+ rescue Exception => e
307
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
308
+ end
309
+ end
310
+
311
+ result
312
+ end
313
+
314
+ promise.execute
315
+ end
316
+
317
+ #
318
+ # Deletes a tag from the subscription.
319
+ #
320
+ # You must remove all values from a resource tag before you can delete it.
321
+ #
322
+ # @param tag_name [String] The name of the tag.
323
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
324
+ # will be added to the HTTP request.
325
+ #
326
+ #
327
+ def delete(tag_name, custom_headers:nil)
328
+ response = delete_async(tag_name, custom_headers:custom_headers).value!
329
+ nil
330
+ end
331
+
332
+ #
333
+ # Deletes a tag from the subscription.
334
+ #
335
+ # You must remove all values from a resource tag before you can delete it.
336
+ #
337
+ # @param tag_name [String] The name of the tag.
338
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
339
+ # will be added to the HTTP request.
340
+ #
341
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
342
+ #
343
+ def delete_with_http_info(tag_name, custom_headers:nil)
344
+ delete_async(tag_name, custom_headers:custom_headers).value!
345
+ end
346
+
347
+ #
348
+ # Deletes a tag from the subscription.
349
+ #
350
+ # You must remove all values from a resource tag before you can delete it.
351
+ #
352
+ # @param tag_name [String] The name of the tag.
353
+ # @param [Hash{String => String}] A hash of custom headers that will be added
354
+ # to the HTTP request.
355
+ #
356
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
357
+ #
358
+ def delete_async(tag_name, custom_headers:nil)
359
+ fail ArgumentError, 'tag_name is nil' if tag_name.nil?
360
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
361
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
362
+
363
+
364
+ request_headers = {}
365
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
366
+
367
+ # Set Headers
368
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
369
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
370
+ path_template = 'subscriptions/{subscriptionId}/tagNames/{tagName}'
371
+
372
+ request_url = @base_url || @client.base_url
373
+
374
+ options = {
375
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
376
+ path_params: {'tagName' => tag_name,'subscriptionId' => @client.subscription_id},
377
+ query_params: {'api-version' => @client.api_version},
378
+ headers: request_headers.merge(custom_headers || {}),
379
+ base_url: request_url
380
+ }
381
+ promise = @client.make_request_async(:delete, path_template, options)
382
+
383
+ promise = promise.then do |result|
384
+ http_response = result.response
385
+ status_code = http_response.status
386
+ response_content = http_response.body
387
+ unless status_code == 200 || status_code == 204
388
+ error_model = JSON.load(response_content)
389
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
390
+ end
391
+
392
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
393
+
394
+ result
395
+ end
396
+
397
+ promise.execute
398
+ end
399
+
400
+ #
401
+ # Gets the names and values of all resource tags that are defined in a
402
+ # subscription.
403
+ #
404
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
405
+ # will be added to the HTTP request.
406
+ #
407
+ # @return [Array<TagDetails>] operation results.
408
+ #
409
+ def list(custom_headers:nil)
410
+ first_page = list_as_lazy(custom_headers:custom_headers)
411
+ first_page.get_all_items
412
+ end
413
+
414
+ #
415
+ # Gets the names and values of all resource tags that are defined in a
416
+ # subscription.
417
+ #
418
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
419
+ # will be added to the HTTP request.
420
+ #
421
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
422
+ #
423
+ def list_with_http_info(custom_headers:nil)
424
+ list_async(custom_headers:custom_headers).value!
425
+ end
426
+
427
+ #
428
+ # Gets the names and values of all resource tags that are defined in a
429
+ # subscription.
430
+ #
431
+ # @param [Hash{String => String}] A hash of custom headers that will be added
432
+ # to the HTTP request.
433
+ #
434
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
435
+ #
436
+ def list_async(custom_headers:nil)
437
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
438
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
439
+
440
+
441
+ request_headers = {}
442
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
443
+
444
+ # Set Headers
445
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
446
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
447
+ path_template = 'subscriptions/{subscriptionId}/tagNames'
448
+
449
+ request_url = @base_url || @client.base_url
450
+
451
+ options = {
452
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
453
+ path_params: {'subscriptionId' => @client.subscription_id},
454
+ query_params: {'api-version' => @client.api_version},
455
+ headers: request_headers.merge(custom_headers || {}),
456
+ base_url: request_url
457
+ }
458
+ promise = @client.make_request_async(:get, path_template, options)
459
+
460
+ promise = promise.then do |result|
461
+ http_response = result.response
462
+ status_code = http_response.status
463
+ response_content = http_response.body
464
+ unless status_code == 200
465
+ error_model = JSON.load(response_content)
466
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
467
+ end
468
+
469
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
470
+ # Deserialize Response
471
+ if status_code == 200
472
+ begin
473
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
474
+ result_mapper = Azure::Resources::Mgmt::V2018_05_01::Models::TagsListResult.mapper()
475
+ result.body = @client.deserialize(result_mapper, parsed_response)
476
+ rescue Exception => e
477
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
478
+ end
479
+ end
480
+
481
+ result
482
+ end
483
+
484
+ promise.execute
485
+ end
486
+
487
+ #
488
+ # Gets the names and values of all resource tags that are defined in a
489
+ # subscription.
490
+ #
491
+ # @param next_page_link [String] The NextLink from the previous successful call
492
+ # to List operation.
493
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
494
+ # will be added to the HTTP request.
495
+ #
496
+ # @return [TagsListResult] operation results.
497
+ #
498
+ def list_next(next_page_link, custom_headers:nil)
499
+ response = list_next_async(next_page_link, custom_headers:custom_headers).value!
500
+ response.body unless response.nil?
501
+ end
502
+
503
+ #
504
+ # Gets the names and values of all resource tags that are defined in a
505
+ # subscription.
506
+ #
507
+ # @param next_page_link [String] The NextLink from the previous successful call
508
+ # to List operation.
509
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
510
+ # will be added to the HTTP request.
511
+ #
512
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
513
+ #
514
+ def list_next_with_http_info(next_page_link, custom_headers:nil)
515
+ list_next_async(next_page_link, custom_headers:custom_headers).value!
516
+ end
517
+
518
+ #
519
+ # Gets the names and values of all resource tags that are defined in a
520
+ # subscription.
521
+ #
522
+ # @param next_page_link [String] The NextLink from the previous successful call
523
+ # to List operation.
524
+ # @param [Hash{String => String}] A hash of custom headers that will be added
525
+ # to the HTTP request.
526
+ #
527
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
528
+ #
529
+ def list_next_async(next_page_link, custom_headers:nil)
530
+ fail ArgumentError, 'next_page_link is nil' if next_page_link.nil?
531
+
532
+
533
+ request_headers = {}
534
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
535
+
536
+ # Set Headers
537
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
538
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
539
+ path_template = '{nextLink}'
540
+
541
+ request_url = @base_url || @client.base_url
542
+
543
+ options = {
544
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
545
+ skip_encoding_path_params: {'nextLink' => next_page_link},
546
+ headers: request_headers.merge(custom_headers || {}),
547
+ base_url: request_url
548
+ }
549
+ promise = @client.make_request_async(:get, path_template, options)
550
+
551
+ promise = promise.then do |result|
552
+ http_response = result.response
553
+ status_code = http_response.status
554
+ response_content = http_response.body
555
+ unless status_code == 200
556
+ error_model = JSON.load(response_content)
557
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
558
+ end
559
+
560
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
561
+ # Deserialize Response
562
+ if status_code == 200
563
+ begin
564
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
565
+ result_mapper = Azure::Resources::Mgmt::V2018_05_01::Models::TagsListResult.mapper()
566
+ result.body = @client.deserialize(result_mapper, parsed_response)
567
+ rescue Exception => e
568
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
569
+ end
570
+ end
571
+
572
+ result
573
+ end
574
+
575
+ promise.execute
576
+ end
577
+
578
+ #
579
+ # Gets the names and values of all resource tags that are defined in a
580
+ # subscription.
581
+ #
582
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
583
+ # will be added to the HTTP request.
584
+ #
585
+ # @return [TagsListResult] which provide lazy access to pages of the response.
586
+ #
587
+ def list_as_lazy(custom_headers:nil)
588
+ response = list_async(custom_headers:custom_headers).value!
589
+ unless response.nil?
590
+ page = response.body
591
+ page.next_method = Proc.new do |next_page_link|
592
+ list_next_async(next_page_link, custom_headers:custom_headers)
593
+ end
594
+ page
595
+ end
596
+ end
597
+
598
+ end
599
+ end