azure_mgmt_postgresql 0.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/lib/2017-12-01-preview/generated/azure_mgmt_postgresql.rb +71 -0
  4. data/lib/2017-12-01-preview/generated/azure_mgmt_postgresql/check_name_availability.rb +126 -0
  5. data/lib/2017-12-01-preview/generated/azure_mgmt_postgresql/configurations.rb +396 -0
  6. data/lib/2017-12-01-preview/generated/azure_mgmt_postgresql/databases.rb +541 -0
  7. data/lib/2017-12-01-preview/generated/azure_mgmt_postgresql/firewall_rules.rb +541 -0
  8. data/lib/2017-12-01-preview/generated/azure_mgmt_postgresql/location_based_performance_tier.rb +116 -0
  9. data/lib/2017-12-01-preview/generated/azure_mgmt_postgresql/log_files.rb +126 -0
  10. data/lib/2017-12-01-preview/generated/azure_mgmt_postgresql/models/configuration.rb +132 -0
  11. data/lib/2017-12-01-preview/generated/azure_mgmt_postgresql/models/configuration_list_result.rb +55 -0
  12. data/lib/2017-12-01-preview/generated/azure_mgmt_postgresql/models/database.rb +84 -0
  13. data/lib/2017-12-01-preview/generated/azure_mgmt_postgresql/models/database_list_result.rb +55 -0
  14. data/lib/2017-12-01-preview/generated/azure_mgmt_postgresql/models/firewall_rule.rb +92 -0
  15. data/lib/2017-12-01-preview/generated/azure_mgmt_postgresql/models/firewall_rule_list_result.rb +55 -0
  16. data/lib/2017-12-01-preview/generated/azure_mgmt_postgresql/models/geo_redundant_backup.rb +16 -0
  17. data/lib/2017-12-01-preview/generated/azure_mgmt_postgresql/models/log_file.rb +119 -0
  18. data/lib/2017-12-01-preview/generated/azure_mgmt_postgresql/models/log_file_list_result.rb +55 -0
  19. data/lib/2017-12-01-preview/generated/azure_mgmt_postgresql/models/name_availability.rb +68 -0
  20. data/lib/2017-12-01-preview/generated/azure_mgmt_postgresql/models/name_availability_request.rb +57 -0
  21. data/lib/2017-12-01-preview/generated/azure_mgmt_postgresql/models/operation.rb +95 -0
  22. data/lib/2017-12-01-preview/generated/azure_mgmt_postgresql/models/operation_display.rb +83 -0
  23. data/lib/2017-12-01-preview/generated/azure_mgmt_postgresql/models/operation_list_result.rb +55 -0
  24. data/lib/2017-12-01-preview/generated/azure_mgmt_postgresql/models/operation_origin.rb +17 -0
  25. data/lib/2017-12-01-preview/generated/azure_mgmt_postgresql/models/performance_tier_list_result.rb +56 -0
  26. data/lib/2017-12-01-preview/generated/azure_mgmt_postgresql/models/performance_tier_properties.rb +67 -0
  27. data/lib/2017-12-01-preview/generated/azure_mgmt_postgresql/models/performance_tier_service_level_objectives.rb +126 -0
  28. data/lib/2017-12-01-preview/generated/azure_mgmt_postgresql/models/proxy_resource.rb +71 -0
  29. data/lib/2017-12-01-preview/generated/azure_mgmt_postgresql/models/server.rb +220 -0
  30. data/lib/2017-12-01-preview/generated/azure_mgmt_postgresql/models/server_for_create.rb +92 -0
  31. data/lib/2017-12-01-preview/generated/azure_mgmt_postgresql/models/server_list_result.rb +55 -0
  32. data/lib/2017-12-01-preview/generated/azure_mgmt_postgresql/models/server_properties_for_create.rb +86 -0
  33. data/lib/2017-12-01-preview/generated/azure_mgmt_postgresql/models/server_properties_for_default_create.rb +100 -0
  34. data/lib/2017-12-01-preview/generated/azure_mgmt_postgresql/models/server_properties_for_geo_restore.rb +88 -0
  35. data/lib/2017-12-01-preview/generated/azure_mgmt_postgresql/models/server_properties_for_replica.rb +87 -0
  36. data/lib/2017-12-01-preview/generated/azure_mgmt_postgresql/models/server_properties_for_restore.rb +99 -0
  37. data/lib/2017-12-01-preview/generated/azure_mgmt_postgresql/models/server_state.rb +17 -0
  38. data/lib/2017-12-01-preview/generated/azure_mgmt_postgresql/models/server_update_parameters.rb +115 -0
  39. data/lib/2017-12-01-preview/generated/azure_mgmt_postgresql/models/server_version.rb +16 -0
  40. data/lib/2017-12-01-preview/generated/azure_mgmt_postgresql/models/sku.rb +97 -0
  41. data/lib/2017-12-01-preview/generated/azure_mgmt_postgresql/models/sku_tier.rb +17 -0
  42. data/lib/2017-12-01-preview/generated/azure_mgmt_postgresql/models/ssl_enforcement_enum.rb +16 -0
  43. data/lib/2017-12-01-preview/generated/azure_mgmt_postgresql/models/storage_profile.rb +69 -0
  44. data/lib/2017-12-01-preview/generated/azure_mgmt_postgresql/models/tracked_resource.rb +93 -0
  45. data/lib/2017-12-01-preview/generated/azure_mgmt_postgresql/module_definition.rb +9 -0
  46. data/lib/2017-12-01-preview/generated/azure_mgmt_postgresql/operations.rb +110 -0
  47. data/lib/2017-12-01-preview/generated/azure_mgmt_postgresql/postgre_sqlmanagement_client.rb +164 -0
  48. data/lib/2017-12-01-preview/generated/azure_mgmt_postgresql/replicas.rb +126 -0
  49. data/lib/2017-12-01-preview/generated/azure_mgmt_postgresql/servers.rb +771 -0
  50. data/lib/2017-12-01/generated/azure_mgmt_postgresql.rb +78 -0
  51. data/lib/2017-12-01/generated/azure_mgmt_postgresql/check_name_availability.rb +126 -0
  52. data/lib/2017-12-01/generated/azure_mgmt_postgresql/configurations.rb +396 -0
  53. data/lib/2017-12-01/generated/azure_mgmt_postgresql/databases.rb +541 -0
  54. data/lib/2017-12-01/generated/azure_mgmt_postgresql/firewall_rules.rb +541 -0
  55. data/lib/2017-12-01/generated/azure_mgmt_postgresql/location_based_performance_tier.rb +116 -0
  56. data/lib/2017-12-01/generated/azure_mgmt_postgresql/log_files.rb +126 -0
  57. data/lib/2017-12-01/generated/azure_mgmt_postgresql/models/configuration.rb +132 -0
  58. data/lib/2017-12-01/generated/azure_mgmt_postgresql/models/configuration_list_result.rb +55 -0
  59. data/lib/2017-12-01/generated/azure_mgmt_postgresql/models/database.rb +84 -0
  60. data/lib/2017-12-01/generated/azure_mgmt_postgresql/models/database_list_result.rb +55 -0
  61. data/lib/2017-12-01/generated/azure_mgmt_postgresql/models/firewall_rule.rb +92 -0
  62. data/lib/2017-12-01/generated/azure_mgmt_postgresql/models/firewall_rule_list_result.rb +55 -0
  63. data/lib/2017-12-01/generated/azure_mgmt_postgresql/models/geo_redundant_backup.rb +16 -0
  64. data/lib/2017-12-01/generated/azure_mgmt_postgresql/models/log_file.rb +119 -0
  65. data/lib/2017-12-01/generated/azure_mgmt_postgresql/models/log_file_list_result.rb +55 -0
  66. data/lib/2017-12-01/generated/azure_mgmt_postgresql/models/name_availability.rb +68 -0
  67. data/lib/2017-12-01/generated/azure_mgmt_postgresql/models/name_availability_request.rb +57 -0
  68. data/lib/2017-12-01/generated/azure_mgmt_postgresql/models/operation.rb +95 -0
  69. data/lib/2017-12-01/generated/azure_mgmt_postgresql/models/operation_display.rb +83 -0
  70. data/lib/2017-12-01/generated/azure_mgmt_postgresql/models/operation_list_result.rb +55 -0
  71. data/lib/2017-12-01/generated/azure_mgmt_postgresql/models/operation_origin.rb +17 -0
  72. data/lib/2017-12-01/generated/azure_mgmt_postgresql/models/performance_tier_list_result.rb +56 -0
  73. data/lib/2017-12-01/generated/azure_mgmt_postgresql/models/performance_tier_properties.rb +67 -0
  74. data/lib/2017-12-01/generated/azure_mgmt_postgresql/models/performance_tier_service_level_objectives.rb +126 -0
  75. data/lib/2017-12-01/generated/azure_mgmt_postgresql/models/proxy_resource.rb +71 -0
  76. data/lib/2017-12-01/generated/azure_mgmt_postgresql/models/server.rb +220 -0
  77. data/lib/2017-12-01/generated/azure_mgmt_postgresql/models/server_for_create.rb +92 -0
  78. data/lib/2017-12-01/generated/azure_mgmt_postgresql/models/server_list_result.rb +55 -0
  79. data/lib/2017-12-01/generated/azure_mgmt_postgresql/models/server_properties_for_create.rb +86 -0
  80. data/lib/2017-12-01/generated/azure_mgmt_postgresql/models/server_properties_for_default_create.rb +100 -0
  81. data/lib/2017-12-01/generated/azure_mgmt_postgresql/models/server_properties_for_geo_restore.rb +88 -0
  82. data/lib/2017-12-01/generated/azure_mgmt_postgresql/models/server_properties_for_replica.rb +87 -0
  83. data/lib/2017-12-01/generated/azure_mgmt_postgresql/models/server_properties_for_restore.rb +99 -0
  84. data/lib/2017-12-01/generated/azure_mgmt_postgresql/models/server_security_alert_policy.rb +166 -0
  85. data/lib/2017-12-01/generated/azure_mgmt_postgresql/models/server_security_alert_policy_state.rb +16 -0
  86. data/lib/2017-12-01/generated/azure_mgmt_postgresql/models/server_state.rb +17 -0
  87. data/lib/2017-12-01/generated/azure_mgmt_postgresql/models/server_update_parameters.rb +126 -0
  88. data/lib/2017-12-01/generated/azure_mgmt_postgresql/models/server_version.rb +19 -0
  89. data/lib/2017-12-01/generated/azure_mgmt_postgresql/models/sku.rb +97 -0
  90. data/lib/2017-12-01/generated/azure_mgmt_postgresql/models/sku_tier.rb +17 -0
  91. data/lib/2017-12-01/generated/azure_mgmt_postgresql/models/ssl_enforcement_enum.rb +16 -0
  92. data/lib/2017-12-01/generated/azure_mgmt_postgresql/models/storage_profile.rb +69 -0
  93. data/lib/2017-12-01/generated/azure_mgmt_postgresql/models/tracked_resource.rb +93 -0
  94. data/lib/2017-12-01/generated/azure_mgmt_postgresql/models/virtual_network_rule.rb +99 -0
  95. data/lib/2017-12-01/generated/azure_mgmt_postgresql/models/virtual_network_rule_list_result.rb +100 -0
  96. data/lib/2017-12-01/generated/azure_mgmt_postgresql/models/virtual_network_rule_state.rb +19 -0
  97. data/lib/2017-12-01/generated/azure_mgmt_postgresql/module_definition.rb +9 -0
  98. data/lib/2017-12-01/generated/azure_mgmt_postgresql/operations.rb +110 -0
  99. data/lib/2017-12-01/generated/azure_mgmt_postgresql/postgre_sqlmanagement_client.rb +172 -0
  100. data/lib/2017-12-01/generated/azure_mgmt_postgresql/replicas.rb +126 -0
  101. data/lib/2017-12-01/generated/azure_mgmt_postgresql/server_security_alert_policies.rb +290 -0
  102. data/lib/2017-12-01/generated/azure_mgmt_postgresql/servers.rb +900 -0
  103. data/lib/2017-12-01/generated/azure_mgmt_postgresql/virtual_network_rules.rb +666 -0
  104. data/lib/azure_mgmt_postgresql.rb +7 -0
  105. data/lib/module_definition.rb +7 -0
  106. data/lib/profiles/latest/modules/postgresql_profile_module.rb +241 -0
  107. data/lib/profiles/latest/postgresql_latest_profile_client.rb +40 -0
  108. data/lib/profiles/latest/postgresql_module_definition.rb +8 -0
  109. data/lib/version.rb +7 -0
  110. metadata +225 -0
