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,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