azure_mgmt_authorization 0.16.0 → 0.16.1

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 (40) hide show
  1. checksums.yaml +4 -4
  2. data/lib/2015-06-01/generated/azure_mgmt_authorization/authorization_management_client.rb +130 -0
  3. data/lib/2015-06-01/generated/azure_mgmt_authorization/classic_administrators.rb +228 -0
  4. data/lib/2015-06-01/generated/azure_mgmt_authorization/models/classic_administrator.rb +90 -0
  5. data/lib/2015-06-01/generated/azure_mgmt_authorization/models/classic_administrator_list_result.rb +98 -0
  6. data/lib/2015-06-01/generated/azure_mgmt_authorization/module_definition.rb +9 -0
  7. data/lib/2015-06-01/generated/azure_mgmt_authorization.rb +30 -0
  8. data/lib/2015-07-01/generated/azure_mgmt_authorization/authorization_management_client.rb +1 -1
  9. data/lib/2017-10-01-preview/generated/azure_mgmt_authorization/authorization_management_client.rb +130 -0
  10. data/lib/2017-10-01-preview/generated/azure_mgmt_authorization/models/role_assignment.rb +115 -0
  11. data/lib/2017-10-01-preview/generated/azure_mgmt_authorization/models/role_assignment_create_parameters.rb +71 -0
  12. data/lib/2017-10-01-preview/generated/azure_mgmt_authorization/models/role_assignment_filter.rb +57 -0
  13. data/lib/2017-10-01-preview/generated/azure_mgmt_authorization/models/role_assignment_list_result.rb +98 -0
  14. data/lib/2017-10-01-preview/generated/azure_mgmt_authorization/module_definition.rb +9 -0
  15. data/lib/2017-10-01-preview/generated/azure_mgmt_authorization/role_assignments.rb +1493 -0
  16. data/lib/2017-10-01-preview/generated/azure_mgmt_authorization.rb +32 -0
  17. data/lib/2018-01-01-preview/generated/azure_mgmt_authorization/authorization_management_client.rb +143 -0
  18. data/lib/2018-01-01-preview/generated/azure_mgmt_authorization/models/permission.rb +111 -0
  19. data/lib/2018-01-01-preview/generated/azure_mgmt_authorization/models/permission_get_result.rb +98 -0
  20. data/lib/2018-01-01-preview/generated/azure_mgmt_authorization/models/provider_operation.rb +101 -0
  21. data/lib/2018-01-01-preview/generated/azure_mgmt_authorization/models/provider_operations_metadata.rb +119 -0
  22. data/lib/2018-01-01-preview/generated/azure_mgmt_authorization/models/provider_operations_metadata_list_result.rb +98 -0
  23. data/lib/2018-01-01-preview/generated/azure_mgmt_authorization/models/resource_type.rb +77 -0
  24. data/lib/2018-01-01-preview/generated/azure_mgmt_authorization/models/role_assignment.rb +115 -0
  25. data/lib/2018-01-01-preview/generated/azure_mgmt_authorization/models/role_assignment_create_parameters.rb +71 -0
  26. data/lib/2018-01-01-preview/generated/azure_mgmt_authorization/models/role_assignment_filter.rb +57 -0
  27. data/lib/2018-01-01-preview/generated/azure_mgmt_authorization/models/role_assignment_list_result.rb +98 -0
  28. data/lib/2018-01-01-preview/generated/azure_mgmt_authorization/models/role_definition.rb +143 -0
  29. data/lib/2018-01-01-preview/generated/azure_mgmt_authorization/models/role_definition_filter.rb +57 -0
  30. data/lib/2018-01-01-preview/generated/azure_mgmt_authorization/models/role_definition_list_result.rb +98 -0
  31. data/lib/2018-01-01-preview/generated/azure_mgmt_authorization/module_definition.rb +9 -0
  32. data/lib/2018-01-01-preview/generated/azure_mgmt_authorization/permissions.rb +452 -0
  33. data/lib/2018-01-01-preview/generated/azure_mgmt_authorization/provider_operations_metadata_operations.rb +316 -0
  34. data/lib/2018-01-01-preview/generated/azure_mgmt_authorization/role_assignments.rb +1493 -0
  35. data/lib/2018-01-01-preview/generated/azure_mgmt_authorization/role_definitions.rb +622 -0
  36. data/lib/2018-01-01-preview/generated/azure_mgmt_authorization.rb +44 -0
  37. data/lib/azure_mgmt_authorization.rb +3 -0
  38. data/lib/profiles/latest/modules/authorization_profile_module.rb +63 -71
  39. data/lib/version.rb +1 -1
  40. metadata +36 -2