@@ -0,0 +1,126 @@
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::Postgresql::Mgmt::V2017_12_01
7
+ #
8
+ # The Microsoft Azure management API provides create, read, update, and
9
+ # delete functionality for Azure PostgreSQL resources including servers,
10
+ # databases, firewall rules, VNET rules, security alert policies, log files
11
+ # and configurations with new business model.
12
+ #
13
+ class Replicas
14
+ include MsRestAzure
15
+
16
+ #
17
+ # Creates and initializes a new instance of the Replicas class.
18
+ # @param client service class for accessing basic functionality.
19
+ #
20
+ def initialize(client)
21
+ @client = client
22
+ end
23
+
24
+ # @return [PostgreSQLManagementClient] reference to the PostgreSQLManagementClient
25
+ attr_reader :client
26
+
27
+ #
28
+ # List all the replicas for a given server.
29
+ #
30
+ # @param resource_group_name [String] The name of the resource group that
31
+ # contains the resource. You can obtain this value from the Azure Resource
32
+ # Manager API or the portal.
33
+ # @param server_name [String] The name of the server.
34
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
35
+ # will be added to the HTTP request.
36
+ #
37
+ # @return [ServerListResult] operation results.
38
+ #
39
+ def list_by_server(resource_group_name, server_name, custom_headers:nil)
40
+ response = list_by_server_async(resource_group_name, server_name, custom_headers:custom_headers).value!
41
+ response.body unless response.nil?
42
+ end
43
+
44
+ #
45
+ # List all the replicas for a given server.
46
+ #
47
+ # @param resource_group_name [String] The name of the resource group that
48
+ # contains the resource. You can obtain this value from the Azure Resource
49
+ # Manager API or the portal.
50
+ # @param server_name [String] The name of the server.
51
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
52
+ # will be added to the HTTP request.
53
+ #
54
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
55
+ #
56
+ def list_by_server_with_http_info(resource_group_name, server_name, custom_headers:nil)
57
+ list_by_server_async(resource_group_name, server_name, custom_headers:custom_headers).value!
58
+ end
59
+
60
+ #
61
+ # List all the replicas for a given server.
62
+ #
63
+ # @param resource_group_name [String] The name of the resource group that
64
+ # contains the resource. You can obtain this value from the Azure Resource
65
+ # Manager API or the portal.
66
+ # @param server_name [String] The name of the server.
67
+ # @param [Hash{String => String}] A hash of custom headers that will be added
68
+ # to the HTTP request.
69
+ #
70
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
71
+ #
72
+ def list_by_server_async(resource_group_name, server_name, custom_headers:nil)
73
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
74
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
75
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
76
+ fail ArgumentError, 'server_name is nil' if server_name.nil?
77
+
78
+
79
+ request_headers = {}
80
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
81
+
82
+ # Set Headers
83
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
84
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
85
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/Replicas'
86
+
87
+ request_url = @base_url || @client.base_url
88
+
89
+ options = {
90
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
91
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'serverName' => server_name},
92
+ query_params: {'api-version' => @client.api_version},
93
+ headers: request_headers.merge(custom_headers || {}),
94
+ base_url: request_url
95
+ }
96
+ promise = @client.make_request_async(:get, path_template, options)
97
+
98
+ promise = promise.then do |result|
99
+ http_response = result.response
100
+ status_code = http_response.status
101
+ response_content = http_response.body
102
+ unless status_code == 200
103
+ error_model = JSON.load(response_content)
104
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
105
+ end
106
+
107
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
108
+ # Deserialize Response
109
+ if status_code == 200
110
+ begin
111
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
112
+ result_mapper = Azure::Postgresql::Mgmt::V2017_12_01::Models::ServerListResult.mapper()
113
+ result.body = @client.deserialize(result_mapper, parsed_response)
114
+ rescue Exception => e
115
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
116
+ end
117
+ end
118
+
119
+ result
120
+ end
121
+
122
+ promise.execute
123
+ end
124
+
125
+ end
126
+ end
@@ -0,0 +1,290 @@
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::Postgresql::Mgmt::V2017_12_01
7
+ #
8
+ # The Microsoft Azure management API provides create, read, update, and
9
+ # delete functionality for Azure PostgreSQL resources including servers,
10
+ # databases, firewall rules, VNET rules, security alert policies, log files
11
+ # and configurations with new business model.
12
+ #
13
+ class ServerSecurityAlertPolicies
14
+ include MsRestAzure
15
+
16
+ #
17
+ # Creates and initializes a new instance of the ServerSecurityAlertPolicies class.
18
+ # @param client service class for accessing basic functionality.
19
+ #
20
+ def initialize(client)
21
+ @client = client
22
+ end
23
+
24
+ # @return [PostgreSQLManagementClient] reference to the PostgreSQLManagementClient
25
+ attr_reader :client
26
+
27
+ #
28
+ # Get a server's security alert policy.
29
+ #
30
+ # @param resource_group_name [String] The name of the resource group that
31
+ # contains the resource. You can obtain this value from the Azure Resource
32
+ # Manager API or the portal.
33
+ # @param server_name [String] The name of the server.
34
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
35
+ # will be added to the HTTP request.
36
+ #
37
+ # @return [ServerSecurityAlertPolicy] operation results.
38
+ #
39
+ def get(resource_group_name, server_name, custom_headers:nil)
40
+ response = get_async(resource_group_name, server_name, custom_headers:custom_headers).value!
41
+ response.body unless response.nil?
42
+ end
43
+
44
+ #
45
+ # Get a server's security alert policy.
46
+ #
47
+ # @param resource_group_name [String] The name of the resource group that
48
+ # contains the resource. You can obtain this value from the Azure Resource
49
+ # Manager API or the portal.
50
+ # @param server_name [String] The name of the server.
51
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
52
+ # will be added to the HTTP request.
53
+ #
54
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
55
+ #
56
+ def get_with_http_info(resource_group_name, server_name, custom_headers:nil)
57
+ get_async(resource_group_name, server_name, custom_headers:custom_headers).value!
58
+ end
59
+
60
+ #
61
+ # Get a server's security alert policy.
62
+ #
63
+ # @param resource_group_name [String] The name of the resource group that
64
+ # contains the resource. You can obtain this value from the Azure Resource
65
+ # Manager API or the portal.
66
+ # @param server_name [String] The name of the server.
67
+ # @param [Hash{String => String}] A hash of custom headers that will be added
68
+ # to the HTTP request.
69
+ #
70
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
71
+ #
72
+ def get_async(resource_group_name, server_name, custom_headers:nil)
73
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
74
+ fail ArgumentError, 'server_name is nil' if server_name.nil?
75
+ security_alert_policy_name = 'Default'
76
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
77
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
78
+
79
+
80
+ request_headers = {}
81
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
82
+
83
+ # Set Headers
84
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
85
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
86
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/securityAlertPolicies/{securityAlertPolicyName}'
87
+
88
+ request_url = @base_url || @client.base_url
89
+
90
+ options = {
91
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
92
+ path_params: {'resourceGroupName' => resource_group_name,'serverName' => server_name,'securityAlertPolicyName' => security_alert_policy_name,'subscriptionId' => @client.subscription_id},
93
+ query_params: {'api-version' => @client.api_version},
94
+ headers: request_headers.merge(custom_headers || {}),
95
+ base_url: request_url
96
+ }
97
+ promise = @client.make_request_async(:get, path_template, options)
98
+
99
+ promise = promise.then do |result|
100
+ http_response = result.response
101
+ status_code = http_response.status
102
+ response_content = http_response.body
103
+ unless status_code == 200
104
+ error_model = JSON.load(response_content)
105
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
106
+ end
107
+
108
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
109
+ # Deserialize Response
110
+ if status_code == 200
111
+ begin
112
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
113
+ result_mapper = Azure::Postgresql::Mgmt::V2017_12_01::Models::ServerSecurityAlertPolicy.mapper()
114
+ result.body = @client.deserialize(result_mapper, parsed_response)
115
+ rescue Exception => e
116
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
117
+ end
118
+ end
119
+
120
+ result
121
+ end
122
+
123
+ promise.execute
124
+ end
125
+
126
+ #
127
+ # Creates or updates a threat detection policy.
128
+ #
129
+ # @param resource_group_name [String] The name of the resource group that
130
+ # contains the resource. You can obtain this value from the Azure Resource
131
+ # Manager API or the portal.
132
+ # @param server_name [String] The name of the server.
133
+ # @param parameters [ServerSecurityAlertPolicy] The server security alert
134
+ # policy.
135
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
136
+ # will be added to the HTTP request.
137
+ #
138
+ # @return [ServerSecurityAlertPolicy] operation results.
139
+ #
140
+ def create_or_update(resource_group_name, server_name, parameters, custom_headers:nil)
141
+ response = create_or_update_async(resource_group_name, server_name, parameters, custom_headers:custom_headers).value!
142
+ response.body unless response.nil?
143
+ end
144
+
145
+ #
146
+ # @param resource_group_name [String] The name of the resource group that
147
+ # contains the resource. You can obtain this value from the Azure Resource
148
+ # Manager API or the portal.
149
+ # @param server_name [String] The name of the server.
150
+ # @param parameters [ServerSecurityAlertPolicy] The server security alert
151
+ # policy.
152
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
153
+ # will be added to the HTTP request.
154
+ #
155
+ # @return [Concurrent::Promise] promise which provides async access to http
156
+ # response.
157
+ #
158
+ def create_or_update_async(resource_group_name, server_name, parameters, custom_headers:nil)
159
+ # Send request
160
+ promise = begin_create_or_update_async(resource_group_name, server_name, parameters, custom_headers:custom_headers)
161
+
162
+ promise = promise.then do |response|
163
+ # Defining deserialization method.
164
+ deserialize_method = lambda do |parsed_response|
165
+ result_mapper = Azure::Postgresql::Mgmt::V2017_12_01::Models::ServerSecurityAlertPolicy.mapper()
166
+ parsed_response = @client.deserialize(result_mapper, parsed_response)
167
+ end
168
+
169
+ # Waiting for response.
170
+ @client.get_long_running_operation_result(response, deserialize_method)
171
+ end
172
+
173
+ promise
174
+ end
175
+
176
+ #
177
+ # Creates or updates a threat detection policy.
178
+ #
179
+ # @param resource_group_name [String] The name of the resource group that
180
+ # contains the resource. You can obtain this value from the Azure Resource
181
+ # Manager API or the portal.
182
+ # @param server_name [String] The name of the server.
183
+ # @param parameters [ServerSecurityAlertPolicy] The server security alert
184
+ # policy.
185
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
186
+ # will be added to the HTTP request.
187
+ #
188
+ # @return [ServerSecurityAlertPolicy] operation results.
189
+ #
190
+ def begin_create_or_update(resource_group_name, server_name, parameters, custom_headers:nil)
191
+ response = begin_create_or_update_async(resource_group_name, server_name, parameters, custom_headers:custom_headers).value!
192
+ response.body unless response.nil?
193
+ end
194
+
195
+ #
196
+ # Creates or updates a threat detection policy.
197
+ #
198
+ # @param resource_group_name [String] The name of the resource group that
199
+ # contains the resource. You can obtain this value from the Azure Resource
200
+ # Manager API or the portal.
201
+ # @param server_name [String] The name of the server.
202
+ # @param parameters [ServerSecurityAlertPolicy] The server security alert
203
+ # policy.
204
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
205
+ # will be added to the HTTP request.
206
+ #
207
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
208
+ #
209
+ def begin_create_or_update_with_http_info(resource_group_name, server_name, parameters, custom_headers:nil)
210
+ begin_create_or_update_async(resource_group_name, server_name, parameters, custom_headers:custom_headers).value!
211
+ end
212
+
213
+ #
214
+ # Creates or updates a threat detection policy.
215
+ #
216
+ # @param resource_group_name [String] The name of the resource group that
217
+ # contains the resource. You can obtain this value from the Azure Resource
218
+ # Manager API or the portal.
219
+ # @param server_name [String] The name of the server.
220
+ # @param parameters [ServerSecurityAlertPolicy] The server security alert
221
+ # policy.
222
+ # @param [Hash{String => String}] A hash of custom headers that will be added
223
+ # to the HTTP request.
224
+ #
225
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
226
+ #
227
+ def begin_create_or_update_async(resource_group_name, server_name, parameters, custom_headers:nil)
228
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
229
+ fail ArgumentError, 'server_name is nil' if server_name.nil?
230
+ security_alert_policy_name = 'Default'
231
+ fail ArgumentError, 'parameters is nil' if parameters.nil?
232
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
233
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
234
+
235
+
236
+ request_headers = {}
237
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
238
+
239
+ # Set Headers
240
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
241
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
242
+
243
+ # Serialize Request
244
+ request_mapper = Azure::Postgresql::Mgmt::V2017_12_01::Models::ServerSecurityAlertPolicy.mapper()
245
+ request_content = @client.serialize(request_mapper, parameters)
246
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
247
+
248
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/securityAlertPolicies/{securityAlertPolicyName}'
249
+
250
+ request_url = @base_url || @client.base_url
251
+
252
+ options = {
253
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
254
+ path_params: {'resourceGroupName' => resource_group_name,'serverName' => server_name,'securityAlertPolicyName' => security_alert_policy_name,'subscriptionId' => @client.subscription_id},
255
+ query_params: {'api-version' => @client.api_version},
256
+ body: request_content,
257
+ headers: request_headers.merge(custom_headers || {}),
258
+ base_url: request_url
259
+ }
260
+ promise = @client.make_request_async(:put, path_template, options)
261
+
262
+ promise = promise.then do |result|
263
+ http_response = result.response
264
+ status_code = http_response.status
265
+ response_content = http_response.body
266
+ unless status_code == 200 || status_code == 202
267
+ error_model = JSON.load(response_content)
268
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
269
+ end
270
+
271
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
272
+ # Deserialize Response
273
+ if status_code == 200
274
+ begin
275
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
276
+ result_mapper = Azure::Postgresql::Mgmt::V2017_12_01::Models::ServerSecurityAlertPolicy.mapper()
277
+ result.body = @client.deserialize(result_mapper, parsed_response)
278
+ rescue Exception => e
279
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
280
+ end
281
+ end
282
+
283
+ result
284
+ end
285
+
286
+ promise.execute
287
+ end
288
+
289
+ end
290
+ end
@@ -0,0 +1,900 @@
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::Postgresql::Mgmt::V2017_12_01
7
+ #
8
+ # The Microsoft Azure management API provides create, read, update, and
9
+ # delete functionality for Azure PostgreSQL resources including servers,
10
+ # databases, firewall rules, VNET rules, security alert policies, log files
11
+ # and configurations with new business model.
12
+ #
13
+ class Servers
14
+ include MsRestAzure
15
+
16
+ #
17
+ # Creates and initializes a new instance of the Servers class.
18
+ # @param client service class for accessing basic functionality.
19
+ #
20
+ def initialize(client)
21
+ @client = client
22
+ end
23
+
24
+ # @return [PostgreSQLManagementClient] reference to the PostgreSQLManagementClient
25
+ attr_reader :client
26
+
27
+ #
28
+ # Creates a new server, or will overwrite an existing server.
29
+ #
30
+ # @param resource_group_name [String] The name of the resource group that
31
+ # contains the resource. You can obtain this value from the Azure Resource
32
+ # Manager API or the portal.
33
+ # @param server_name [String] The name of the server.
34
+ # @param parameters [ServerForCreate] The required parameters for creating or
35
+ # updating a server.
36
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
37
+ # will be added to the HTTP request.
38
+ #
39
+ # @return [Server] operation results.
40
+ #
41
+ def create(resource_group_name, server_name, parameters, custom_headers:nil)
42
+ response = create_async(resource_group_name, server_name, parameters, custom_headers:custom_headers).value!
43
+ response.body unless response.nil?
44
+ end
45
+
46
+ #
47
+ # @param resource_group_name [String] The name of the resource group that
48
+ # contains the resource. You can obtain this value from the Azure Resource
49
+ # Manager API or the portal.
50
+ # @param server_name [String] The name of the server.
51
+ # @param parameters [ServerForCreate] The required parameters for creating or
52
+ # updating a server.
53
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
54
+ # will be added to the HTTP request.
55
+ #
56
+ # @return [Concurrent::Promise] promise which provides async access to http
57
+ # response.
58
+ #
59
+ def create_async(resource_group_name, server_name, parameters, custom_headers:nil)
60
+ # Send request
61
+ promise = begin_create_async(resource_group_name, server_name, parameters, custom_headers:custom_headers)
62
+
63
+ promise = promise.then do |response|
64
+ # Defining deserialization method.
65
+ deserialize_method = lambda do |parsed_response|
66
+ result_mapper = Azure::Postgresql::Mgmt::V2017_12_01::Models::Server.mapper()
67
+ parsed_response = @client.deserialize(result_mapper, parsed_response)
68
+ end
69
+
70
+ # Waiting for response.
71
+ @client.get_long_running_operation_result(response, deserialize_method)
72
+ end
73
+
74
+ promise
75
+ end
76
+
77
+ #
78
+ # Updates an existing server. The request body can contain one to many of the
79
+ # properties present in the normal server definition.
80
+ #
81
+ # @param resource_group_name [String] The name of the resource group that
82
+ # contains the resource. You can obtain this value from the Azure Resource
83
+ # Manager API or the portal.
84
+ # @param server_name [String] The name of the server.
85
+ # @param parameters [ServerUpdateParameters] The required parameters for
86
+ # updating a server.
87
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
88
+ # will be added to the HTTP request.
89
+ #
90
+ # @return [Server] operation results.
91
+ #
92
+ def update(resource_group_name, server_name, parameters, custom_headers:nil)
93
+ response = update_async(resource_group_name, server_name, parameters, custom_headers:custom_headers).value!
94
+ response.body unless response.nil?
95
+ end
96
+
97
+ #
98
+ # @param resource_group_name [String] The name of the resource group that
99
+ # contains the resource. You can obtain this value from the Azure Resource
100
+ # Manager API or the portal.
101
+ # @param server_name [String] The name of the server.
102
+ # @param parameters [ServerUpdateParameters] The required parameters for
103
+ # updating a server.
104
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
105
+ # will be added to the HTTP request.
106
+ #
107
+ # @return [Concurrent::Promise] promise which provides async access to http
108
+ # response.
109
+ #
110
+ def update_async(resource_group_name, server_name, parameters, custom_headers:nil)
111
+ # Send request
112
+ promise = begin_update_async(resource_group_name, server_name, parameters, custom_headers:custom_headers)
113
+
114
+ promise = promise.then do |response|
115
+ # Defining deserialization method.
116
+ deserialize_method = lambda do |parsed_response|
117
+ result_mapper = Azure::Postgresql::Mgmt::V2017_12_01::Models::Server.mapper()
118
+ parsed_response = @client.deserialize(result_mapper, parsed_response)
119
+ end
120
+
121
+ # Waiting for response.
122
+ @client.get_long_running_operation_result(response, deserialize_method)
123
+ end
124
+
125
+ promise
126
+ end
127
+
128
+ #
129
+ # Deletes a server.
130
+ #
131
+ # @param resource_group_name [String] The name of the resource group that
132
+ # contains the resource. You can obtain this value from the Azure Resource
133
+ # Manager API or the portal.
134
+ # @param server_name [String] The name of the server.
135
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
136
+ # will be added to the HTTP request.
137
+ #
138
+ def delete(resource_group_name, server_name, custom_headers:nil)
139
+ response = delete_async(resource_group_name, server_name, custom_headers:custom_headers).value!
140
+ nil
141
+ end
142
+
143
+ #
144
+ # @param resource_group_name [String] The name of the resource group that
145
+ # contains the resource. You can obtain this value from the Azure Resource
146
+ # Manager API or the portal.
147
+ # @param server_name [String] The name of the server.
148
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
149
+ # will be added to the HTTP request.
150
+ #
151
+ # @return [Concurrent::Promise] promise which provides async access to http
152
+ # response.
153
+ #
154
+ def delete_async(resource_group_name, server_name, custom_headers:nil)
155
+ # Send request
156
+ promise = begin_delete_async(resource_group_name, server_name, custom_headers:custom_headers)
157
+
158
+ promise = promise.then do |response|
159
+ # Defining deserialization method.
160
+ deserialize_method = lambda do |parsed_response|
161
+ end
162
+
163
+ # Waiting for response.
164
+ @client.get_long_running_operation_result(response, deserialize_method)
165
+ end
166
+
167
+ promise
168
+ end
169
+
170
+ #
171
+ # Gets information about a server.
172
+ #
173
+ # @param resource_group_name [String] The name of the resource group that
174
+ # contains the resource. You can obtain this value from the Azure Resource
175
+ # Manager API or the portal.
176
+ # @param server_name [String] The name of the server.
177
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
178
+ # will be added to the HTTP request.
179
+ #
180
+ # @return [Server] operation results.
181
+ #
182
+ def get(resource_group_name, server_name, custom_headers:nil)
183
+ response = get_async(resource_group_name, server_name, custom_headers:custom_headers).value!
184
+ response.body unless response.nil?
185
+ end
186
+
187
+ #
188
+ # Gets information about a server.
189
+ #
190
+ # @param resource_group_name [String] The name of the resource group that
191
+ # contains the resource. You can obtain this value from the Azure Resource
192
+ # Manager API or the portal.
193
+ # @param server_name [String] The name of the server.
194
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
195
+ # will be added to the HTTP request.
196
+ #
197
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
198
+ #
199
+ def get_with_http_info(resource_group_name, server_name, custom_headers:nil)
200
+ get_async(resource_group_name, server_name, custom_headers:custom_headers).value!
201
+ end
202
+
203
+ #
204
+ # Gets information about a server.
205
+ #
206
+ # @param resource_group_name [String] The name of the resource group that
207
+ # contains the resource. You can obtain this value from the Azure Resource
208
+ # Manager API or the portal.
209
+ # @param server_name [String] The name of the server.
210
+ # @param [Hash{String => String}] A hash of custom headers that will be added
211
+ # to the HTTP request.
212
+ #
213
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
214
+ #
215
+ def get_async(resource_group_name, server_name, custom_headers:nil)
216
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
217
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
218
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
219
+ fail ArgumentError, 'server_name is nil' if server_name.nil?
220
+
221
+
222
+ request_headers = {}
223
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
224
+
225
+ # Set Headers
226
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
227
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
228
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}'
229
+
230
+ request_url = @base_url || @client.base_url
231
+
232
+ options = {
233
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
234
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'serverName' => server_name},
235
+ query_params: {'api-version' => @client.api_version},
236
+ headers: request_headers.merge(custom_headers || {}),
237
+ base_url: request_url
238
+ }
239
+ promise = @client.make_request_async(:get, path_template, options)
240
+
241
+ promise = promise.then do |result|
242
+ http_response = result.response
243
+ status_code = http_response.status
244
+ response_content = http_response.body
245
+ unless status_code == 200
246
+ error_model = JSON.load(response_content)
247
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
248
+ end
249
+
250
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
251
+ # Deserialize Response
252
+ if status_code == 200
253
+ begin
254
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
255
+ result_mapper = Azure::Postgresql::Mgmt::V2017_12_01::Models::Server.mapper()
256
+ result.body = @client.deserialize(result_mapper, parsed_response)
257
+ rescue Exception => e
258
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
259
+ end
260
+ end
261
+
262
+ result
263
+ end
264
+
265
+ promise.execute
266
+ end
267
+
268
+ #
269
+ # List all the servers in a given resource group.
270
+ #
271
+ # @param resource_group_name [String] The name of the resource group that
272
+ # contains the resource. You can obtain this value from the Azure Resource
273
+ # Manager API or the portal.
274
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
275
+ # will be added to the HTTP request.
276
+ #
277
+ # @return [ServerListResult] operation results.
278
+ #
279
+ def list_by_resource_group(resource_group_name, custom_headers:nil)
280
+ response = list_by_resource_group_async(resource_group_name, custom_headers:custom_headers).value!
281
+ response.body unless response.nil?
282
+ end
283
+
284
+ #
285
+ # List all the servers in a given resource group.
286
+ #
287
+ # @param resource_group_name [String] The name of the resource group that
288
+ # contains the resource. You can obtain this value from the Azure Resource
289
+ # Manager API or the portal.
290
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
291
+ # will be added to the HTTP request.
292
+ #
293
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
294
+ #
295
+ def list_by_resource_group_with_http_info(resource_group_name, custom_headers:nil)
296
+ list_by_resource_group_async(resource_group_name, custom_headers:custom_headers).value!
297
+ end
298
+
299
+ #
300
+ # List all the servers in a given resource group.
301
+ #
302
+ # @param resource_group_name [String] The name of the resource group that
303
+ # contains the resource. You can obtain this value from the Azure Resource
304
+ # Manager API or the portal.
305
+ # @param [Hash{String => String}] A hash of custom headers that will be added
306
+ # to the HTTP request.
307
+ #
308
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
309
+ #
310
+ def list_by_resource_group_async(resource_group_name, custom_headers:nil)
311
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
312
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
313
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
314
+
315
+
316
+ request_headers = {}
317
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
318
+
319
+ # Set Headers
320
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
321
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
322
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers'
323
+
324
+ request_url = @base_url || @client.base_url
325
+
326
+ options = {
327
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
328
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name},
329
+ query_params: {'api-version' => @client.api_version},
330
+ headers: request_headers.merge(custom_headers || {}),
331
+ base_url: request_url
332
+ }
333
+ promise = @client.make_request_async(:get, path_template, options)
334
+
335
+ promise = promise.then do |result|
336
+ http_response = result.response
337
+ status_code = http_response.status
338
+ response_content = http_response.body
339
+ unless status_code == 200
340
+ error_model = JSON.load(response_content)
341
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
342
+ end
343
+
344
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
345
+ # Deserialize Response
346
+ if status_code == 200
347
+ begin
348
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
349
+ result_mapper = Azure::Postgresql::Mgmt::V2017_12_01::Models::ServerListResult.mapper()
350
+ result.body = @client.deserialize(result_mapper, parsed_response)
351
+ rescue Exception => e
352
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
353
+ end
354
+ end
355
+
356
+ result
357
+ end
358
+
359
+ promise.execute
360
+ end
361
+
362
+ #
363
+ # List all the servers in a given subscription.
364
+ #
365
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
366
+ # will be added to the HTTP request.
367
+ #
368
+ # @return [ServerListResult] operation results.
369
+ #
370
+ def list(custom_headers:nil)
371
+ response = list_async(custom_headers:custom_headers).value!
372
+ response.body unless response.nil?
373
+ end
374
+
375
+ #
376
+ # List all the servers in a given subscription.
377
+ #
378
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
379
+ # will be added to the HTTP request.
380
+ #
381
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
382
+ #
383
+ def list_with_http_info(custom_headers:nil)
384
+ list_async(custom_headers:custom_headers).value!
385
+ end
386
+
387
+ #
388
+ # List all the servers in a given subscription.
389
+ #
390
+ # @param [Hash{String => String}] A hash of custom headers that will be added
391
+ # to the HTTP request.
392
+ #
393
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
394
+ #
395
+ def list_async(custom_headers:nil)
396
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
397
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
398
+
399
+
400
+ request_headers = {}
401
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
402
+
403
+ # Set Headers
404
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
405
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
406
+ path_template = 'subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/servers'
407
+
408
+ request_url = @base_url || @client.base_url
409
+
410
+ options = {
411
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
412
+ path_params: {'subscriptionId' => @client.subscription_id},
413
+ query_params: {'api-version' => @client.api_version},
414
+ headers: request_headers.merge(custom_headers || {}),
415
+ base_url: request_url
416
+ }
417
+ promise = @client.make_request_async(:get, path_template, options)
418
+
419
+ promise = promise.then do |result|
420
+ http_response = result.response
421
+ status_code = http_response.status
422
+ response_content = http_response.body
423
+ unless status_code == 200
424
+ error_model = JSON.load(response_content)
425
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
426
+ end
427
+
428
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
429
+ # Deserialize Response
430
+ if status_code == 200
431
+ begin
432
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
433
+ result_mapper = Azure::Postgresql::Mgmt::V2017_12_01::Models::ServerListResult.mapper()
434
+ result.body = @client.deserialize(result_mapper, parsed_response)
435
+ rescue Exception => e
436
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
437
+ end
438
+ end
439
+
440
+ result
441
+ end
442
+
443
+ promise.execute
444
+ end
445
+
446
+ #
447
+ # Restarts a server.
448
+ #
449
+ # @param resource_group_name [String] The name of the resource group that
450
+ # contains the resource. You can obtain this value from the Azure Resource
451
+ # Manager API or the portal.
452
+ # @param server_name [String] The name of the server.
453
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
454
+ # will be added to the HTTP request.
455
+ #
456
+ def restart(resource_group_name, server_name, custom_headers:nil)
457
+ response = restart_async(resource_group_name, server_name, custom_headers:custom_headers).value!
458
+ nil
459
+ end
460
+
461
+ #
462
+ # @param resource_group_name [String] The name of the resource group that
463
+ # contains the resource. You can obtain this value from the Azure Resource
464
+ # Manager API or the portal.
465
+ # @param server_name [String] The name of the server.
466
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
467
+ # will be added to the HTTP request.
468
+ #
469
+ # @return [Concurrent::Promise] promise which provides async access to http
470
+ # response.
471
+ #
472
+ def restart_async(resource_group_name, server_name, custom_headers:nil)
473
+ # Send request
474
+ promise = begin_restart_async(resource_group_name, server_name, custom_headers:custom_headers)
475
+
476
+ promise = promise.then do |response|
477
+ # Defining deserialization method.
478
+ deserialize_method = lambda do |parsed_response|
479
+ end
480
+
481
+ # Waiting for response.
482
+ @client.get_long_running_operation_result(response, deserialize_method)
483
+ end
484
+
485
+ promise
486
+ end
487
+
488
+ #
489
+ # Creates a new server, or will overwrite an existing server.
490
+ #
491
+ # @param resource_group_name [String] The name of the resource group that
492
+ # contains the resource. You can obtain this value from the Azure Resource
493
+ # Manager API or the portal.
494
+ # @param server_name [String] The name of the server.
495
+ # @param parameters [ServerForCreate] The required parameters for creating or
496
+ # updating a server.
497
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
498
+ # will be added to the HTTP request.
499
+ #
500
+ # @return [Server] operation results.
501
+ #
502
+ def begin_create(resource_group_name, server_name, parameters, custom_headers:nil)
503
+ response = begin_create_async(resource_group_name, server_name, parameters, custom_headers:custom_headers).value!
504
+ response.body unless response.nil?
505
+ end
506
+
507
+ #
508
+ # Creates a new server, or will overwrite an existing server.
509
+ #
510
+ # @param resource_group_name [String] The name of the resource group that
511
+ # contains the resource. You can obtain this value from the Azure Resource
512
+ # Manager API or the portal.
513
+ # @param server_name [String] The name of the server.
514
+ # @param parameters [ServerForCreate] The required parameters for creating or
515
+ # updating a server.
516
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
517
+ # will be added to the HTTP request.
518
+ #
519
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
520
+ #
521
+ def begin_create_with_http_info(resource_group_name, server_name, parameters, custom_headers:nil)
522
+ begin_create_async(resource_group_name, server_name, parameters, custom_headers:custom_headers).value!
523
+ end
524
+
525
+ #
526
+ # Creates a new server, or will overwrite an existing server.
527
+ #
528
+ # @param resource_group_name [String] The name of the resource group that
529
+ # contains the resource. You can obtain this value from the Azure Resource
530
+ # Manager API or the portal.
531
+ # @param server_name [String] The name of the server.
532
+ # @param parameters [ServerForCreate] The required parameters for creating or
533
+ # updating a server.
534
+ # @param [Hash{String => String}] A hash of custom headers that will be added
535
+ # to the HTTP request.
536
+ #
537
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
538
+ #
539
+ def begin_create_async(resource_group_name, server_name, parameters, custom_headers:nil)
540
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
541
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
542
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
543
+ fail ArgumentError, 'server_name is nil' if server_name.nil?
544
+ fail ArgumentError, 'parameters is nil' if parameters.nil?
545
+
546
+
547
+ request_headers = {}
548
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
549
+
550
+ # Set Headers
551
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
552
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
553
+
554
+ # Serialize Request
555
+ request_mapper = Azure::Postgresql::Mgmt::V2017_12_01::Models::ServerForCreate.mapper()
556
+ request_content = @client.serialize(request_mapper, parameters)
557
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
558
+
559
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}'
560
+
561
+ request_url = @base_url || @client.base_url
562
+
563
+ options = {
564
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
565
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'serverName' => server_name},
566
+ query_params: {'api-version' => @client.api_version},
567
+ body: request_content,
568
+ headers: request_headers.merge(custom_headers || {}),
569
+ base_url: request_url
570
+ }
571
+ promise = @client.make_request_async(:put, path_template, options)
572
+
573
+ promise = promise.then do |result|
574
+ http_response = result.response
575
+ status_code = http_response.status
576
+ response_content = http_response.body
577
+ unless status_code == 200 || status_code == 201 || status_code == 202
578
+ error_model = JSON.load(response_content)
579
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
580
+ end
581
+
582
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
583
+ # Deserialize Response
584
+ if status_code == 200
585
+ begin
586
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
587
+ result_mapper = Azure::Postgresql::Mgmt::V2017_12_01::Models::Server.mapper()
588
+ result.body = @client.deserialize(result_mapper, parsed_response)
589
+ rescue Exception => e
590
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
591
+ end
592
+ end
593
+ # Deserialize Response
594
+ if status_code == 201
595
+ begin
596
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
597
+ result_mapper = Azure::Postgresql::Mgmt::V2017_12_01::Models::Server.mapper()
598
+ result.body = @client.deserialize(result_mapper, parsed_response)
599
+ rescue Exception => e
600
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
601
+ end
602
+ end
603
+
604
+ result
605
+ end
606
+
607
+ promise.execute
608
+ end
609
+
610
+ #
611
+ # Updates an existing server. The request body can contain one to many of the
612
+ # properties present in the normal server definition.
613
+ #
614
+ # @param resource_group_name [String] The name of the resource group that
615
+ # contains the resource. You can obtain this value from the Azure Resource
616
+ # Manager API or the portal.
617
+ # @param server_name [String] The name of the server.
618
+ # @param parameters [ServerUpdateParameters] The required parameters for
619
+ # updating a server.
620
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
621
+ # will be added to the HTTP request.
622
+ #
623
+ # @return [Server] operation results.
624
+ #
625
+ def begin_update(resource_group_name, server_name, parameters, custom_headers:nil)
626
+ response = begin_update_async(resource_group_name, server_name, parameters, custom_headers:custom_headers).value!
627
+ response.body unless response.nil?
628
+ end
629
+
630
+ #
631
+ # Updates an existing server. The request body can contain one to many of the
632
+ # properties present in the normal server definition.
633
+ #
634
+ # @param resource_group_name [String] The name of the resource group that
635
+ # contains the resource. You can obtain this value from the Azure Resource
636
+ # Manager API or the portal.
637
+ # @param server_name [String] The name of the server.
638
+ # @param parameters [ServerUpdateParameters] The required parameters for
639
+ # updating a server.
640
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
641
+ # will be added to the HTTP request.
642
+ #
643
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
644
+ #
645
+ def begin_update_with_http_info(resource_group_name, server_name, parameters, custom_headers:nil)
646
+ begin_update_async(resource_group_name, server_name, parameters, custom_headers:custom_headers).value!
647
+ end
648
+
649
+ #
650
+ # Updates an existing server. The request body can contain one to many of the
651
+ # properties present in the normal server definition.
652
+ #
653
+ # @param resource_group_name [String] The name of the resource group that
654
+ # contains the resource. You can obtain this value from the Azure Resource
655
+ # Manager API or the portal.
656
+ # @param server_name [String] The name of the server.
657
+ # @param parameters [ServerUpdateParameters] The required parameters for
658
+ # updating a server.
659
+ # @param [Hash{String => String}] A hash of custom headers that will be added
660
+ # to the HTTP request.
661
+ #
662
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
663
+ #
664
+ def begin_update_async(resource_group_name, server_name, parameters, custom_headers:nil)
665
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
666
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
667
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
668
+ fail ArgumentError, 'server_name is nil' if server_name.nil?
669
+ fail ArgumentError, 'parameters is nil' if parameters.nil?
670
+
671
+
672
+ request_headers = {}
673
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
674
+
675
+ # Set Headers
676
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
677
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
678
+
679
+ # Serialize Request
680
+ request_mapper = Azure::Postgresql::Mgmt::V2017_12_01::Models::ServerUpdateParameters.mapper()
681
+ request_content = @client.serialize(request_mapper, parameters)
682
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
683
+
684
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}'
685
+
686
+ request_url = @base_url || @client.base_url
687
+
688
+ options = {
689
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
690
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'serverName' => server_name},
691
+ query_params: {'api-version' => @client.api_version},
692
+ body: request_content,
693
+ headers: request_headers.merge(custom_headers || {}),
694
+ base_url: request_url
695
+ }
696
+ promise = @client.make_request_async(:patch, path_template, options)
697
+
698
+ promise = promise.then do |result|
699
+ http_response = result.response
700
+ status_code = http_response.status
701
+ response_content = http_response.body
702
+ unless status_code == 200 || status_code == 202
703
+ error_model = JSON.load(response_content)
704
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
705
+ end
706
+
707
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
708
+ # Deserialize Response
709
+ if status_code == 200
710
+ begin
711
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
712
+ result_mapper = Azure::Postgresql::Mgmt::V2017_12_01::Models::Server.mapper()
713
+ result.body = @client.deserialize(result_mapper, parsed_response)
714
+ rescue Exception => e
715
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
716
+ end
717
+ end
718
+
719
+ result
720
+ end
721
+
722
+ promise.execute
723
+ end
724
+
725
+ #
726
+ # Deletes a server.
727
+ #
728
+ # @param resource_group_name [String] The name of the resource group that
729
+ # contains the resource. You can obtain this value from the Azure Resource
730
+ # Manager API or the portal.
731
+ # @param server_name [String] The name of the server.
732
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
733
+ # will be added to the HTTP request.
734
+ #
735
+ #
736
+ def begin_delete(resource_group_name, server_name, custom_headers:nil)
737
+ response = begin_delete_async(resource_group_name, server_name, custom_headers:custom_headers).value!
738
+ nil
739
+ end
740
+
741
+ #
742
+ # Deletes a server.
743
+ #
744
+ # @param resource_group_name [String] The name of the resource group that
745
+ # contains the resource. You can obtain this value from the Azure Resource
746
+ # Manager API or the portal.
747
+ # @param server_name [String] The name of the server.
748
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
749
+ # will be added to the HTTP request.
750
+ #
751
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
752
+ #
753
+ def begin_delete_with_http_info(resource_group_name, server_name, custom_headers:nil)
754
+ begin_delete_async(resource_group_name, server_name, custom_headers:custom_headers).value!
755
+ end
756
+
757
+ #
758
+ # Deletes a server.
759
+ #
760
+ # @param resource_group_name [String] The name of the resource group that
761
+ # contains the resource. You can obtain this value from the Azure Resource
762
+ # Manager API or the portal.
763
+ # @param server_name [String] The name of the server.
764
+ # @param [Hash{String => String}] A hash of custom headers that will be added
765
+ # to the HTTP request.
766
+ #
767
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
768
+ #
769
+ def begin_delete_async(resource_group_name, server_name, custom_headers:nil)
770
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
771
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
772
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
773
+ fail ArgumentError, 'server_name is nil' if server_name.nil?
774
+
775
+
776
+ request_headers = {}
777
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
778
+
779
+ # Set Headers
780
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
781
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
782
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}'
783
+
784
+ request_url = @base_url || @client.base_url
785
+
786
+ options = {
787
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
788
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'serverName' => server_name},
789
+ query_params: {'api-version' => @client.api_version},
790
+ headers: request_headers.merge(custom_headers || {}),
791
+ base_url: request_url
792
+ }
793
+ promise = @client.make_request_async(:delete, path_template, options)
794
+
795
+ promise = promise.then do |result|
796
+ http_response = result.response
797
+ status_code = http_response.status
798
+ response_content = http_response.body
799
+ unless status_code == 200 || status_code == 202 || status_code == 204
800
+ error_model = JSON.load(response_content)
801
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
802
+ end
803
+
804
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
805
+
806
+ result
807
+ end
808
+
809
+ promise.execute
810
+ end
811
+
812
+ #
813
+ # Restarts a server.
814
+ #
815
+ # @param resource_group_name [String] The name of the resource group that
816
+ # contains the resource. You can obtain this value from the Azure Resource
817
+ # Manager API or the portal.
818
+ # @param server_name [String] The name of the server.
819
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
820
+ # will be added to the HTTP request.
821
+ #
822
+ #
823
+ def begin_restart(resource_group_name, server_name, custom_headers:nil)
824
+ response = begin_restart_async(resource_group_name, server_name, custom_headers:custom_headers).value!
825
+ nil
826
+ end
827
+
828
+ #
829
+ # Restarts a server.
830
+ #
831
+ # @param resource_group_name [String] The name of the resource group that
832
+ # contains the resource. You can obtain this value from the Azure Resource
833
+ # Manager API or the portal.
834
+ # @param server_name [String] The name of the server.
835
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
836
+ # will be added to the HTTP request.
837
+ #
838
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
839
+ #
840
+ def begin_restart_with_http_info(resource_group_name, server_name, custom_headers:nil)
841
+ begin_restart_async(resource_group_name, server_name, custom_headers:custom_headers).value!
842
+ end
843
+
844
+ #
845
+ # Restarts a server.
846
+ #
847
+ # @param resource_group_name [String] The name of the resource group that
848
+ # contains the resource. You can obtain this value from the Azure Resource
849
+ # Manager API or the portal.
850
+ # @param server_name [String] The name of the server.
851
+ # @param [Hash{String => String}] A hash of custom headers that will be added
852
+ # to the HTTP request.
853
+ #
854
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
855
+ #
856
+ def begin_restart_async(resource_group_name, server_name, custom_headers:nil)
857
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
858
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
859
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
860
+ fail ArgumentError, 'server_name is nil' if server_name.nil?
861
+
862
+
863
+ request_headers = {}
864
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
865
+
866
+ # Set Headers
867
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
868
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
869
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/restart'
870
+
871
+ request_url = @base_url || @client.base_url
872
+
873
+ options = {
874
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
875
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'serverName' => server_name},
876
+ query_params: {'api-version' => @client.api_version},
877
+ headers: request_headers.merge(custom_headers || {}),
878
+ base_url: request_url
879
+ }
880
+ promise = @client.make_request_async(:post, path_template, options)
881
+
882
+ promise = promise.then do |result|
883
+ http_response = result.response
884
+ status_code = http_response.status
885
+ response_content = http_response.body
886
+ unless status_code == 200 || status_code == 202
887
+ error_model = JSON.load(response_content)
888
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
889
+ end
890
+
891
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
892
+
893
+ result
894
+ end
895
+
896
+ promise.execute
897
+ end
898
+
899
+ end
900
+ end