enstratus 0.0.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.
- data/.gitignore +6 -0
- data/Gemfile +4 -0
- data/NOTES.md +80 -0
- data/README.md +51 -0
- data/Rakefile +1 -0
- data/TODO.md +21 -0
- data/config-sample.yaml +5 -0
- data/enstratus.gemspec +24 -0
- data/examples/list-servers.rb +17 -0
- data/lib/enstratus.rb +49 -0
- data/lib/enstratus/admin.rb +13 -0
- data/lib/enstratus/admin/account.rb +30 -0
- data/lib/enstratus/admin/acl.rb +8 -0
- data/lib/enstratus/admin/api_key.rb +24 -0
- data/lib/enstratus/admin/billing_code.rb +21 -0
- data/lib/enstratus/admin/customer.rb +25 -0
- data/lib/enstratus/admin/group.rb +12 -0
- data/lib/enstratus/admin/job.rb +16 -0
- data/lib/enstratus/admin/role.rb +13 -0
- data/lib/enstratus/admin/user.rb +30 -0
- data/lib/enstratus/analytics.rb +6 -0
- data/lib/enstratus/analytics/server_analytics.rb +12 -0
- data/lib/enstratus/analytics/tier_analytics.rb +12 -0
- data/lib/enstratus/automation.rb +19 -0
- data/lib/enstratus/automation/configuration_management_account.rb +0 -0
- data/lib/enstratus/automation/configuration_management_server.rb +0 -0
- data/lib/enstratus/automation/configuration_management_service.rb +0 -0
- data/lib/enstratus/automation/configuration_management_system.rb +0 -0
- data/lib/enstratus/automation/data_source.rb +0 -0
- data/lib/enstratus/automation/data_source_backup.rb +0 -0
- data/lib/enstratus/automation/deployment.rb +30 -0
- data/lib/enstratus/automation/deployment_load_balancer.rb +14 -0
- data/lib/enstratus/automation/launch_configuration.rb +0 -0
- data/lib/enstratus/automation/personality.rb +0 -0
- data/lib/enstratus/automation/script.rb +0 -0
- data/lib/enstratus/automation/service.rb +0 -0
- data/lib/enstratus/automation/service_backup.rb +0 -0
- data/lib/enstratus/automation/ssl_certificate.rb +0 -0
- data/lib/enstratus/automation/tier.rb +28 -0
- data/lib/enstratus/automation/tier_backup.rb +0 -0
- data/lib/enstratus/configuration.rb +13 -0
- data/lib/enstratus/finance.rb +5 -0
- data/lib/enstratus/finance/server_prepayment.rb +29 -0
- data/lib/enstratus/geography.rb +8 -0
- data/lib/enstratus/geography/cloud.rb +16 -0
- data/lib/enstratus/geography/data_center.rb +14 -0
- data/lib/enstratus/geography/region.rb +14 -0
- data/lib/enstratus/geography/subscription.rb +51 -0
- data/lib/enstratus/infrastructure.rb +11 -0
- data/lib/enstratus/infrastructure/machine_image.rb +31 -0
- data/lib/enstratus/infrastructure/server.rb +50 -0
- data/lib/enstratus/infrastructure/server_product.rb +21 -0
- data/lib/enstratus/infrastructure/snapshot.rb +32 -0
- data/lib/enstratus/infrastructure/volume.rb +31 -0
- data/lib/enstratus/infrastructure/volume_product.rb +4 -0
- data/lib/enstratus/network.rb +10 -0
- data/lib/enstratus/network/dns_zone.rb +0 -0
- data/lib/enstratus/network/firewall.rb +0 -0
- data/lib/enstratus/network/firewall_rule.rb +0 -0
- data/lib/enstratus/network/load_balancer.rb +0 -0
- data/lib/enstratus/network/network.rb +0 -0
- data/lib/enstratus/network/subnet.rb +0 -0
- data/lib/enstratus/platform.rb +47 -0
- data/lib/enstratus/platform/account_status.rb +0 -0
- data/lib/enstratus/platform/action.rb +0 -0
- data/lib/enstratus/platform/alert_configuration.rb +0 -0
- data/lib/enstratus/platform/algorithm.rb +0 -0
- data/lib/enstratus/platform/architecture.rb +0 -0
- data/lib/enstratus/platform/backup_status.rb +0 -0
- data/lib/enstratus/platform/breach_state.rb +0 -0
- data/lib/enstratus/platform/budget_state.rb +0 -0
- data/lib/enstratus/platform/cloud_subscription.rb +0 -0
- data/lib/enstratus/platform/color.rb +0 -0
- data/lib/enstratus/platform/credit_card.rb +0 -0
- data/lib/enstratus/platform/database_engine.rb +0 -0
- data/lib/enstratus/platform/deployment_state.rb +0 -0
- data/lib/enstratus/platform/deployment_type.rb +0 -0
- data/lib/enstratus/platform/distribution.rb +0 -0
- data/lib/enstratus/platform/dns_automation.rb +0 -0
- data/lib/enstratus/platform/dns_record.rb +0 -0
- data/lib/enstratus/platform/dns_record_type.rb +0 -0
- data/lib/enstratus/platform/event_type.rb +0 -0
- data/lib/enstratus/platform/job_status.rb +0 -0
- data/lib/enstratus/platform/jrusdiction.rb +0 -0
- data/lib/enstratus/platform/jurisdiction.rb +0 -0
- data/lib/enstratus/platform/key_value_database.rb +0 -0
- data/lib/enstratus/platform/lb_protocol.rb +0 -0
- data/lib/enstratus/platform/listener.rb +0 -0
- data/lib/enstratus/platform/load_balancer_scope.rb +0 -0
- data/lib/enstratus/platform/load_balancer_type.rb +0 -0
- data/lib/enstratus/platform/management_state.rb +0 -0
- data/lib/enstratus/platform/managment_state.rb +0 -0
- data/lib/enstratus/platform/message_queue.rb +0 -0
- data/lib/enstratus/platform/money.rb +0 -0
- data/lib/enstratus/platform/notification_setting.rb +0 -0
- data/lib/enstratus/platform/notification_targets.rb +0 -0
- data/lib/enstratus/platform/physical_address.rb +0 -0
- data/lib/enstratus/platform/platform.rb +0 -0
- data/lib/enstratus/platform/properties.rb +0 -0
- data/lib/enstratus/platform/protocol.rb +0 -0
- data/lib/enstratus/platform/push_notification_topic.rb +0 -0
- data/lib/enstratus/platform/qualifier.rb +0 -0
- data/lib/enstratus/platform/relational_database.rb +0 -0
- data/lib/enstratus/platform/relational_database_product.rb +0 -0
- data/lib/enstratus/platform/resource_type.rb +0 -0
- data/lib/enstratus/platform/scaling_rules.rb +0 -0
- data/lib/enstratus/platform/server_state.rb +0 -0
- data/lib/enstratus/platform/storage_object.rb +0 -0
- data/lib/enstratus/presenter.rb +0 -0
- data/lib/enstratus/request.rb +36 -0
- data/lib/enstratus/request_signer.rb +26 -0
- data/lib/enstratus/resource.rb +92 -0
- data/lib/enstratus/util.rb +5 -0
- data/lib/enstratus/version.rb +3 -0
- metadata +175 -0
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
module Enstratus::Admin
|
|
2
|
+
class User < Enstratus::Resource
|
|
3
|
+
|
|
4
|
+
attribute :user_id
|
|
5
|
+
attribute :status
|
|
6
|
+
|
|
7
|
+
# elements
|
|
8
|
+
attribute :account_user_id
|
|
9
|
+
attribute :alpha_name
|
|
10
|
+
attribute :billing_codes
|
|
11
|
+
attribute :cloud_api_public_key
|
|
12
|
+
attribute :cloud_api_secret_key
|
|
13
|
+
attribute :cloud_console_password
|
|
14
|
+
attribute :customer
|
|
15
|
+
attribute :editable
|
|
16
|
+
attribute :email
|
|
17
|
+
attribute :family_name
|
|
18
|
+
attribute :given_name
|
|
19
|
+
attribute :has_cloud_ap_iaccess
|
|
20
|
+
attribute :groups
|
|
21
|
+
attribute :notification_settings
|
|
22
|
+
attribute :notification_targets
|
|
23
|
+
attribute :ssh_public_key
|
|
24
|
+
attribute :time_zone
|
|
25
|
+
attribute :vm_login_id
|
|
26
|
+
|
|
27
|
+
# (docerror :undocumented)
|
|
28
|
+
attribute :has_cloud_console_access
|
|
29
|
+
end
|
|
30
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
module Enstratus
|
|
2
|
+
module Automation; end
|
|
3
|
+
end
|
|
4
|
+
|
|
5
|
+
require 'enstratus/automation/configuration_management_account'
|
|
6
|
+
require 'enstratus/automation/configuration_management_server'
|
|
7
|
+
require 'enstratus/automation/configuration_management_system'
|
|
8
|
+
require 'enstratus/automation/data_source'
|
|
9
|
+
require 'enstratus/automation/data_source_backup'
|
|
10
|
+
require 'enstratus/automation/deployment'
|
|
11
|
+
require 'enstratus/automation/deployment_load_balancer'
|
|
12
|
+
require 'enstratus/automation/launch_configuration'
|
|
13
|
+
require 'enstratus/automation/personality'
|
|
14
|
+
require 'enstratus/automation/script'
|
|
15
|
+
require 'enstratus/automation/service'
|
|
16
|
+
require 'enstratus/automation/tier'
|
|
17
|
+
require 'enstratus/automation/tier_backup'
|
|
18
|
+
require 'enstratus/automation/service_backup'
|
|
19
|
+
require 'enstratus/automation/ssl_certificate'
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
module Enstratus::Automation
|
|
2
|
+
class Deployment < Enstratus::Resource
|
|
3
|
+
|
|
4
|
+
attribute :budget
|
|
5
|
+
attribute :deployment_id
|
|
6
|
+
attribute :removable
|
|
7
|
+
attribute :status
|
|
8
|
+
attribute :type
|
|
9
|
+
|
|
10
|
+
# elements
|
|
11
|
+
attribute :backup_window
|
|
12
|
+
attribute :creation_timestamp
|
|
13
|
+
attribute :customer
|
|
14
|
+
attribute :description
|
|
15
|
+
attribute :dr_storage
|
|
16
|
+
attribute :for_service_catalog
|
|
17
|
+
attribute :label
|
|
18
|
+
attribute :launch_timestamp
|
|
19
|
+
attribute :load_balancers
|
|
20
|
+
attribute :maintenance_window
|
|
21
|
+
attribute :name
|
|
22
|
+
attribute :owning_groups
|
|
23
|
+
attribute :owning_user
|
|
24
|
+
attribute :reason_not_removable
|
|
25
|
+
attribute :regions
|
|
26
|
+
|
|
27
|
+
# (docerror :notdocumented)
|
|
28
|
+
attribute :catalog_item
|
|
29
|
+
end
|
|
30
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
module Enstratus::Automation
|
|
2
|
+
class DeploymentLoadBalancer < Enstratus::Resource
|
|
3
|
+
|
|
4
|
+
attribute :load_balancer_id
|
|
5
|
+
attribute :scope
|
|
6
|
+
attribute :type
|
|
7
|
+
|
|
8
|
+
# elements
|
|
9
|
+
attribute :firewalls
|
|
10
|
+
attribute :machine_image
|
|
11
|
+
attribute :product
|
|
12
|
+
|
|
13
|
+
end
|
|
14
|
+
end
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
module Enstratus::Automation
|
|
2
|
+
class Tier < Enstratus::Resource
|
|
3
|
+
# all - requires deploymentId
|
|
4
|
+
|
|
5
|
+
attribute :tier_id
|
|
6
|
+
attribute :removable
|
|
7
|
+
attribute :status
|
|
8
|
+
|
|
9
|
+
# elements
|
|
10
|
+
attribute :breach_increment
|
|
11
|
+
attribute :breach_period_in_minutes
|
|
12
|
+
attribute :cooldown_period_in_minutes
|
|
13
|
+
attribute :description
|
|
14
|
+
attribute :lable
|
|
15
|
+
attribute :last_breach_change_timestamp
|
|
16
|
+
attribute :lower_cpu_threshold
|
|
17
|
+
attribute :lower_ram_threshold
|
|
18
|
+
attribute :maximum_servers
|
|
19
|
+
attribute :minimum_servers
|
|
20
|
+
attribute :name
|
|
21
|
+
attribute :scaling_rules
|
|
22
|
+
attribute :upper_cpu_threshold
|
|
23
|
+
attribute :upper_ram_threshold
|
|
24
|
+
|
|
25
|
+
# (docerror :notdocumented)
|
|
26
|
+
attribute :deployment
|
|
27
|
+
end
|
|
28
|
+
end
|
|
File without changes
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
module Enstratus
|
|
2
|
+
class Configuration
|
|
3
|
+
attr_accessor :access_key, :secret_key, :endpoint, :version, :debug
|
|
4
|
+
|
|
5
|
+
def initialize
|
|
6
|
+
@access_key ||= '12345678'
|
|
7
|
+
@secret_key ||= 'abcdefghi'
|
|
8
|
+
@endpoint ||= 'https://api.enstratus.com'
|
|
9
|
+
@version ||= '2012-02-29'
|
|
10
|
+
@debug ||= false
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
module Enstratus::Finance
|
|
2
|
+
class ServerPrepayment < Enstratus::Resource
|
|
3
|
+
|
|
4
|
+
attribute :server_prepayment_id
|
|
5
|
+
attribute :status
|
|
6
|
+
|
|
7
|
+
# elements
|
|
8
|
+
attribute :account
|
|
9
|
+
attribute :billing_preferences
|
|
10
|
+
attribute :cloud
|
|
11
|
+
attribute :currency
|
|
12
|
+
attribute :data_center
|
|
13
|
+
attribute :description
|
|
14
|
+
attribute :expiration
|
|
15
|
+
attribute :fixed_fee
|
|
16
|
+
attribute :guid
|
|
17
|
+
attribute :hourly_fee
|
|
18
|
+
attribute :label
|
|
19
|
+
attribute :name
|
|
20
|
+
attribute :owning_groups
|
|
21
|
+
attribute :owning_user
|
|
22
|
+
attribute :period_in_days
|
|
23
|
+
attribute :period_start
|
|
24
|
+
attribute :provider_id
|
|
25
|
+
attribute :provider_product_id
|
|
26
|
+
attribute :region
|
|
27
|
+
attribute :server_count
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
module Enstratus::Geography
|
|
2
|
+
class Cloud < Enstratus::Resource
|
|
3
|
+
|
|
4
|
+
attribute :cloud_id
|
|
5
|
+
attribute :private_cloud
|
|
6
|
+
attribute :status
|
|
7
|
+
attribute :dasein_compute_delegate
|
|
8
|
+
attribute :dasein_storage_delegate
|
|
9
|
+
attribute :endpoint
|
|
10
|
+
attribute :logo_url
|
|
11
|
+
attribute :name
|
|
12
|
+
attribute :provider
|
|
13
|
+
attribute :status_url
|
|
14
|
+
attribute :web_url
|
|
15
|
+
end
|
|
16
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
module Enstratus::Geography
|
|
2
|
+
class DataCenter < Enstratus::Resource
|
|
3
|
+
|
|
4
|
+
collects_as :dataCenters
|
|
5
|
+
|
|
6
|
+
attribute :data_center_id
|
|
7
|
+
attribute :status
|
|
8
|
+
attribute :description
|
|
9
|
+
attribute :name
|
|
10
|
+
attribute :provider_id
|
|
11
|
+
attribute :region
|
|
12
|
+
|
|
13
|
+
end
|
|
14
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
module Enstratus::Geography
|
|
2
|
+
class Region < Enstratus::Resource
|
|
3
|
+
|
|
4
|
+
attribute :region_id
|
|
5
|
+
attribute :status
|
|
6
|
+
attribute :cloud
|
|
7
|
+
attribute :customer
|
|
8
|
+
attribute :description
|
|
9
|
+
attribute :jurisdiction
|
|
10
|
+
attribute :name
|
|
11
|
+
attribute :provider_id
|
|
12
|
+
|
|
13
|
+
end
|
|
14
|
+
end
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
module Enstratus::Geography
|
|
2
|
+
class Subscription < Enstratus::Resource
|
|
3
|
+
|
|
4
|
+
attribute :region_id
|
|
5
|
+
attribute :custom_images
|
|
6
|
+
attribute :custom_networks
|
|
7
|
+
attribute :custom_subnets
|
|
8
|
+
attribute :hypervisor_analytics
|
|
9
|
+
attribute :ip_addresses_forwarded
|
|
10
|
+
attribute :load_balancer_address_assigned
|
|
11
|
+
attribute :load_balancer_create_with_server
|
|
12
|
+
attribute :load_balancer_data_center_limited
|
|
13
|
+
attribute :max_load_balancer_listeners
|
|
14
|
+
attribute :network_data_center_constrained
|
|
15
|
+
attribute :network_with_subnets
|
|
16
|
+
attribute :private_image_sharing
|
|
17
|
+
attribute :private_ip_addresses_assigned
|
|
18
|
+
attribute :private_ip_addresses_requestable
|
|
19
|
+
attribute :private_snapshot_sharing
|
|
20
|
+
attribute :public_image_library
|
|
21
|
+
attribute :public_image_sharing
|
|
22
|
+
attribute :public_ip_addresses_assigned
|
|
23
|
+
attribute :public_ip_addresses_requestable
|
|
24
|
+
attribute :public_snapshot_sharing
|
|
25
|
+
attribute :rdbms_firewalled
|
|
26
|
+
attribute :rdbms_ha
|
|
27
|
+
attribute :rdbms_la
|
|
28
|
+
attribute :rdbms_maintenance
|
|
29
|
+
attribute :rdbms_snapshots
|
|
30
|
+
attribute :server_key_bootstrapped
|
|
31
|
+
attribute :subnet_data_center_constrained
|
|
32
|
+
attribute :subscribed_auto_scaling
|
|
33
|
+
attribute :subscribed_blob_store
|
|
34
|
+
attribute :subscribed_cd_n
|
|
35
|
+
attribute :subscribed_dn_s
|
|
36
|
+
attribute :subscribed_email
|
|
37
|
+
attribute :subscribed_firewall
|
|
38
|
+
attribute :subscribed_kv_db
|
|
39
|
+
attribute :subscribed_load_balancer
|
|
40
|
+
attribute :subscribed_machine_image
|
|
41
|
+
attribute :subscribed_mq
|
|
42
|
+
attribute :subscribed_network
|
|
43
|
+
attribute :subscribed_push_notification
|
|
44
|
+
attribute :subscribed_rd_bm_s
|
|
45
|
+
attribute :subscribed_static_ip
|
|
46
|
+
attribute :subscribed_server
|
|
47
|
+
attribute :subscribed_snapshot
|
|
48
|
+
attribute :subscribed_volume
|
|
49
|
+
attribute :subscribed_vp_n
|
|
50
|
+
end
|
|
51
|
+
end
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
module Enstratus
|
|
2
|
+
module Infrastructure
|
|
3
|
+
end
|
|
4
|
+
end
|
|
5
|
+
|
|
6
|
+
require 'enstratus/infrastructure/server'
|
|
7
|
+
require 'enstratus/infrastructure/machine_image'
|
|
8
|
+
require 'enstratus/infrastructure/server_product'
|
|
9
|
+
require 'enstratus/infrastructure/snapshot'
|
|
10
|
+
require 'enstratus/infrastructure/volume'
|
|
11
|
+
require 'enstratus/infrastructure/volume_product'
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
module Enstratus::Infrastructure
|
|
2
|
+
class MachineImage < Enstratus::Resource
|
|
3
|
+
collects_as :images
|
|
4
|
+
|
|
5
|
+
attribute :budget
|
|
6
|
+
attribute :machine_image_id
|
|
7
|
+
attribute :removable
|
|
8
|
+
attribute :sharable
|
|
9
|
+
attribute :status
|
|
10
|
+
attribute :agent_version
|
|
11
|
+
attribute :architecture
|
|
12
|
+
attribute :cloud
|
|
13
|
+
attribute :creation_timestamp
|
|
14
|
+
attribute :customer
|
|
15
|
+
attribute :label
|
|
16
|
+
attribute :name
|
|
17
|
+
attribute :owning_account
|
|
18
|
+
attribute :owning_cloud_account_id
|
|
19
|
+
attribute :owning_cloud_account_number
|
|
20
|
+
attribute :owning_groups
|
|
21
|
+
attribute :owning_user
|
|
22
|
+
attribute :platform
|
|
23
|
+
attribute :products
|
|
24
|
+
attribute :provider_id
|
|
25
|
+
attribute :public
|
|
26
|
+
attribute :region
|
|
27
|
+
|
|
28
|
+
# (doc_error: typo)
|
|
29
|
+
attribute :desription
|
|
30
|
+
end
|
|
31
|
+
end
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
module Enstratus::Infrastructure
|
|
2
|
+
|
|
3
|
+
class Server < Enstratus::Resource
|
|
4
|
+
attribute :region
|
|
5
|
+
attribute :platform
|
|
6
|
+
attribute :budget
|
|
7
|
+
attribute :start_date
|
|
8
|
+
attribute :status
|
|
9
|
+
attribute :data_center
|
|
10
|
+
attribute :customer
|
|
11
|
+
attribute :private_ip_addresses
|
|
12
|
+
attribute :machine_image
|
|
13
|
+
attribute :description
|
|
14
|
+
attribute :name
|
|
15
|
+
attribute :cloud
|
|
16
|
+
attribute :provider_id
|
|
17
|
+
attribute :public_ip_address
|
|
18
|
+
attribute :server_id
|
|
19
|
+
attribute :agent_version
|
|
20
|
+
attribute :analytics
|
|
21
|
+
attribute :imageable
|
|
22
|
+
attribute :management_state
|
|
23
|
+
attribute :persistent
|
|
24
|
+
attribute :registered
|
|
25
|
+
attribute :removable
|
|
26
|
+
attribute :architecture
|
|
27
|
+
attribute :create_timestamp
|
|
28
|
+
attribute :label
|
|
29
|
+
attribute :last_boot_timestamp
|
|
30
|
+
attribute :last_pause_timestamp
|
|
31
|
+
attribute :owning_account
|
|
32
|
+
attribute :owning_user
|
|
33
|
+
attribute :pause_after
|
|
34
|
+
attribute :personalities
|
|
35
|
+
attribute :platform
|
|
36
|
+
attribute :prepayment
|
|
37
|
+
attribute :private_dns_address
|
|
38
|
+
attribute :product
|
|
39
|
+
attribute :public_dns_address
|
|
40
|
+
attribute :scripts
|
|
41
|
+
attribute :terminate_after
|
|
42
|
+
attribute :vlan
|
|
43
|
+
attribute :termination_timestamp
|
|
44
|
+
|
|
45
|
+
# (doc_error :undocumented)
|
|
46
|
+
attribute :owning_groups
|
|
47
|
+
attribute :stop_date
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
end
|