apcera 0.1.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 (71) hide show
  1. checksums.yaml +7 -0
  2. data/apcera.gemspec +31 -0
  3. data/lib/apcera/api/default_api.rb +128 -0
  4. data/lib/apcera/api/instances_api.rb +280 -0
  5. data/lib/apcera/api/jobs_api.rb +1428 -0
  6. data/lib/apcera/api/logs_api.rb +120 -0
  7. data/lib/apcera/api/metrics_api.rb +280 -0
  8. data/lib/apcera/api/packages_api.rb +541 -0
  9. data/lib/apcera/api/providers_api.rb +175 -0
  10. data/lib/apcera/api/rules_api.rb +228 -0
  11. data/lib/apcera/api/services_and_bindings_api.rb +278 -0
  12. data/lib/apcera/api/staging_pipelines_api.rb +281 -0
  13. data/lib/apcera/api/utilities_api.rb +327 -0
  14. data/lib/apcera/api_client.rb +294 -0
  15. data/lib/apcera/api_error.rb +24 -0
  16. data/lib/apcera/configuration.rb +173 -0
  17. data/lib/apcera/models/apc_version_object.rb +37 -0
  18. data/lib/apcera/models/api_error.rb +143 -0
  19. data/lib/apcera/models/audit_log_item.rb +117 -0
  20. data/lib/apcera/models/audit_log_item_old.rb +85 -0
  21. data/lib/apcera/models/base_object.rb +96 -0
  22. data/lib/apcera/models/binding.rb +137 -0
  23. data/lib/apcera/models/create_docker_job_request.rb +197 -0
  24. data/lib/apcera/models/create_docker_job_response.rb +37 -0
  25. data/lib/apcera/models/dependency.rb +53 -0
  26. data/lib/apcera/models/dependency_resolve.rb +45 -0
  27. data/lib/apcera/models/docker_origin.rb +63 -0
  28. data/lib/apcera/models/drain.rb +61 -0
  29. data/lib/apcera/models/drain_config.rb +53 -0
  30. data/lib/apcera/models/file_listing.rb +45 -0
  31. data/lib/apcera/models/info.rb +53 -0
  32. data/lib/apcera/models/instance_manager.rb +105 -0
  33. data/lib/apcera/models/instance_state.rb +117 -0
  34. data/lib/apcera/models/instances.rb +109 -0
  35. data/lib/apcera/models/job.rb +243 -0
  36. data/lib/apcera/models/job_health.rb +63 -0
  37. data/lib/apcera/models/job_preferences.rb +37 -0
  38. data/lib/apcera/models/log.rb +53 -0
  39. data/lib/apcera/models/metric_series.rb +49 -0
  40. data/lib/apcera/models/metric_series_hash.rb +29 -0
  41. data/lib/apcera/models/metrics.rb +49 -0
  42. data/lib/apcera/models/namespace.rb +37 -0
  43. data/lib/apcera/models/package.rb +183 -0
  44. data/lib/apcera/models/package_depends_request.rb +47 -0
  45. data/lib/apcera/models/package_info.rb +69 -0
  46. data/lib/apcera/models/package_resource.rb +61 -0
  47. data/lib/apcera/models/policy_error.rb +63 -0
  48. data/lib/apcera/models/port.rb +55 -0
  49. data/lib/apcera/models/process.rb +37 -0
  50. data/lib/apcera/models/process_object.rb +115 -0
  51. data/lib/apcera/models/provide.rb +53 -0
  52. data/lib/apcera/models/provider.rb +85 -0
  53. data/lib/apcera/models/resource.rb +69 -0
  54. data/lib/apcera/models/restart_config.rb +53 -0
  55. data/lib/apcera/models/rollout_config.rb +69 -0
  56. data/lib/apcera/models/route.rb +53 -0
  57. data/lib/apcera/models/rule.rb +101 -0
  58. data/lib/apcera/models/runtime.rb +47 -0
  59. data/lib/apcera/models/semi_pipe_rule.rb +101 -0
  60. data/lib/apcera/models/semi_pipe_rule_action.rb +37 -0
  61. data/lib/apcera/models/stager_job.rb +37 -0
  62. data/lib/apcera/models/staging_pipeline.rb +103 -0
  63. data/lib/apcera/models/sub_task.rb +61 -0
  64. data/lib/apcera/models/task.rb +87 -0
  65. data/lib/apcera/models/task_event.rb +113 -0
  66. data/lib/apcera/models/task_progress.rb +45 -0
  67. data/lib/apcera/models/unbind_parameter_object.rb +53 -0
  68. data/lib/apcera/models/unlink_parameter_object.rb +53 -0
  69. data/lib/apcera/version.rb +3 -0
  70. data/lib/apcera.rb +90 -0
  71. metadata +293 -0