@@ -0,0 +1,32 @@
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
+ require 'uri'
7
+ require 'cgi'
8
+ require 'date'
9
+ require 'json'
10
+ require 'base64'
11
+ require 'erb'
12
+ require 'securerandom'
13
+ require 'time'
14
+ require 'timeliness'
15
+ require 'faraday'
16
+ require 'faraday-cookie_jar'
17
+ require 'concurrent'
18
+ require 'ms_rest'
19
+ require '2017-10-01-preview/generated/azure_mgmt_authorization/module_definition'
20
+ require 'ms_rest_azure'
21
+
22
+ module Azure::Authorization::Mgmt::V2017_10_01_preview
23
+ autoload :RoleAssignments, '2017-10-01-preview/generated/azure_mgmt_authorization/role_assignments.rb'
24
+ autoload :AuthorizationManagementClient, '2017-10-01-preview/generated/azure_mgmt_authorization/authorization_management_client.rb'
25
+
26
+ module Models
27
+ autoload :RoleAssignmentListResult, '2017-10-01-preview/generated/azure_mgmt_authorization/models/role_assignment_list_result.rb'
28
+ autoload :RoleAssignmentFilter, '2017-10-01-preview/generated/azure_mgmt_authorization/models/role_assignment_filter.rb'
29
+ autoload :RoleAssignmentCreateParameters, '2017-10-01-preview/generated/azure_mgmt_authorization/models/role_assignment_create_parameters.rb'
30
+ autoload :RoleAssignment, '2017-10-01-preview/generated/azure_mgmt_authorization/models/role_assignment.rb'
31
+ end
32
+ end
@@ -0,0 +1,143 @@
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::Authorization::Mgmt::V2018_01_01_preview
7
+ #
8
+ # A service client - single point of access to the REST API.
9
+ #
10
+ class AuthorizationManagementClient < MsRestAzure::AzureServiceClient
11
+ include MsRestAzure
12
+ include MsRestAzure::Serialization
13
+
14
+ # @return [String] the base URI of the service.
15
+ attr_accessor :base_url
16
+
17
+ # @return Credentials needed for the client to connect to Azure.
18
+ attr_reader :credentials
19
+
20
+ # @return [String] The ID of the target subscription.
21
+ attr_accessor :subscription_id
22
+
23
+ # @return [String] The API version to use for this operation.
24
+ attr_reader :api_version
25
+
26
+ # @return [String] Gets or sets the preferred language for the response.
27
+ attr_accessor :accept_language
28
+
29
+ # @return [Integer] Gets or sets the retry timeout in seconds for Long
30
+ # Running Operations. Default value is 30.
31
+ attr_accessor :long_running_operation_retry_timeout
32
+
33
+ # @return [Boolean] When set to true a unique x-ms-client-request-id value
34
+ # is generated and included in each request. Default is true.
35
+ attr_accessor :generate_client_request_id
36
+
37
+ # @return [ProviderOperationsMetadataOperations]
38
+ # provider_operations_metadata_operations
39
+ attr_reader :provider_operations_metadata_operations
40
+
41
+ # @return [Permissions] permissions
42
+ attr_reader :permissions
43
+
44
+ # @return [RoleAssignments] role_assignments
45
+ attr_reader :role_assignments
46
+
47
+ # @return [RoleDefinitions] role_definitions
48
+ attr_reader :role_definitions
49
+
50
+ #
51
+ # Creates initializes a new instance of the AuthorizationManagementClient class.
52
+ # @param credentials [MsRest::ServiceClientCredentials] credentials to authorize HTTP requests made by the service client.
53
+ # @param base_url [String] the base URI of the service.
54
+ # @param options [Array] filters to be applied to the HTTP requests.
55
+ #
56
+ def initialize(credentials = nil, base_url = nil, options = nil)
57
+ super(credentials, options)
58
+ @base_url = base_url || 'https://management.azure.com'
59
+
60
+ fail ArgumentError, 'invalid type of credentials input parameter' unless credentials.is_a?(MsRest::ServiceClientCredentials) unless credentials.nil?
61
+ @credentials = credentials
62
+
63
+ @provider_operations_metadata_operations = ProviderOperationsMetadataOperations.new(self)
64
+ @permissions = Permissions.new(self)
65
+ @role_assignments = RoleAssignments.new(self)
66
+ @role_definitions = RoleDefinitions.new(self)
67
+ @api_version = '2018-01-01-preview'
68
+ @accept_language = 'en-US'
69
+ @long_running_operation_retry_timeout = 30
70
+ @generate_client_request_id = true
71
+ add_telemetry
72
+ end
73
+
74
+ #
75
+ # Makes a request and returns the body of the response.
76
+ # @param method [Symbol] with any of the following values :get, :put, :post, :patch, :delete.
77
+ # @param path [String] the path, relative to {base_url}.
78
+ # @param options [Hash{String=>String}] specifying any request options like :body.
79
+ # @return [Hash{String=>String}] containing the body of the response.
80
+ # Example:
81
+ #
82
+ # request_content = "{'location':'westus','tags':{'tag1':'val1','tag2':'val2'}}"
83
+ # path = "/path"
84
+ # options = {
85
+ # body: request_content,
86
+ # query_params: {'api-version' => '2016-02-01'}
87
+ # }
88
+ # result = @client.make_request(:put, path, options)
89
+ #
90
+ def make_request(method, path, options = {})
91
+ result = make_request_with_http_info(method, path, options)
92
+ result.body unless result.nil?
93
+ end
94
+
95
+ #
96
+ # Makes a request and returns the operation response.
97
+ # @param method [Symbol] with any of the following values :get, :put, :post, :patch, :delete.
98
+ # @param path [String] the path, relative to {base_url}.
99
+ # @param options [Hash{String=>String}] specifying any request options like :body.
100
+ # @return [MsRestAzure::AzureOperationResponse] Operation response containing the request, response and status.
101
+ #
102
+ def make_request_with_http_info(method, path, options = {})
103
+ result = make_request_async(method, path, options).value!
104
+ result.body = result.response.body.to_s.empty? ? nil : JSON.load(result.response.body)
105
+ result
106
+ end
107
+
108
+ #
109
+ # Makes a request asynchronously.
110
+ # @param method [Symbol] with any of the following values :get, :put, :post, :patch, :delete.
111
+ # @param path [String] the path, relative to {base_url}.
112
+ # @param options [Hash{String=>String}] specifying any request options like :body.
113
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
114
+ #
115
+ def make_request_async(method, path, options = {})
116
+ fail ArgumentError, 'method is nil' if method.nil?
117
+ fail ArgumentError, 'path is nil' if path.nil?
118
+
119
+ request_url = options[:base_url] || @base_url
120
+ if(!options[:headers].nil? && !options[:headers]['Content-Type'].nil?)
121
+ @request_headers['Content-Type'] = options[:headers]['Content-Type']
122
+ end
123
+
124
+ request_headers = @request_headers
125
+ request_headers.merge!({'accept-language' => @accept_language}) unless @accept_language.nil?
126
+ options.merge!({headers: request_headers.merge(options[:headers] || {})})
127
+ options.merge!({credentials: @credentials}) unless @credentials.nil?
128
+
129
+ super(request_url, method, path, options)
130
+ end
131
+
132
+
133
+ private
134
+ #
135
+ # Adds telemetry information.
136
+ #
137
+ def add_telemetry
138
+ sdk_information = 'azure_mgmt_authorization'
139
+ sdk_information = "#{sdk_information}/0.16.1"
140
+ add_user_agent_information(sdk_information)
141
+ end
142
+ end
143
+ end
@@ -0,0 +1,111 @@
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::Authorization::Mgmt::V2018_01_01_preview
7
+ module Models
8
+ #
9
+ # Role definition permissions.
10
+ #
11
+ class Permission
12
+
13
+ include MsRestAzure
14
+
15
+ # @return [Array<String>] Allowed actions.
16
+ attr_accessor :actions
17
+
18
+ # @return [Array<String>] Denied actions.
19
+ attr_accessor :not_actions
20
+
21
+ # @return [Array<String>] Allowed Data actions.
22
+ attr_accessor :data_actions
23
+
24
+ # @return [Array<String>] Denied Data actions.
25
+ attr_accessor :not_data_actions
26
+
27
+
28
+ #
29
+ # Mapper for Permission class as Ruby Hash.
30
+ # This will be used for serialization/deserialization.
31
+ #
32
+ def self.mapper()
33
+ {
34
+ client_side_validation: true,
35
+ required: false,
36
+ serialized_name: 'Permission',
37
+ type: {
38
+ name: 'Composite',
39
+ class_name: 'Permission',
40
+ model_properties: {
41
+ actions: {
42
+ client_side_validation: true,
43
+ required: false,
44
+ serialized_name: 'actions',
45
+ type: {
46
+ name: 'Sequence',
47
+ element: {
48
+ client_side_validation: true,
49
+ required: false,
50
+ serialized_name: 'StringElementType',
51
+ type: {
52
+ name: 'String'
53
+ }
54
+ }
55
+ }
56
+ },
57
+ not_actions: {
58
+ client_side_validation: true,
59
+ required: false,
60
+ serialized_name: 'notActions',
61
+ type: {
62
+ name: 'Sequence',
63
+ element: {
64
+ client_side_validation: true,
65
+ required: false,
66
+ serialized_name: 'StringElementType',
67
+ type: {
68
+ name: 'String'
69
+ }
70
+ }
71
+ }
72
+ },
73
+ data_actions: {
74
+ client_side_validation: true,
75
+ required: false,
76
+ serialized_name: 'dataActions',
77
+ type: {
78
+ name: 'Sequence',
79
+ element: {
80
+ client_side_validation: true,
81
+ required: false,
82
+ serialized_name: 'StringElementType',
83
+ type: {
84
+ name: 'String'
85
+ }
86
+ }
87
+ }
88
+ },
89
+ not_data_actions: {
90
+ client_side_validation: true,
91
+ required: false,
92
+ serialized_name: 'notDataActions',
93
+ type: {
94
+ name: 'Sequence',
95
+ element: {
96
+ client_side_validation: true,
97
+ required: false,
98
+ serialized_name: 'StringElementType',
99
+ type: {
100
+ name: 'String'
101
+ }
102
+ }
103
+ }
104
+ }
105
+ }
106
+ }
107
+ }
108
+ end
109
+ end
110
+ end
111
+ end
@@ -0,0 +1,98 @@
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::Authorization::Mgmt::V2018_01_01_preview
7
+ module Models
8
+ #
9
+ # Permissions information.
10
+ #
11
+ class PermissionGetResult
12
+
13
+ include MsRestAzure
14
+
15
+ include MsRest::JSONable
16
+ # @return [Array<Permission>] An array of permissions.
17
+ attr_accessor :value
18
+
19
+ # @return [String] The URL to use for getting the next set of results.
20
+ attr_accessor :next_link
21
+
22
+ # return [Proc] with next page method call.
23
+ attr_accessor :next_method
24
+
25
+ #
26
+ # Gets the rest of the items for the request, enabling auto-pagination.
27
+ #
28
+ # @return [Array<Permission>] operation results.
29
+ #
30
+ def get_all_items
31
+ items = @value
32
+ page = self
33
+ while page.next_link != nil do
34
+ page = page.get_next_page
35
+ items.concat(page.value)
36
+ end
37
+ items
38
+ end
39
+
40
+ #
41
+ # Gets the next page of results.
42
+ #
43
+ # @return [PermissionGetResult] with next page content.
44
+ #
45
+ def get_next_page
46
+ response = @next_method.call(@next_link).value! unless @next_method.nil?
47
+ unless response.nil?
48
+ @next_link = response.body.next_link
49
+ @value = response.body.value
50
+ self
51
+ end
52
+ end
53
+
54
+ #
55
+ # Mapper for PermissionGetResult class as Ruby Hash.
56
+ # This will be used for serialization/deserialization.
57
+ #
58
+ def self.mapper()
59
+ {
60
+ client_side_validation: true,
61
+ required: false,
62
+ serialized_name: 'PermissionGetResult',
63
+ type: {
64
+ name: 'Composite',
65
+ class_name: 'PermissionGetResult',
66
+ model_properties: {
67
+ value: {
68
+ client_side_validation: true,
69
+ required: false,
70
+ serialized_name: 'value',
71
+ type: {
72
+ name: 'Sequence',
73
+ element: {
74
+ client_side_validation: true,
75
+ required: false,
76
+ serialized_name: 'PermissionElementType',
77
+ type: {
78
+ name: 'Composite',
79
+ class_name: 'Permission'
80
+ }
81
+ }
82
+ }
83
+ },
84
+ next_link: {
85
+ client_side_validation: true,
86
+ required: false,
87
+ serialized_name: 'nextLink',
88
+ type: {
89
+ name: 'String'
90
+ }
91
+ }
92
+ }
93
+ }
94
+ }
95
+ end
96
+ end
97
+ end
98
+ end
@@ -0,0 +1,101 @@
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::Authorization::Mgmt::V2018_01_01_preview
7
+ module Models
8
+ #
9
+ # Operation
10
+ #
11
+ class ProviderOperation
12
+
13
+ include MsRestAzure
14
+
15
+ # @return [String] The operation name.
16
+ attr_accessor :name
17
+
18
+ # @return [String] The operation display name.
19
+ attr_accessor :display_name
20
+
21
+ # @return [String] The operation description.
22
+ attr_accessor :description
23
+
24
+ # @return [String] The operation origin.
25
+ attr_accessor :origin
26
+
27
+ # @return The operation properties.
28
+ attr_accessor :properties
29
+
30
+ # @return [Boolean] The dataAction flag to specify the operation type.
31
+ attr_accessor :is_data_action
32
+
33
+
34
+ #
35
+ # Mapper for ProviderOperation class as Ruby Hash.
36
+ # This will be used for serialization/deserialization.
37
+ #
38
+ def self.mapper()
39
+ {
40
+ client_side_validation: true,
41
+ required: false,
42
+ serialized_name: 'ProviderOperation',
43
+ type: {
44
+ name: 'Composite',
45
+ class_name: 'ProviderOperation',
46
+ model_properties: {
47
+ name: {
48
+ client_side_validation: true,
49
+ required: false,
50
+ serialized_name: 'name',
51
+ type: {
52
+ name: 'String'
53
+ }
54
+ },
55
+ display_name: {
56
+ client_side_validation: true,
57
+ required: false,
58
+ serialized_name: 'displayName',
59
+ type: {
60
+ name: 'String'
61
+ }
62
+ },
63
+ description: {
64
+ client_side_validation: true,
65
+ required: false,
66
+ serialized_name: 'description',
67
+ type: {
68
+ name: 'String'
69
+ }
70
+ },
71
+ origin: {
72
+ client_side_validation: true,
73
+ required: false,
74
+ serialized_name: 'origin',
75
+ type: {
76
+ name: 'String'
77
+ }
78
+ },
79
+ properties: {
80
+ client_side_validation: true,
81
+ required: false,
82
+ serialized_name: 'properties',
83
+ type: {
84
+ name: 'Object'
85
+ }
86
+ },
87
+ is_data_action: {
88
+ client_side_validation: true,
89
+ required: false,
90
+ serialized_name: 'isDataAction',
91
+ type: {
92
+ name: 'Boolean'
93
+ }
94
+ }
95
+ }
96
+ }
97
+ }
98
+ end
99
+ end
100
+ end
101
+ end
@@ -0,0 +1,119 @@
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::Authorization::Mgmt::V2018_01_01_preview
7
+ module Models
8
+ #
9
+ # Provider Operations metadata
10
+ #
11
+ class ProviderOperationsMetadata
12
+
13
+ include MsRestAzure
14
+
15
+ # @return [String] The provider id.
16
+ attr_accessor :id
17
+
18
+ # @return [String] The provider name.
19
+ attr_accessor :name
20
+
21
+ # @return [String] The provider type.
22
+ attr_accessor :type
23
+
24
+ # @return [String] The provider display name.
25
+ attr_accessor :display_name
26
+
27
+ # @return [Array<ResourceType>] The provider resource types
28
+ attr_accessor :resource_types
29
+
30
+ # @return [Array<ProviderOperation>] The provider operations.
31
+ attr_accessor :operations
32
+
33
+
34
+ #
35
+ # Mapper for ProviderOperationsMetadata class as Ruby Hash.
36
+ # This will be used for serialization/deserialization.
37
+ #
38
+ def self.mapper()
39
+ {
40
+ client_side_validation: true,
41
+ required: false,
42
+ serialized_name: 'ProviderOperationsMetadata',
43
+ type: {
44
+ name: 'Composite',
45
+ class_name: 'ProviderOperationsMetadata',
46
+ model_properties: {
47
+ id: {
48
+ client_side_validation: true,
49
+ required: false,
50
+ serialized_name: 'id',
51
+ type: {
52
+ name: 'String'
53
+ }
54
+ },
55
+ name: {
56
+ client_side_validation: true,
57
+ required: false,
58
+ serialized_name: 'name',
59
+ type: {
60
+ name: 'String'
61
+ }
62
+ },
63
+ type: {
64
+ client_side_validation: true,
65
+ required: false,
66
+ serialized_name: 'type',
67
+ type: {
68
+ name: 'String'
69
+ }
70
+ },
71
+ display_name: {
72
+ client_side_validation: true,
73
+ required: false,
74
+ serialized_name: 'displayName',
75
+ type: {
76
+ name: 'String'
77
+ }
78
+ },
79
+ resource_types: {
80
+ client_side_validation: true,
81
+ required: false,
82
+ serialized_name: 'resourceTypes',
83
+ type: {
84
+ name: 'Sequence',
85
+ element: {
86
+ client_side_validation: true,
87
+ required: false,
88
+ serialized_name: 'ResourceTypeElementType',
89
+ type: {
90
+ name: 'Composite',
91
+ class_name: 'ResourceType'
92
+ }
93
+ }
94
+ }
95
+ },
96
+ operations: {
97
+ client_side_validation: true,
98
+ required: false,
99
+ serialized_name: 'operations',
100
+ type: {
101
+ name: 'Sequence',
102
+ element: {
103
+ client_side_validation: true,
104
+ required: false,
105
+ serialized_name: 'ProviderOperationElementType',
106
+ type: {
107
+ name: 'Composite',
108
+ class_name: 'ProviderOperation'
109
+ }
110
+ }
111
+ }
112
+ }
113
+ }
114
+ }
115
+ }
116
+ end
117
+ end
118
+ end
119
+ end
@@ -0,0 +1,98 @@
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::Authorization::Mgmt::V2018_01_01_preview
7
+ module Models
8
+ #
9
+ # Provider operations metadata list
10
+ #
11
+ class ProviderOperationsMetadataListResult
12
+
13
+ include MsRestAzure
14
+
15
+ include MsRest::JSONable
16
+ # @return [Array<ProviderOperationsMetadata>] The list of providers.
17
+ attr_accessor :value
18
+
19
+ # @return [String] The URL to use for getting the next set of results.
20
+ attr_accessor :next_link
21
+
22
+ # return [Proc] with next page method call.
23
+ attr_accessor :next_method
24
+
25
+ #
26
+ # Gets the rest of the items for the request, enabling auto-pagination.
27
+ #
28
+ # @return [Array<ProviderOperationsMetadata>] operation results.
29
+ #
30
+ def get_all_items
31
+ items = @value
32
+ page = self
33
+ while page.next_link != nil do
34
+ page = page.get_next_page
35
+ items.concat(page.value)
36
+ end
37
+ items
38
+ end
39
+
40
+ #
41
+ # Gets the next page of results.
42
+ #
43
+ # @return [ProviderOperationsMetadataListResult] with next page content.
44
+ #
45
+ def get_next_page
46
+ response = @next_method.call(@next_link).value! unless @next_method.nil?
47
+ unless response.nil?
48
+ @next_link = response.body.next_link
49
+ @value = response.body.value
50
+ self
51
+ end
52
+ end
53
+
54
+ #
55
+ # Mapper for ProviderOperationsMetadataListResult class as Ruby Hash.
56
+ # This will be used for serialization/deserialization.
57
+ #
58
+ def self.mapper()
59
+ {
60
+ client_side_validation: true,
61
+ required: false,
62
+ serialized_name: 'ProviderOperationsMetadataListResult',
63
+ type: {
64
+ name: 'Composite',
65
+ class_name: 'ProviderOperationsMetadataListResult',
66
+ model_properties: {
67
+ value: {
68
+ client_side_validation: true,
69
+ required: false,
70
+ serialized_name: 'value',
71
+ type: {
72
+ name: 'Sequence',
73
+ element: {
74
+ client_side_validation: true,
75
+ required: false,
76
+ serialized_name: 'ProviderOperationsMetadataElementType',
77
+ type: {
78
+ name: 'Composite',
79
+ class_name: 'ProviderOperationsMetadata'
80
+ }
81
+ }
82
+ }
83
+ },
84
+ next_link: {
85
+ client_side_validation: true,
86
+ required: false,
87
+ serialized_name: 'nextLink',
88
+ type: {
89
+ name: 'String'
90
+ }
91
+ }
92
+ }
93
+ }
94
+ }
95
+ end
96
+ end
97
+ end
98
+ end