Skip to content
This repository was archived by the owner on Jan 11, 2023. It is now read-only.
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -203,6 +203,54 @@ def create_or_update_async(resource_group_name, ddos_protection_plan_name, param
promise
end

#
# Update a DDoS protection plan tags
#
# @param resource_group_name [String] The name of the resource group.
# @param ddos_protection_plan_name [String] The name of the DDoS protection
# plan.
# @param parameters [TagsObject] Parameters supplied to the update DDoS
# protection plan resource tags.
# @param custom_headers [Hash{String => String}] A hash of custom headers that
# will be added to the HTTP request.
#
# @return [DdosProtectionPlan] operation results.
#
def update_tags(resource_group_name, ddos_protection_plan_name, parameters, custom_headers = nil)
response = update_tags_async(resource_group_name, ddos_protection_plan_name, parameters, custom_headers).value!
response.body unless response.nil?
end

#
# @param resource_group_name [String] The name of the resource group.
# @param ddos_protection_plan_name [String] The name of the DDoS protection
# plan.
# @param parameters [TagsObject] Parameters supplied to the update DDoS
# protection plan resource tags.
# @param custom_headers [Hash{String => String}] A hash of custom headers that
# will be added to the HTTP request.
#
# @return [Concurrent::Promise] promise which provides async access to http
# response.
#
def update_tags_async(resource_group_name, ddos_protection_plan_name, parameters, custom_headers = nil)
# Send request
promise = begin_update_tags_async(resource_group_name, ddos_protection_plan_name, parameters, custom_headers)

promise = promise.then do |response|
# Defining deserialization method.
deserialize_method = lambda do |parsed_response|
result_mapper = Azure::Network::Mgmt::V2018_12_01::Models::DdosProtectionPlan.mapper()
parsed_response = @client.deserialize(result_mapper, parsed_response)
end

# Waiting for response.
@client.get_long_running_operation_result(response, deserialize_method)
end

promise
end

#
# Gets all DDoS protection plans in a subscription.
#
Expand Down Expand Up @@ -576,6 +624,116 @@ def begin_create_or_update_async(resource_group_name, ddos_protection_plan_name,
promise.execute
end

#
# Update a DDoS protection plan tags
#
# @param resource_group_name [String] The name of the resource group.
# @param ddos_protection_plan_name [String] The name of the DDoS protection
# plan.
# @param parameters [TagsObject] Parameters supplied to the update DDoS
# protection plan resource tags.
# @param custom_headers [Hash{String => String}] A hash of custom headers that
# will be added to the HTTP request.
#
# @return [DdosProtectionPlan] operation results.
#
def begin_update_tags(resource_group_name, ddos_protection_plan_name, parameters, custom_headers = nil)
response = begin_update_tags_async(resource_group_name, ddos_protection_plan_name, parameters, custom_headers).value!
response.body unless response.nil?
end

#
# Update a DDoS protection plan tags
#
# @param resource_group_name [String] The name of the resource group.
# @param ddos_protection_plan_name [String] The name of the DDoS protection
# plan.
# @param parameters [TagsObject] Parameters supplied to the update DDoS
# protection plan resource tags.
# @param custom_headers [Hash{String => String}] A hash of custom headers that
# will be added to the HTTP request.
#
# @return [MsRestAzure::AzureOperationResponse] HTTP response information.
#
def begin_update_tags_with_http_info(resource_group_name, ddos_protection_plan_name, parameters, custom_headers = nil)
begin_update_tags_async(resource_group_name, ddos_protection_plan_name, parameters, custom_headers).value!
end

#
# Update a DDoS protection plan tags
#
# @param resource_group_name [String] The name of the resource group.
# @param ddos_protection_plan_name [String] The name of the DDoS protection
# plan.
# @param parameters [TagsObject] Parameters supplied to the update DDoS
# protection plan resource tags.
# @param [Hash{String => String}] A hash of custom headers that will be added
# to the HTTP request.
#
# @return [Concurrent::Promise] Promise object which holds the HTTP response.
#
def begin_update_tags_async(resource_group_name, ddos_protection_plan_name, parameters, custom_headers = nil)
fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
fail ArgumentError, 'ddos_protection_plan_name is nil' if ddos_protection_plan_name.nil?
fail ArgumentError, 'parameters is nil' if parameters.nil?
fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?


request_headers = {}

# Set Headers
request_headers['x-ms-client-request-id'] = SecureRandom.uuid
request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?

request_headers['Content-Type'] = 'application/json; charset=utf-8'

# Serialize Request
request_mapper = Azure::Network::Mgmt::V2018_12_01::Models::TagsObject.mapper()
request_content = @client.serialize(request_mapper, parameters)
request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil

path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans/{ddosProtectionPlanName}'

request_url = @base_url || @client.base_url

options = {
middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
path_params: {'resourceGroupName' => resource_group_name,'ddosProtectionPlanName' => ddos_protection_plan_name,'subscriptionId' => @client.subscription_id},
query_params: {'api-version' => @client.api_version},
body: request_content,
headers: request_headers.merge(custom_headers || {}),
base_url: request_url
}
promise = @client.make_request_async(:patch, path_template, options)

promise = promise.then do |result|
http_response = result.response
status_code = http_response.status
response_content = http_response.body
unless status_code == 200
error_model = JSON.load(response_content)
fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
end

result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
# Deserialize Response
if status_code == 200
begin
parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
result_mapper = Azure::Network::Mgmt::V2018_12_01::Models::DdosProtectionPlan.mapper()
result.body = @client.deserialize(result_mapper, parsed_response)
rescue Exception => e
fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
end
end

result
end

promise.execute
end

#
# Gets all DDoS protection plans in a subscription.
#
Expand Down