Class: Azure::DataMigration::Mgmt::V2018_03_15_preview::Models::ProjectList

Inherits:
Object
  • Object
show all
Includes:
MsRest::JSONable, MsRestAzure
Defined in:
lib/2018-03-15-preview/generated/azure_mgmt_data_migration/models/project_list.rb

Overview

OData page of project resources

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

Returns URL to load the next page of projects.

Returns:

  • (String)

    URL to load the next page of projects



20
21
22
# File 'lib/2018-03-15-preview/generated/azure_mgmt_data_migration/models/project_list.rb', line 20

def next_link
  @next_link
end

#next_methodObject

return [Proc] with next page method call.



23
24
25
# File 'lib/2018-03-15-preview/generated/azure_mgmt_data_migration/models/project_list.rb', line 23

def next_method
  @next_method
end

#valueArray<Project>

Returns List of projects.

Returns:

  • (Array<Project>)

    List of projects



17
18
19
# File 'lib/2018-03-15-preview/generated/azure_mgmt_data_migration/models/project_list.rb', line 17

def value
  @value
end

Class Method Details

.mapperObject

Mapper for ProjectList class as Ruby Hash. This will be used for serialization/deserialization.



58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
# File 'lib/2018-03-15-preview/generated/azure_mgmt_data_migration/models/project_list.rb', line 58

def self.mapper()
  {
    client_side_validation: true,
    required: false,
    serialized_name: 'ProjectList',
    type: {
      name: 'Composite',
      class_name: 'ProjectList',
      model_properties: {
        value: {
          client_side_validation: true,
          required: false,
          serialized_name: 'value',
          type: {
            name: 'Sequence',
            element: {
                client_side_validation: true,
                required: false,
                serialized_name: 'ProjectElementType',
                type: {
                  name: 'Composite',
                  class_name: 'Project'
                }
            }
          }
        },
        next_link: {
          client_side_validation: true,
          required: false,
          serialized_name: 'nextLink',
          type: {
            name: 'String'
          }
        }
      }
    }
  }
end

Instance Method Details

#get_all_itemsArray<Project>

Gets the rest of the items for the request, enabling auto-pagination.

Returns:

  • (Array<Project>)

    operation results.



30
31
32
33
34
35
36
37
38
# File 'lib/2018-03-15-preview/generated/azure_mgmt_data_migration/models/project_list.rb', line 30

def get_all_items
  items = @value
  page = self
  while page.next_link != nil && !page.next_link.strip.empty? do
    page = page.get_next_page
    items.concat(page.value)
  end
  items
end

#get_next_pageProjectList

Gets the next page of results.

Returns:



45
46
47
48
49
50
51
52
# File 'lib/2018-03-15-preview/generated/azure_mgmt_data_migration/models/project_list.rb', line 45

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