@@ -0,0 +1,183 @@
1
+ module Apcera
2
+ #
3
+ class Package < BaseObject
4
+ attr_accessor :created_at, :created_by, :dependencies, :environment, :error_message, :fqn, :name, :provides, :resource, :resources, :staging_pipeline, :staging_pipeline_fqn, :state, :tags, :updated_at, :updated_by, :uuid, :version_id
5
+ # attribute mapping from ruby-style variable name to JSON key
6
+ def self.attribute_map
7
+ {
8
+
9
+ # The date and time when the package was created.
10
+ :'created_at' => :'created_at',
11
+
12
+ # Principal name of the user who created the package.
13
+ :'created_by' => :'created_by',
14
+
15
+ # List of dependencies that the package has in order to be used. A dependency expresses a requirement that a package has on an other package.
16
+ :'dependencies' => :'dependencies',
17
+
18
+ # List of environment variables that are added to any process that uses the package.
19
+ :'environment' => :'environment',
20
+
21
+ # Error encountered during an asynchronous operation on the package. An example is a failure encountered during instance snapshot; the ErrorMessage field on the created snapshot package would contain more information.
22
+ :'error_message' => :'error_message',
23
+
24
+ # Package&#39;s fully-qualified name.
25
+ :'fqn' => :'fqn',
26
+
27
+ # Package name.
28
+ :'name' => :'name',
29
+
30
+ # List of &#39;provides&#39; that the package provides for other packages to use. A &#39;provide&#39; expresses a named resource that other packages or jobs can add as a dependency.
31
+ :'provides' => :'provides',
32
+
33
+ # Deprecated. Use `resources`. An object that describes the package&#39;s associated binary resource.
34
+ :'resource' => :'resource',
35
+
36
+ # An list of objects that describes the package&#39;s associated binary resources.
37
+ :'resources' => :'resources',
38
+
39
+ # The UUID of the staging pipeline used to stage this package into a runnable state.
40
+ :'staging_pipeline' => :'staging_pipeline',
41
+
42
+ # The fully-qualified name of the staging pipeline used to stage the package.
43
+ :'staging_pipeline_fqn' => :'staging_pipeline_fqn',
44
+
45
+ # Package state. Possible values are `uploading`, &#39;staging`, `failed`, `ready`, `deleted`, and `unknown`.
46
+ :'state' => :'state',
47
+
48
+ # Map of tags by tag name.
49
+ :'tags' => :'tags',
50
+
51
+ # The date and time when the package was most recently updated.
52
+ :'updated_at' => :'updated_at',
53
+
54
+ # Principal name of the last user to update the package.
55
+ :'updated_by' => :'updated_by',
56
+
57
+ # The package&#39;s unique identifier.
58
+ :'uuid' => :'uuid',
59
+
60
+ # Package&#39;s auto-incremented version number.
61
+ :'version_id' => :'version_id'
62
+
63
+ }
64
+ end
65
+
66
+ # attribute type
67
+ def self.swagger_types
68
+ {
69
+ :'created_at' => :'DateTime',
70
+ :'created_by' => :'String',
71
+ :'dependencies' => :'Array<Dependency>',
72
+ :'environment' => :'Hash<String, String>',
73
+ :'error_message' => :'String',
74
+ :'fqn' => :'String',
75
+ :'name' => :'String',
76
+ :'provides' => :'Array<Provide>',
77
+ :'resource' => :'PackageResource',
78
+ :'resources' => :'Array<PackageResource>',
79
+ :'staging_pipeline' => :'String',
80
+ :'staging_pipeline_fqn' => :'String',
81
+ :'state' => :'String',
82
+ :'tags' => :'Hash<String, String>',
83
+ :'updated_at' => :'DateTime',
84
+ :'updated_by' => :'String',
85
+ :'uuid' => :'String',
86
+ :'version_id' => :'Integer'
87
+
88
+ }
89
+ end
90
+
91
+ def initialize(attributes = {})
92
+ return if !attributes.is_a?(Hash) || attributes.empty?
93
+
94
+ # convert string to symbol for hash key
95
+ attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
96
+
97
+
98
+ if attributes[:'created_at']
99
+ self.created_at = attributes[:'created_at']
100
+ end
101
+
102
+ if attributes[:'created_by']
103
+ self.created_by = attributes[:'created_by']
104
+ end
105
+
106
+ if attributes[:'dependencies']
107
+ if (value = attributes[:'dependencies']).is_a?(Array)
108
+ self.dependencies = value
109
+ end
110
+ end
111
+
112
+ if attributes[:'environment']
113
+ if (value = attributes[:'environment']).is_a?(Array)
114
+ self.environment = value
115
+ end
116
+ end
117
+
118
+ if attributes[:'error_message']
119
+ self.error_message = attributes[:'error_message']
120
+ end
121
+
122
+ if attributes[:'fqn']
123
+ self.fqn = attributes[:'fqn']
124
+ end
125
+
126
+ if attributes[:'name']
127
+ self.name = attributes[:'name']
128
+ end
129
+
130
+ if attributes[:'provides']
131
+ if (value = attributes[:'provides']).is_a?(Array)
132
+ self.provides = value
133
+ end
134
+ end
135
+
136
+ if attributes[:'resource']
137
+ self.resource = attributes[:'resource']
138
+ end
139
+
140
+ if attributes[:'resources']
141
+ if (value = attributes[:'resources']).is_a?(Array)
142
+ self.resources = value
143
+ end
144
+ end
145
+
146
+ if attributes[:'staging_pipeline']
147
+ self.staging_pipeline = attributes[:'staging_pipeline']
148
+ end
149
+
150
+ if attributes[:'staging_pipeline_fqn']
151
+ self.staging_pipeline_fqn = attributes[:'staging_pipeline_fqn']
152
+ end
153
+
154
+ if attributes[:'state']
155
+ self.state = attributes[:'state']
156
+ end
157
+
158
+ if attributes[:'tags']
159
+ if (value = attributes[:'tags']).is_a?(Array)
160
+ self.tags = value
161
+ end
162
+ end
163
+
164
+ if attributes[:'updated_at']
165
+ self.updated_at = attributes[:'updated_at']
166
+ end
167
+
168
+ if attributes[:'updated_by']
169
+ self.updated_by = attributes[:'updated_by']
170
+ end
171
+
172
+ if attributes[:'uuid']
173
+ self.uuid = attributes[:'uuid']
174
+ end
175
+
176
+ if attributes[:'version_id']
177
+ self.version_id = attributes[:'version_id']
178
+ end
179
+
180
+ end
181
+
182
+ end
183
+ end
@@ -0,0 +1,47 @@
1
+ module Apcera
2
+ #
3
+ class PackageDependsRequest < BaseObject
4
+ attr_accessor :dependencies, :job_target
5
+ # attribute mapping from ruby-style variable name to JSON key
6
+ def self.attribute_map
7
+ {
8
+
9
+ #
10
+ :'dependencies' => :'dependencies',
11
+
12
+ # Namespace in which dependencies will be resolved (e.g. the namespace of a job that is being staged, the namespace of the user requesting the resolution).
13
+ :'job_target' => :'job_target'
14
+
15
+ }
16
+ end
17
+
18
+ # attribute type
19
+ def self.swagger_types
20
+ {
21
+ :'dependencies' => :'Array<DependencyResolve>',
22
+ :'job_target' => :'String'
23
+
24
+ }
25
+ end
26
+
27
+ def initialize(attributes = {})
28
+ return if !attributes.is_a?(Hash) || attributes.empty?
29
+
30
+ # convert string to symbol for hash key
31
+ attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
32
+
33
+
34
+ if attributes[:'dependencies']
35
+ if (value = attributes[:'dependencies']).is_a?(Array)
36
+ self.dependencies = value
37
+ end
38
+ end
39
+
40
+ if attributes[:'job_target']
41
+ self.job_target = attributes[:'job_target']
42
+ end
43
+
44
+ end
45
+
46
+ end
47
+ end
@@ -0,0 +1,69 @@
1
+ module Apcera
2
+ #
3
+ class PackageInfo < BaseObject
4
+ attr_accessor :source, :state, :uuid
5
+ # attribute mapping from ruby-style variable name to JSON key
6
+ def self.attribute_map
7
+ {
8
+
9
+ # The source of the package, whether it was provided by the user or calculated by the Package Manager.
10
+ :'source' => :'source',
11
+
12
+ # Represents the availability of the package.
13
+ :'state' => :'state',
14
+
15
+ # UUID of the package.
16
+ :'uuid' => :'uuid'
17
+
18
+ }
19
+ end
20
+
21
+ # attribute type
22
+ def self.swagger_types
23
+ {
24
+ :'source' => :'String',
25
+ :'state' => :'String',
26
+ :'uuid' => :'String'
27
+
28
+ }
29
+ end
30
+
31
+ def initialize(attributes = {})
32
+ return if !attributes.is_a?(Hash) || attributes.empty?
33
+
34
+ # convert string to symbol for hash key
35
+ attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
36
+
37
+
38
+ if attributes[:'source']
39
+ self.source = attributes[:'source']
40
+ end
41
+
42
+ if attributes[:'state']
43
+ self.state = attributes[:'state']
44
+ end
45
+
46
+ if attributes[:'uuid']
47
+ self.uuid = attributes[:'uuid']
48
+ end
49
+
50
+ end
51
+
52
+ def source=(source)
53
+ allowed_values = ["user", "system"]
54
+ if source && !allowed_values.include?(source)
55
+ fail "invalid value for 'source', must be one of #{allowed_values}"
56
+ end
57
+ @source = source
58
+ end
59
+
60
+ def state=(state)
61
+ allowed_values = ["unknown", "uploading", "staging", "failed", "ready", "deleted"]
62
+ if state && !allowed_values.include?(state)
63
+ fail "invalid value for 'state', must be one of #{allowed_values}"
64
+ end
65
+ @state = state
66
+ end
67
+
68
+ end
69
+ end
@@ -0,0 +1,61 @@
1
+ module Apcera
2
+ #
3
+ class PackageResource < BaseObject
4
+ attr_accessor :digest, :length, :sha1, :uuid
5
+ # attribute mapping from ruby-style variable name to JSON key
6
+ def self.attribute_map
7
+ {
8
+
9
+ # A hash of the binary resource prefixed by its algorithm (e.g. &#39;sha1:abcd...&#39;).
10
+ :'digest' => :'digest',
11
+
12
+ # The length of the binary resource in bytes.
13
+ :'length' => :'length',
14
+
15
+ # A hash of the binary resource.
16
+ :'sha1' => :'sha1',
17
+
18
+ # The package resource&#39;s unique identifier.
19
+ :'uuid' => :'uuid'
20
+
21
+ }
22
+ end
23
+
24
+ # attribute type
25
+ def self.swagger_types
26
+ {
27
+ :'digest' => :'String',
28
+ :'length' => :'Integer',
29
+ :'sha1' => :'String',
30
+ :'uuid' => :'String'
31
+
32
+ }
33
+ end
34
+
35
+ def initialize(attributes = {})
36
+ return if !attributes.is_a?(Hash) || attributes.empty?
37
+
38
+ # convert string to symbol for hash key
39
+ attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
40
+
41
+
42
+ if attributes[:'digest']
43
+ self.digest = attributes[:'digest']
44
+ end
45
+
46
+ if attributes[:'length']
47
+ self.length = attributes[:'length']
48
+ end
49
+
50
+ if attributes[:'sha1']
51
+ self.sha1 = attributes[:'sha1']
52
+ end
53
+
54
+ if attributes[:'uuid']
55
+ self.uuid = attributes[:'uuid']
56
+ end
57
+
58
+ end
59
+
60
+ end
61
+ end
@@ -0,0 +1,63 @@
1
+ module Apcera
2
+ #
3
+ class PolicyError < BaseObject
4
+ attr_accessor :errors, :job, :job_changed, :repairable
5
+ # attribute mapping from ruby-style variable name to JSON key
6
+ def self.attribute_map
7
+ {
8
+
9
+ # An array of specific policy errors that occurred.
10
+ :'errors' => :'errors',
11
+
12
+ # A reference to the job associated with the policy error.
13
+ :'job' => :'job',
14
+
15
+ # If `true`, the policy error was the result of changes to a job.
16
+ :'job_changed' => :'job_changed',
17
+
18
+ # If `true`, the error is repairable.
19
+ :'repairable' => :'repairable'
20
+
21
+ }
22
+ end
23
+
24
+ # attribute type
25
+ def self.swagger_types
26
+ {
27
+ :'errors' => :'Array<String>',
28
+ :'job' => :'Job',
29
+ :'job_changed' => :'BOOLEAN',
30
+ :'repairable' => :'BOOLEAN'
31
+
32
+ }
33
+ end
34
+
35
+ def initialize(attributes = {})
36
+ return if !attributes.is_a?(Hash) || attributes.empty?
37
+
38
+ # convert string to symbol for hash key
39
+ attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
40
+
41
+
42
+ if attributes[:'errors']
43
+ if (value = attributes[:'errors']).is_a?(Array)
44
+ self.errors = value
45
+ end
46
+ end
47
+
48
+ if attributes[:'job']
49
+ self.job = attributes[:'job']
50
+ end
51
+
52
+ if attributes[:'job_changed']
53
+ self.job_changed = attributes[:'job_changed']
54
+ end
55
+
56
+ if attributes[:'repairable']
57
+ self.repairable = attributes[:'repairable']
58
+ end
59
+
60
+ end
61
+
62
+ end
63
+ end
@@ -0,0 +1,55 @@
1
+ module Apcera
2
+ #
3
+ class Port < BaseObject
4
+ attr_accessor :number, :optional, :routes
5
+ # attribute mapping from ruby-style variable name to JSON key
6
+ def self.attribute_map
7
+ {
8
+
9
+ # The numerical port exposed for connectivity.
10
+ :'number' => :'number',
11
+
12
+ # A value of `true` indicates that the instance manager (IM) should attempt to verify that connectivity has been established for this port; if `false`, no such verification occurs.
13
+ :'optional' => :'optional',
14
+
15
+ # An array of URLs to map to the port.
16
+ :'routes' => :'routes'
17
+
18
+ }
19
+ end
20
+
21
+ # attribute type
22
+ def self.swagger_types
23
+ {
24
+ :'number' => :'Integer',
25
+ :'optional' => :'BOOLEAN',
26
+ :'routes' => :'Array<Route>'
27
+
28
+ }
29
+ end
30
+
31
+ def initialize(attributes = {})
32
+ return if !attributes.is_a?(Hash) || attributes.empty?
33
+
34
+ # convert string to symbol for hash key
35
+ attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
36
+
37
+
38
+ if attributes[:'number']
39
+ self.number = attributes[:'number']
40
+ end
41
+
42
+ if attributes[:'optional']
43
+ self.optional = attributes[:'optional']
44
+ end
45
+
46
+ if attributes[:'routes']
47
+ if (value = attributes[:'routes']).is_a?(Array)
48
+ self.routes = value
49
+ end
50
+ end
51
+
52
+ end
53
+
54
+ end
55
+ end
@@ -0,0 +1,37 @@
1
+ module Apcera
2
+ #
3
+ class Process < BaseObject
4
+ attr_accessor :app
5
+ # attribute mapping from ruby-style variable name to JSON key
6
+ def self.attribute_map
7
+ {
8
+
9
+ #
10
+ :'app' => :'app'
11
+
12
+ }
13
+ end
14
+
15
+ # attribute type
16
+ def self.swagger_types
17
+ {
18
+ :'app' => :'ProcessObject'
19
+
20
+ }
21
+ end
22
+
23
+ def initialize(attributes = {})
24
+ return if !attributes.is_a?(Hash) || attributes.empty?
25
+
26
+ # convert string to symbol for hash key
27
+ attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
28
+
29
+
30
+ if attributes[:'app']
31
+ self.app = attributes[:'app']
32
+ end
33
+
34
+ end
35
+
36
+ end
37
+ end
@@ -0,0 +1,115 @@
1
+ module Apcera
2
+ #
3
+ class ProcessObject < BaseObject
4
+ attr_accessor :environment, :group, :heavy, :start_command, :start_command_raw, :start_command_timeout, :stop_command, :stop_command_raw, :stop_timeout, :user
5
+ # attribute mapping from ruby-style variable name to JSON key
6
+ def self.attribute_map
7
+ {
8
+
9
+ # An optional list of environment values to attach to the process within the job.
10
+ :'environment' => :'environment',
11
+
12
+ # Name of the group used to run the process within a container. An empty string lets the the instance manager choose a group.
13
+ :'group' => :'group',
14
+
15
+ # Start the process in \&quot;heavy\&quot; mode: giving it pid 1. Only one process within the job can set this flag to true.
16
+ :'heavy' => :'heavy',
17
+
18
+ # The command used to start the process within the container&#39;s isolation context.
19
+ :'start_command' => :'start_command',
20
+
21
+ # The command used to start the process, specified as an array. The first element in the array is the command/binary to execute, and subsequent array elements are command arguments. The expanded command string is passed directly to `exec()` without shell or template interpretation. If `start_command_raw` is provided then `start_command`, if specified, is ignored. This property is typically used with exact processes that have an extremely well-known start command.
22
+ :'start_command_raw' => :'start_command_raw',
23
+
24
+ # The number of seconds that the system will wait for startup to complete. This includes the time that it will take for ports to become available.
25
+ :'start_command_timeout' => :'start_command_timeout',
26
+
27
+ # The command used to stop the process within the container&#39;s isolation context. If not defined, OS-level signals (like `TERM`) may be used to shut down the process.
28
+ :'stop_command' => :'stop_command',
29
+
30
+ # The command used to stop the process, specified as an array. The first element in the array is the command/binary to execute, and subsequent array elements are command arguments. The expanded command string is passed directly to `exec()` without shell or template interpretation. If `stop_command_raw` is provided then `stop_command`, if specified, is ignored. This property is typically used with exact processes that have an extremely well-known start command.
31
+ :'stop_command_raw' => :'stop_command_raw',
32
+
33
+ # The number of seconds to give the process after `stop_command` has been run before forcing the command to shutdown via OS-level signals, such as `TERM`. If no `stop_command` is provided for the process, OS-level signals (like `TERM`) may be used to terminate the process.
34
+ :'stop_timeout' => :'stop_timeout',
35
+
36
+ # Name of the user used to run the process within a container. An empty string lets the the instance manager choose a user.
37
+ :'user' => :'user'
38
+
39
+ }
40
+ end
41
+
42
+ # attribute type
43
+ def self.swagger_types
44
+ {
45
+ :'environment' => :'Hash<String, String>',
46
+ :'group' => :'String',
47
+ :'heavy' => :'BOOLEAN',
48
+ :'start_command' => :'String',
49
+ :'start_command_raw' => :'Array<String>',
50
+ :'start_command_timeout' => :'Integer',
51
+ :'stop_command' => :'String',
52
+ :'stop_command_raw' => :'Array<String>',
53
+ :'stop_timeout' => :'Integer',
54
+ :'user' => :'String'
55
+
56
+ }
57
+ end
58
+
59
+ def initialize(attributes = {})
60
+ return if !attributes.is_a?(Hash) || attributes.empty?
61
+
62
+ # convert string to symbol for hash key
63
+ attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
64
+
65
+
66
+ if attributes[:'environment']
67
+ if (value = attributes[:'environment']).is_a?(Array)
68
+ self.environment = value
69
+ end
70
+ end
71
+
72
+ if attributes[:'group']
73
+ self.group = attributes[:'group']
74
+ end
75
+
76
+ if attributes[:'heavy']
77
+ self.heavy = attributes[:'heavy']
78
+ end
79
+
80
+ if attributes[:'start_command']
81
+ self.start_command = attributes[:'start_command']
82
+ end
83
+
84
+ if attributes[:'start_command_raw']
85
+ if (value = attributes[:'start_command_raw']).is_a?(Array)
86
+ self.start_command_raw = value
87
+ end
88
+ end
89
+
90
+ if attributes[:'start_command_timeout']
91
+ self.start_command_timeout = attributes[:'start_command_timeout']
92
+ end
93
+
94
+ if attributes[:'stop_command']
95
+ self.stop_command = attributes[:'stop_command']
96
+ end
97
+
98
+ if attributes[:'stop_command_raw']
99
+ if (value = attributes[:'stop_command_raw']).is_a?(Array)
100
+ self.stop_command_raw = value
101
+ end
102
+ end
103
+
104
+ if attributes[:'stop_timeout']
105
+ self.stop_timeout = attributes[:'stop_timeout']
106
+ end
107
+
108
+ if attributes[:'user']
109
+ self.user = attributes[:'user']
110
+ end
111
+
112
+ end
113
+
114
+ end
115
+ end
@@ -0,0 +1,53 @@
1
+ module Apcera
2
+ #
3
+ class Provide < BaseObject
4
+ attr_accessor :name, :type
5
+ # attribute mapping from ruby-style variable name to JSON key
6
+ def self.attribute_map
7
+ {
8
+
9
+ # A string that describes the resource that can be provided (e.g., &#39;java&#39;, &#39;apache-2.2&#39;).
10
+ :'name' => :'name',
11
+
12
+ # The type of provide. Possible values are `file`, `package`, `runtime`, and `os`.
13
+ :'type' => :'type'
14
+
15
+ }
16
+ end
17
+
18
+ # attribute type
19
+ def self.swagger_types
20
+ {
21
+ :'name' => :'String',
22
+ :'type' => :'String'
23
+
24
+ }
25
+ end
26
+
27
+ def initialize(attributes = {})
28
+ return if !attributes.is_a?(Hash) || attributes.empty?
29
+
30
+ # convert string to symbol for hash key
31
+ attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
32
+
33
+
34
+ if attributes[:'name']
35
+ self.name = attributes[:'name']
36
+ end
37
+
38
+ if attributes[:'type']
39
+ self.type = attributes[:'type']
40
+ end
41
+
42
+ end
43
+
44
+ def type=(type)
45
+ allowed_values = ["file", "package", "runtime", "os"]
46
+ if type && !allowed_values.include?(type)
47
+ fail "invalid value for 'type', must be one of #{allowed_values}"
48
+ end
49
+ @type = type
50
+ end
51
+
52
+ end
53
+ end