apcera 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
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,53 @@
1
+ module Apcera
2
+ #
3
+ class Dependency < 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 depended on (e.g., &#39;java&#39;, &#39;apache-2.2&#39;).
10
+ :'name' => :'name',
11
+
12
+ # The type of dependency. Valid 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
@@ -0,0 +1,45 @@
1
+ module Apcera
2
+ #
3
+ class DependencyResolve < 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
+ # Name of the resource that can be depended upon.
10
+ :'name' => :'name',
11
+
12
+ # Dependency type. Can be one of the following values: \n * `file` \n * `package` \n * `runtime` \n `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
+ end
45
+ end
@@ -0,0 +1,63 @@
1
+ module Apcera
2
+ #
3
+ class DockerOrigin < BaseObject
4
+ attr_accessor :image_name, :image_tag, :registry_url, :volumes
5
+ # attribute mapping from ruby-style variable name to JSON key
6
+ def self.attribute_map
7
+ {
8
+
9
+ # Name of Docker image used to create the job.
10
+ :'image_name' => :'ImageName',
11
+
12
+ # Tag assigned to the Docker image used to create the job.
13
+ :'image_tag' => :'ImageTag',
14
+
15
+ # URL of private Docker registry used to create the job. Empty for if the Docker public registry (a.k.a. DockerHub) was used.
16
+ :'registry_url' => :'RegistryURL',
17
+
18
+ # Volumes defined by the Docker image used to create the job.
19
+ :'volumes' => :'Volumes'
20
+
21
+ }
22
+ end
23
+
24
+ # attribute type
25
+ def self.swagger_types
26
+ {
27
+ :'image_name' => :'String',
28
+ :'image_tag' => :'String',
29
+ :'registry_url' => :'String',
30
+ :'volumes' => :'Array<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[:'ImageName']
43
+ self.image_name = attributes[:'ImageName']
44
+ end
45
+
46
+ if attributes[:'ImageTag']
47
+ self.image_tag = attributes[:'ImageTag']
48
+ end
49
+
50
+ if attributes[:'RegistryURL']
51
+ self.registry_url = attributes[:'RegistryURL']
52
+ end
53
+
54
+ if attributes[:'Volumes']
55
+ if (value = attributes[:'Volumes']).is_a?(Array)
56
+ self.volumes = value
57
+ end
58
+ end
59
+
60
+ end
61
+
62
+ end
63
+ end
@@ -0,0 +1,61 @@
1
+ module Apcera
2
+ #
3
+ class Drain < BaseObject
4
+ attr_accessor :conf, :max_size, :url, :uuid
5
+ # attribute mapping from ruby-style variable name to JSON key
6
+ def self.attribute_map
7
+ {
8
+
9
+ # Drain configuration object.
10
+ :'conf' => :'conf',
11
+
12
+ # Maximum bytes per log line to send. Defaults to 2048 bytes.
13
+ :'max_size' => :'max_size',
14
+
15
+ # A syslog URL in the form of syslog://hostname:port.
16
+ :'url' => :'url',
17
+
18
+ # UUID of the drain object.
19
+ :'uuid' => :'uuid'
20
+
21
+ }
22
+ end
23
+
24
+ # attribute type
25
+ def self.swagger_types
26
+ {
27
+ :'conf' => :'DrainConfig',
28
+ :'max_size' => :'Integer',
29
+ :'url' => :'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[:'conf']
43
+ self.conf = attributes[:'conf']
44
+ end
45
+
46
+ if attributes[:'max_size']
47
+ self.max_size = attributes[:'max_size']
48
+ end
49
+
50
+ if attributes[:'url']
51
+ self.url = attributes[:'url']
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,53 @@
1
+ module Apcera
2
+ #
3
+ class DrainConfig < BaseObject
4
+ attr_accessor :priority, :protocol
5
+ # attribute mapping from ruby-style variable name to JSON key
6
+ def self.attribute_map
7
+ {
8
+
9
+ # The configured syslog priority.
10
+ :'priority' => :'priority',
11
+
12
+ # The default syslog protocol to dial over. Defaults to TCP.
13
+ :'protocol' => :'protocol'
14
+
15
+ }
16
+ end
17
+
18
+ # attribute type
19
+ def self.swagger_types
20
+ {
21
+ :'priority' => :'Integer',
22
+ :'protocol' => :'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[:'priority']
35
+ self.priority = attributes[:'priority']
36
+ end
37
+
38
+ if attributes[:'protocol']
39
+ self.protocol = attributes[:'protocol']
40
+ end
41
+
42
+ end
43
+
44
+ def protocol=(protocol)
45
+ allowed_values = ["udp", "tcp"]
46
+ if protocol && !allowed_values.include?(protocol)
47
+ fail "invalid value for 'protocol', must be one of #{allowed_values}"
48
+ end
49
+ @protocol = protocol
50
+ end
51
+
52
+ end
53
+ end
@@ -0,0 +1,45 @@
1
+ module Apcera
2
+ #
3
+ class FileListing < BaseObject
4
+ attr_accessor :name, :size
5
+ # attribute mapping from ruby-style variable name to JSON key
6
+ def self.attribute_map
7
+ {
8
+
9
+ # Name of the file or directory in the target path. Directory names are suffixed by a trailing forward slash (for example, `/app`).
10
+ :'name' => :'name',
11
+
12
+ # Size of the file resource; not calculated for directories.
13
+ :'size' => :'size'
14
+
15
+ }
16
+ end
17
+
18
+ # attribute type
19
+ def self.swagger_types
20
+ {
21
+ :'name' => :'String',
22
+ :'size' => :'Float'
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[:'size']
39
+ self.size = attributes[:'size']
40
+ end
41
+
42
+ end
43
+
44
+ end
45
+ end
@@ -0,0 +1,53 @@
1
+ module Apcera
2
+ #
3
+ class Info < BaseObject
4
+ attr_accessor :cluster_domain, :name, :url
5
+ # attribute mapping from ruby-style variable name to JSON key
6
+ def self.attribute_map
7
+ {
8
+
9
+ # Cluster domain.
10
+ :'cluster_domain' => :'cluster_domain',
11
+
12
+ # API server name. Currently contains \&quot;Continuum\&quot;.
13
+ :'name' => :'name',
14
+
15
+ # URL of Apcera API Server (for example, api.try.apcera.net).
16
+ :'url' => :'url'
17
+
18
+ }
19
+ end
20
+
21
+ # attribute type
22
+ def self.swagger_types
23
+ {
24
+ :'cluster_domain' => :'String',
25
+ :'name' => :'String',
26
+ :'url' => :'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[:'cluster_domain']
39
+ self.cluster_domain = attributes[:'cluster_domain']
40
+ end
41
+
42
+ if attributes[:'name']
43
+ self.name = attributes[:'name']
44
+ end
45
+
46
+ if attributes[:'url']
47
+ self.url = attributes[:'url']
48
+ end
49
+
50
+ end
51
+
52
+ end
53
+ end
@@ -0,0 +1,105 @@
1
+ module Apcera
2
+ #
3
+ class InstanceManager < BaseObject
4
+ attr_accessor :resources_provisioned, :resources_total, :datacenter, :hostname, :num_instances, :start_time, :system_tags, :tags, :uuid
5
+ # attribute mapping from ruby-style variable name to JSON key
6
+ def self.attribute_map
7
+ {
8
+
9
+ #
10
+ :'resources_provisioned' => :'ResourcesProvisioned',
11
+
12
+ #
13
+ :'resources_total' => :'ResourcesTotal',
14
+
15
+ #
16
+ :'datacenter' => :'datacenter',
17
+
18
+ # Instance manager&#39;s host name.
19
+ :'hostname' => :'hostname',
20
+
21
+ # The number of instances being managed by the instance manager.
22
+ :'num_instances' => :'num_instances',
23
+
24
+ # Date and time that instance manager was started.
25
+ :'start_time' => :'start_time',
26
+
27
+ # System tags assigned to the instance manager.
28
+ :'system_tags' => :'system_tags',
29
+
30
+ # Tags assigned to the instance manager.
31
+ :'tags' => :'tags',
32
+
33
+ # Instance manager&#39;s unique identifier.
34
+ :'uuid' => :'uuid'
35
+
36
+ }
37
+ end
38
+
39
+ # attribute type
40
+ def self.swagger_types
41
+ {
42
+ :'resources_provisioned' => :'Resource',
43
+ :'resources_total' => :'Resource',
44
+ :'datacenter' => :'String',
45
+ :'hostname' => :'String',
46
+ :'num_instances' => :'Integer',
47
+ :'start_time' => :'String',
48
+ :'system_tags' => :'Array<String>',
49
+ :'tags' => :'Array<String>',
50
+ :'uuid' => :'String'
51
+
52
+ }
53
+ end
54
+
55
+ def initialize(attributes = {})
56
+ return if !attributes.is_a?(Hash) || attributes.empty?
57
+
58
+ # convert string to symbol for hash key
59
+ attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
60
+
61
+
62
+ if attributes[:'ResourcesProvisioned']
63
+ self.resources_provisioned = attributes[:'ResourcesProvisioned']
64
+ end
65
+
66
+ if attributes[:'ResourcesTotal']
67
+ self.resources_total = attributes[:'ResourcesTotal']
68
+ end
69
+
70
+ if attributes[:'datacenter']
71
+ self.datacenter = attributes[:'datacenter']
72
+ end
73
+
74
+ if attributes[:'hostname']
75
+ self.hostname = attributes[:'hostname']
76
+ end
77
+
78
+ if attributes[:'num_instances']
79
+ self.num_instances = attributes[:'num_instances']
80
+ end
81
+
82
+ if attributes[:'start_time']
83
+ self.start_time = attributes[:'start_time']
84
+ end
85
+
86
+ if attributes[:'system_tags']
87
+ if (value = attributes[:'system_tags']).is_a?(Array)
88
+ self.system_tags = value
89
+ end
90
+ end
91
+
92
+ if attributes[:'tags']
93
+ if (value = attributes[:'tags']).is_a?(Array)
94
+ self.tags = value
95
+ end
96
+ end
97
+
98
+ if attributes[:'uuid']
99
+ self.uuid = attributes[:'uuid']
100
+ end
101
+
102
+ end
103
+
104
+ end
105
+ end
@@ -0,0 +1,117 @@
1
+ module Apcera
2
+ #
3
+ class InstanceState < BaseObject
4
+ attr_accessor :first_running, :new, :removed, :running, :setup, :starting, :starting_wait, :stopping, :stopping_wait, :teardown, :updating
5
+ # attribute mapping from ruby-style variable name to JSON key
6
+ def self.attribute_map
7
+ {
8
+
9
+ # Number of instances where the job was started and is about to move into the `RUNNING` state.
10
+ :'first_running' => :'FIRST_RUNNING',
11
+
12
+ # Number of instances in the `NEW` state.
13
+ :'new' => :'NEW',
14
+
15
+ # Number of instances that are no longer consuming resources and have no remaining configuration on the system.
16
+ :'removed' => :'REMOVED',
17
+
18
+ # Number of instances that are running.
19
+ :'running' => :'RUNNING',
20
+
21
+ # Number of instances in which packages are being installed, networking initialized, etc.
22
+ :'setup' => :'SETUP',
23
+
24
+ # Number of instances whose processes have been started, but have not been verified to be running.
25
+ :'starting' => :'STARTING',
26
+
27
+ # Number of instances that are waiting for dependent jobs to become ready.
28
+ :'starting_wait' => :'STARTING_WAIT',
29
+
30
+ # Number of instances that are in the process of having their processes shutdown.
31
+ :'stopping' => :'STOPPING',
32
+
33
+ # Number of instances that are being stopped, but have jobs depending on it. In this case the other jobs must first transition past the `STOPPING` state before this instance can be stopped.
34
+ :'stopping_wait' => :'STOPPING_WAIT',
35
+
36
+ # Number of instances whose user-defined processes have been killed, and the instance is being removed from cluster resources.
37
+ :'teardown' => :'TEARDOWN',
38
+
39
+ # Number of instances that are in a state that allows the instance to update various properties of the container.
40
+ :'updating' => :'UPDATING'
41
+
42
+ }
43
+ end
44
+
45
+ # attribute type
46
+ def self.swagger_types
47
+ {
48
+ :'first_running' => :'Integer',
49
+ :'new' => :'Integer',
50
+ :'removed' => :'Integer',
51
+ :'running' => :'Integer',
52
+ :'setup' => :'Integer',
53
+ :'starting' => :'Integer',
54
+ :'starting_wait' => :'Integer',
55
+ :'stopping' => :'Integer',
56
+ :'stopping_wait' => :'Integer',
57
+ :'teardown' => :'Integer',
58
+ :'updating' => :'Integer'
59
+
60
+ }
61
+ end
62
+
63
+ def initialize(attributes = {})
64
+ return if !attributes.is_a?(Hash) || attributes.empty?
65
+
66
+ # convert string to symbol for hash key
67
+ attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
68
+
69
+
70
+ if attributes[:'FIRST_RUNNING']
71
+ self.first_running = attributes[:'FIRST_RUNNING']
72
+ end
73
+
74
+ if attributes[:'NEW']
75
+ self.new = attributes[:'NEW']
76
+ end
77
+
78
+ if attributes[:'REMOVED']
79
+ self.removed = attributes[:'REMOVED']
80
+ end
81
+
82
+ if attributes[:'RUNNING']
83
+ self.running = attributes[:'RUNNING']
84
+ end
85
+
86
+ if attributes[:'SETUP']
87
+ self.setup = attributes[:'SETUP']
88
+ end
89
+
90
+ if attributes[:'STARTING']
91
+ self.starting = attributes[:'STARTING']
92
+ end
93
+
94
+ if attributes[:'STARTING_WAIT']
95
+ self.starting_wait = attributes[:'STARTING_WAIT']
96
+ end
97
+
98
+ if attributes[:'STOPPING']
99
+ self.stopping = attributes[:'STOPPING']
100
+ end
101
+
102
+ if attributes[:'STOPPING_WAIT']
103
+ self.stopping_wait = attributes[:'STOPPING_WAIT']
104
+ end
105
+
106
+ if attributes[:'TEARDOWN']
107
+ self.teardown = attributes[:'TEARDOWN']
108
+ end
109
+
110
+ if attributes[:'UPDATING']
111
+ self.updating = attributes[:'UPDATING']
112
+ end
113
+
114
+ end
115
+
116
+ end
117
+ end