Skip to content
This repository has been archived by the owner on Jan 11, 2023. It is now read-only.

[AutoPR compute/resource-manager] User identities in a new dictionary property #1438

Merged
Merged
Show file tree
Hide file tree
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 @@ -317,11 +317,11 @@ def get_async(resource_group_name, availability_set_name, custom_headers = nil)
# @param custom_headers [Hash{String => String}] A hash of custom headers that
# will be added to the HTTP request.
#
# @return [Array<AvailabilitySet>] operation results.
# @return [AvailabilitySetListResult] operation results.
#
def list(resource_group_name, custom_headers = nil)
first_page = list_as_lazy(resource_group_name, custom_headers)
first_page.get_all_items
response = list_async(resource_group_name, custom_headers).value!
response.body unless response.nil?
end

#
Expand Down Expand Up @@ -491,113 +491,5 @@ def list_available_sizes_async(resource_group_name, availability_set_name, custo
promise.execute
end

#
# Lists all availability sets in a resource group.
#
# @param next_page_link [String] The NextLink from the previous successful call
# to List operation.
# @param custom_headers [Hash{String => String}] A hash of custom headers that
# will be added to the HTTP request.
#
# @return [AvailabilitySetListResult] operation results.
#
def list_next(next_page_link, custom_headers = nil)
response = list_next_async(next_page_link, custom_headers).value!
response.body unless response.nil?
end

#
# Lists all availability sets in a resource group.
#
# @param next_page_link [String] The NextLink from the previous successful call
# to List operation.
# @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 list_next_with_http_info(next_page_link, custom_headers = nil)
list_next_async(next_page_link, custom_headers).value!
end

#
# Lists all availability sets in a resource group.
#
# @param next_page_link [String] The NextLink from the previous successful call
# to List operation.
# @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 list_next_async(next_page_link, custom_headers = nil)
fail ArgumentError, 'next_page_link is nil' if next_page_link.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?
path_template = '{nextLink}'

request_url = @base_url || @client.base_url

options = {
middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
skip_encoding_path_params: {'nextLink' => next_page_link},
headers: request_headers.merge(custom_headers || {}),
base_url: request_url
}
promise = @client.make_request_async(:get, 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::Compute::Mgmt::V2015_06_15::Models::AvailabilitySetListResult.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

#
# Lists all availability sets in a resource group.
#
# @param resource_group_name [String] The name of the resource group.
# @param custom_headers [Hash{String => String}] A hash of custom headers that
# will be added to the HTTP request.
#
# @return [AvailabilitySetListResult] which provide lazy access to pages of the
# response.
#
def list_as_lazy(resource_group_name, custom_headers = nil)
response = list_async(resource_group_name, custom_headers).value!
unless response.nil?
page = response.body
page.next_method = Proc.new do |next_page_link|
list_next_async(next_page_link, custom_headers)
end
page
end
end

end
end
Original file line number Diff line number Diff line change
Expand Up @@ -12,46 +12,9 @@ class AvailabilitySetListResult

include MsRestAzure

include MsRest::JSONable
# @return [Array<AvailabilitySet>] The list of availability sets
attr_accessor :value

# @return [String] The URI to fetch the next page of AvailabilitySets.
# Call ListNext() with this URI to fetch the next page of
# AvailabilitySets.
attr_accessor :next_link

# return [Proc] with next page method call.
attr_accessor :next_method

#
# Gets the rest of the items for the request, enabling auto-pagination.
#
# @return [Array<AvailabilitySet>] operation results.
#
def get_all_items
items = @value
page = self
while page.next_link != nil do
page = page.get_next_page
items.concat(page.value)
end
items
end

#
# Gets the next page of results.
#
# @return [AvailabilitySetListResult] with next page content.
#
def get_next_page
response = @next_method.call(@next_link).value! unless @next_method.nil?
unless response.nil?
@next_link = response.body.next_link
@value = response.body.value
self
end
end

#
# Mapper for AvailabilitySetListResult class as Ruby Hash.
Expand All @@ -66,7 +29,7 @@ def self.mapper()
class_name: 'AvailabilitySetListResult',
model_properties: {
value: {
required: true,
required: false,
serialized_name: 'value',
type: {
name: 'Sequence',
Expand All @@ -79,13 +42,6 @@ def self.mapper()
}
}
}
},
next_link: {
required: false,
serialized_name: 'nextLink',
type: {
name: 'String'
}
}
}
}
Expand Down
Loading