PageRenderTime 47ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 0ms

/resource_management/azure_mgmt_authorization/lib/azure_mgmt_authorization/permissions.rb

https://gitlab.com/pymevirtual/azure-sdk-for-ruby
Ruby | 277 lines | 177 code | 28 blank | 72 comment | 32 complexity | a6f44b01c20d15ce930576fcf2f536e7 MD5 | raw file
  1. # encoding: utf-8
  2. # Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0
  3. # Changes may cause incorrect behavior and will be lost if the code is
  4. # regenerated.
  5. module Azure::ARM::Authorization
  6. #
  7. # Permissions
  8. #
  9. class Permissions
  10. include Azure::ARM::Authorization::Models
  11. include MsRestAzure
  12. #
  13. # Creates and initializes a new instance of the Permissions class.
  14. # @param client service class for accessing basic functionality.
  15. #
  16. def initialize(client)
  17. @client = client
  18. end
  19. # @return reference to the AuthorizationManagementClient
  20. attr_reader :client
  21. #
  22. # Gets a resource group permissions.
  23. #
  24. # @param resource_group_name [String] Name of the resource group to get the
  25. # permissions for.The name is case insensitive.
  26. # @param [Hash{String => String}] The hash of custom headers need to be
  27. # applied to HTTP request.
  28. #
  29. # @return [Concurrent::Promise] Promise object which allows to get HTTP
  30. # response.
  31. #
  32. def list_for_resource_group(resource_group_name, custom_headers = nil)
  33. fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
  34. fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
  35. fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
  36. request_headers = {}
  37. # Set Headers
  38. request_headers['x-ms-client-request-id'] = SecureRandom.uuid
  39. request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
  40. path_template = '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Authorization/permissions'
  41. options = {
  42. middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
  43. path_params: {'resourceGroupName' => resource_group_name,'subscriptionId' => @client.subscription_id},
  44. query_params: {'api-version' => @client.api_version},
  45. headers: request_headers.merge(custom_headers || {})
  46. }
  47. request = MsRest::HttpOperationRequest.new(@base_url || @client.base_url, path_template, :get, options)
  48. promise = request.run_promise do |req|
  49. @client.credentials.sign_request(req) unless @client.credentials.nil?
  50. end
  51. promise = promise.then do |http_response|
  52. status_code = http_response.status
  53. response_content = http_response.body
  54. unless status_code == 200
  55. error_model = JSON.load(response_content)
  56. fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
  57. end
  58. # Create Result
  59. result = MsRestAzure::AzureOperationResponse.new(request, http_response)
  60. result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
  61. # Deserialize Response
  62. if status_code == 200
  63. begin
  64. parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
  65. unless parsed_response.nil?
  66. parsed_response = PermissionGetResult.deserialize_object(parsed_response)
  67. end
  68. result.body = parsed_response
  69. rescue Exception => e
  70. fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
  71. end
  72. end
  73. result
  74. end
  75. promise.execute
  76. end
  77. #
  78. # Gets a resource permissions.
  79. #
  80. # @param resource_group_name [String] The name of the resource group. The name
  81. # is case insensitive.
  82. # @param resource_provider_namespace [String] Resource
  83. # @param parent_resource_path [String] Resource
  84. # @param resource_type [String] Resource
  85. # @param resource_name [String] Resource
  86. # @param [Hash{String => String}] The hash of custom headers need to be
  87. # applied to HTTP request.
  88. #
  89. # @return [Concurrent::Promise] Promise object which allows to get HTTP
  90. # response.
  91. #
  92. def list_for_resource(resource_group_name, resource_provider_namespace, parent_resource_path, resource_type, resource_name, custom_headers = nil)
  93. fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
  94. fail ArgumentError, 'resource_provider_namespace is nil' if resource_provider_namespace.nil?
  95. fail ArgumentError, 'parent_resource_path is nil' if parent_resource_path.nil?
  96. fail ArgumentError, 'resource_type is nil' if resource_type.nil?
  97. fail ArgumentError, 'resource_name is nil' if resource_name.nil?
  98. fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
  99. fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
  100. request_headers = {}
  101. # Set Headers
  102. request_headers['x-ms-client-request-id'] = SecureRandom.uuid
  103. request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
  104. path_template = '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/permissions'
  105. options = {
  106. middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
  107. path_params: {'resourceGroupName' => resource_group_name,'resourceProviderNamespace' => resource_provider_namespace,'resourceName' => resource_name,'subscriptionId' => @client.subscription_id},
  108. skip_encoding_path_params: {'parentResourcePath' => parent_resource_path,'resourceType' => resource_type},
  109. query_params: {'api-version' => @client.api_version},
  110. headers: request_headers.merge(custom_headers || {})
  111. }
  112. request = MsRest::HttpOperationRequest.new(@base_url || @client.base_url, path_template, :get, options)
  113. promise = request.run_promise do |req|
  114. @client.credentials.sign_request(req) unless @client.credentials.nil?
  115. end
  116. promise = promise.then do |http_response|
  117. status_code = http_response.status
  118. response_content = http_response.body
  119. unless status_code == 200
  120. error_model = JSON.load(response_content)
  121. fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
  122. end
  123. # Create Result
  124. result = MsRestAzure::AzureOperationResponse.new(request, http_response)
  125. result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
  126. # Deserialize Response
  127. if status_code == 200
  128. begin
  129. parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
  130. unless parsed_response.nil?
  131. parsed_response = PermissionGetResult.deserialize_object(parsed_response)
  132. end
  133. result.body = parsed_response
  134. rescue Exception => e
  135. fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
  136. end
  137. end
  138. result
  139. end
  140. promise.execute
  141. end
  142. #
  143. # Gets a resource group permissions.
  144. #
  145. # @param next_page_link [String] The NextLink from the previous successful
  146. # call to List operation.
  147. # @param [Hash{String => String}] The hash of custom headers need to be
  148. # applied to HTTP request.
  149. #
  150. # @return [Concurrent::Promise] Promise object which allows to get HTTP
  151. # response.
  152. #
  153. def list_for_resource_group_next(next_page_link, custom_headers = nil)
  154. fail ArgumentError, 'next_page_link is nil' if next_page_link.nil?
  155. request_headers = {}
  156. # Set Headers
  157. request_headers['x-ms-client-request-id'] = SecureRandom.uuid
  158. request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
  159. path_template = '{nextLink}'
  160. options = {
  161. middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
  162. skip_encoding_path_params: {'nextLink' => next_page_link},
  163. headers: request_headers.merge(custom_headers || {})
  164. }
  165. request = MsRest::HttpOperationRequest.new(@base_url || @client.base_url, path_template, :get, options)
  166. promise = request.run_promise do |req|
  167. @client.credentials.sign_request(req) unless @client.credentials.nil?
  168. end
  169. promise = promise.then do |http_response|
  170. status_code = http_response.status
  171. response_content = http_response.body
  172. unless status_code == 200
  173. error_model = JSON.load(response_content)
  174. fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
  175. end
  176. # Create Result
  177. result = MsRestAzure::AzureOperationResponse.new(request, http_response)
  178. result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
  179. # Deserialize Response
  180. if status_code == 200
  181. begin
  182. parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
  183. unless parsed_response.nil?
  184. parsed_response = PermissionGetResult.deserialize_object(parsed_response)
  185. end
  186. result.body = parsed_response
  187. rescue Exception => e
  188. fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
  189. end
  190. end
  191. result
  192. end
  193. promise.execute
  194. end
  195. #
  196. # Gets a resource permissions.
  197. #
  198. # @param next_page_link [String] The NextLink from the previous successful
  199. # call to List operation.
  200. # @param [Hash{String => String}] The hash of custom headers need to be
  201. # applied to HTTP request.
  202. #
  203. # @return [Concurrent::Promise] Promise object which allows to get HTTP
  204. # response.
  205. #
  206. def list_for_resource_next(next_page_link, custom_headers = nil)
  207. fail ArgumentError, 'next_page_link is nil' if next_page_link.nil?
  208. request_headers = {}
  209. # Set Headers
  210. request_headers['x-ms-client-request-id'] = SecureRandom.uuid
  211. request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
  212. path_template = '{nextLink}'
  213. options = {
  214. middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
  215. skip_encoding_path_params: {'nextLink' => next_page_link},
  216. headers: request_headers.merge(custom_headers || {})
  217. }
  218. request = MsRest::HttpOperationRequest.new(@base_url || @client.base_url, path_template, :get, options)
  219. promise = request.run_promise do |req|
  220. @client.credentials.sign_request(req) unless @client.credentials.nil?
  221. end
  222. promise = promise.then do |http_response|
  223. status_code = http_response.status
  224. response_content = http_response.body
  225. unless status_code == 200
  226. error_model = JSON.load(response_content)
  227. fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
  228. end
  229. # Create Result
  230. result = MsRestAzure::AzureOperationResponse.new(request, http_response)
  231. result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
  232. # Deserialize Response
  233. if status_code == 200
  234. begin
  235. parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
  236. unless parsed_response.nil?
  237. parsed_response = PermissionGetResult.deserialize_object(parsed_response)
  238. end
  239. result.body = parsed_response
  240. rescue Exception => e
  241. fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
  242. end
  243. end
  244. result
  245. end
  246. promise.execute
  247. end
  248. end
  249. end