sfrest 0.0.39 → 0.0.42
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.
- checksums.yaml +4 -4
- data/lib/sfrest/connection.rb +4 -0
- data/lib/sfrest/cron.rb +53 -0
- data/lib/sfrest/security_settings.rb +45 -0
- data/lib/sfrest/site_guard.rb +45 -0
- data/lib/sfrest/site_ownership.rb +30 -0
- data/lib/sfrest/site_update_priority.rb +40 -0
- data/lib/sfrest/task_log_settings.rb +43 -0
- data/lib/sfrest/version.rb +1 -1
- data/lib/sfrest.rb +4 -0
- metadata +7 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1aaa8110a7f4f77dbf3e382c6eab356eaba212ac1e7c781549701e06e1dcfd76
|
4
|
+
data.tar.gz: 4547d55501b96104f8db759ecff0164b8ed7f2fd3aba313fd79c13975c74e7ac
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3fe6355a532f008da04903c25e27e7f6ddf28541bcd29768979178c3a0dce17b776fe17b8ced00e7f23c02e6d247a46fd4099a1ff412bbdfe951fe8ca3e0382d
|
7
|
+
data.tar.gz: 36de7a3762555fa9b6ca39f270f0cee99f95661ccc760738e4fd5ccd4668689890f8507abd85921c66fb27a686ffbebd8532d8bda18b0c96378a4697ff550afc
|
data/lib/sfrest/connection.rb
CHANGED
data/lib/sfrest/cron.rb
CHANGED
@@ -24,5 +24,58 @@ module SFRest
|
|
24
24
|
def get_cron_job(nid)
|
25
25
|
@conn.get("/api/v1/cronjobs/#{nid}")
|
26
26
|
end
|
27
|
+
|
28
|
+
# Creates a new cron job
|
29
|
+
# @param [string] cron job name
|
30
|
+
# @param [string] cron job command
|
31
|
+
# @param [string] A unix cron expression
|
32
|
+
# @param [string] Sites affected by cron
|
33
|
+
# @param [int] if the cron should be enabled
|
34
|
+
# @param [int] The percentage of cron threads that should be used for this cron
|
35
|
+
# @param [array] An array of stack ids for which the cron should be enabled
|
36
|
+
# rubocop: disable Metrics/ParameterLists
|
37
|
+
def create_cron_job(name, command, interval, scope, enabled, thread_percentage, stacks)
|
38
|
+
# rubocop: enable Metrics/ParameterLists
|
39
|
+
payload = {
|
40
|
+
'name' => name,
|
41
|
+
'command' => command,
|
42
|
+
'interval' => interval,
|
43
|
+
'sites_affected' => scope,
|
44
|
+
'enabled' => enabled,
|
45
|
+
'thread_percentage' => thread_percentage,
|
46
|
+
'stacks' => stacks
|
47
|
+
}.to_json
|
48
|
+
@conn.post('/api/v1/cronjobs', payload)
|
49
|
+
end
|
50
|
+
|
51
|
+
# Edits a cron job by its node id
|
52
|
+
# @param [int] cron job nid
|
53
|
+
# @param [string] cron job name
|
54
|
+
# @param [string] cron job command
|
55
|
+
# @param [string] A unix cron expression
|
56
|
+
# @param [string] Sites affected by cron
|
57
|
+
# @param [int] if the cron should be enabled
|
58
|
+
# @param [int] The percentage of cron threads that should be used for this cron
|
59
|
+
# @param [array] An array of stack ids for which the cron should be enabled
|
60
|
+
# rubocop: disable Metrics/ParameterLists
|
61
|
+
def edit_cron_job(nid, name, command, interval, scope, enabled, thread_percentage, stacks)
|
62
|
+
# rubocop: enable Metrics/ParameterLists
|
63
|
+
payload = {
|
64
|
+
'name' => name,
|
65
|
+
'command' => command,
|
66
|
+
'interval' => interval,
|
67
|
+
'sites_affected' => scope,
|
68
|
+
'enabled' => enabled,
|
69
|
+
'thread_percentage' => thread_percentage,
|
70
|
+
'stacks' => stacks
|
71
|
+
}.to_json
|
72
|
+
@conn.put("/api/v1/cronjobs/#{nid}", payload)
|
73
|
+
end
|
74
|
+
|
75
|
+
# Deletes a cron job by its node id
|
76
|
+
# @param [int] cron job nid
|
77
|
+
def delete_cron_job(nid)
|
78
|
+
@conn.delete("/api/v1/cronjobs/#{nid}")
|
79
|
+
end
|
27
80
|
end
|
28
81
|
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module SFRest
|
4
|
+
# We need to keep this naming due to the way connection.rb autoloads things.
|
5
|
+
# rubocop: disable Naming/ClassAndModuleCamelCase
|
6
|
+
# Manage the factory security settings.
|
7
|
+
class Security_settings
|
8
|
+
# rubocop: enable Naming/ClassAndModuleCamelCase
|
9
|
+
|
10
|
+
# @param [SFRest::Connection] conn
|
11
|
+
def initialize(conn)
|
12
|
+
@conn = conn
|
13
|
+
end
|
14
|
+
|
15
|
+
# Get current security settings.
|
16
|
+
#
|
17
|
+
# @return [Array] an array containing current security settings.
|
18
|
+
def current_security_settings
|
19
|
+
@conn.get('/api/v1/security')
|
20
|
+
end
|
21
|
+
|
22
|
+
# Change security settings.
|
23
|
+
#
|
24
|
+
# @param [Hash] data Options to the security settings
|
25
|
+
# @option data [Integer] 'minimum_password_length'
|
26
|
+
# @option data [String] 'minimum_required_password_strength'
|
27
|
+
# @option data [Boolean] 'two_step_verification'
|
28
|
+
# @option data [Boolean] 'sign_out_inactive_user_accounts'
|
29
|
+
# @option data [Integer] 'sign_out_inactivity_time'
|
30
|
+
# @option data [Boolean] 'automatically_disable_accounts'
|
31
|
+
# @option data [Integer] 'automatically_disable_accounts_after_days'
|
32
|
+
#
|
33
|
+
# @return [Array] an array containing the message given by the server.
|
34
|
+
def change_security_settings(data)
|
35
|
+
@conn.put('/api/v1/security', data.to_json)
|
36
|
+
end
|
37
|
+
|
38
|
+
# Reset current security settings.
|
39
|
+
#
|
40
|
+
# @return [Array] an array containing the message given by the server.
|
41
|
+
def reset_security_settings
|
42
|
+
@conn.delete('/api/v1/security')
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module SFRest
|
4
|
+
# We need to keep this naming due to the way connection.rb autoloads things.
|
5
|
+
# rubocop: disable Naming/ClassAndModuleCamelCase
|
6
|
+
# Manage the site guard feature.
|
7
|
+
class Site_guard
|
8
|
+
# rubocop: enable Naming/ClassAndModuleCamelCase
|
9
|
+
|
10
|
+
# @param [SFRest::Connection] conn
|
11
|
+
def initialize(conn)
|
12
|
+
@conn = conn
|
13
|
+
end
|
14
|
+
|
15
|
+
# Get current site guard settings.
|
16
|
+
#
|
17
|
+
# @return [Array] an array containing current settings.
|
18
|
+
def current_settings
|
19
|
+
@conn.get('/api/v1/site-guard')
|
20
|
+
end
|
21
|
+
|
22
|
+
# Set and enables the site guard settings.
|
23
|
+
# @param [String] The message which will be displayed by the site guard.
|
24
|
+
# @param [String] The username which will be required by the site guard.
|
25
|
+
# @param [String] The password which will be required by the site guard.
|
26
|
+
#
|
27
|
+
# @return [Array] an array containing the message given by the server.
|
28
|
+
def enable_site_guard(message, username, password)
|
29
|
+
payload = {
|
30
|
+
'message' => message,
|
31
|
+
'username' => username,
|
32
|
+
'password' => password
|
33
|
+
}
|
34
|
+
|
35
|
+
@conn.put('/api/v1/site-guard', payload.to_json)
|
36
|
+
end
|
37
|
+
|
38
|
+
# Removes and disableds the site guard settings.
|
39
|
+
#
|
40
|
+
# @return [Array] an array containing the message given by the server.
|
41
|
+
def disable_site_guard
|
42
|
+
@conn.delete('/api/v1/site-guard')
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -37,5 +37,35 @@ module SFRest
|
|
37
37
|
def remove_default_owner
|
38
38
|
@conn.delete('/api/v1/site-ownership')
|
39
39
|
end
|
40
|
+
|
41
|
+
# Transfers site ownership using recipients username.
|
42
|
+
# @param [Integer] site id.
|
43
|
+
# @param [String] username.
|
44
|
+
# @param [Boolean] force_transfer.
|
45
|
+
#
|
46
|
+
# @return [Array] an array containing the message given by the server.
|
47
|
+
def transfer_site_ownership_using_username(site_id, username, force_transfer)
|
48
|
+
payload = {
|
49
|
+
'username' => username,
|
50
|
+
'force_transfer' => force_transfer
|
51
|
+
}
|
52
|
+
|
53
|
+
@conn.post("/api/v1/site-ownership/#{site_id}", payload.to_json)
|
54
|
+
end
|
55
|
+
|
56
|
+
# Transfers site ownership using recipients email.
|
57
|
+
# @param [Integer] site id.
|
58
|
+
# @param [String] email.
|
59
|
+
# @param [Boolean] force_transfer.
|
60
|
+
#
|
61
|
+
# @return [Array] an array containing the message given by the server.
|
62
|
+
def transfer_site_ownership_using_email(site_id, email, force_transfer)
|
63
|
+
payload = {
|
64
|
+
'email' => email,
|
65
|
+
'force_transfer' => force_transfer
|
66
|
+
}
|
67
|
+
|
68
|
+
@conn.post("/api/v1/site-ownership/#{site_id}", payload.to_json)
|
69
|
+
end
|
40
70
|
end
|
41
71
|
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module SFRest
|
4
|
+
# We need to keep this naming due to the way connection.rb autoloads things.
|
5
|
+
# rubocop: disable Naming/ClassAndModuleCamelCase
|
6
|
+
# Manage the site update priority feature.
|
7
|
+
class Site_update_priority
|
8
|
+
# rubocop: enable Naming/ClassAndModuleCamelCase
|
9
|
+
|
10
|
+
# @param [SFRest::Connection] conn
|
11
|
+
def initialize(conn)
|
12
|
+
@conn = conn
|
13
|
+
end
|
14
|
+
|
15
|
+
# Get current site update priority.
|
16
|
+
#
|
17
|
+
# @return [Array] an array of the current site update priority.
|
18
|
+
def current_update_priority
|
19
|
+
@conn.get('/api/v1/site-update-priority')
|
20
|
+
end
|
21
|
+
|
22
|
+
# Set the site update priority list.
|
23
|
+
# @param [Array] site node ids in the desired update order.
|
24
|
+
#
|
25
|
+
# @return [Array] an array containing the message given by the server.
|
26
|
+
def change_update_priority(priority)
|
27
|
+
payload = {
|
28
|
+
'priority' => priority
|
29
|
+
}.to_json
|
30
|
+
@conn.put('/api/v1/site-update-priority', payload)
|
31
|
+
end
|
32
|
+
|
33
|
+
# Reset the site update priority to the default.
|
34
|
+
#
|
35
|
+
# @return [Array] an array containing the message given by the server.
|
36
|
+
def reset_update_priority
|
37
|
+
@conn.delete('/api/v1/site-update-priority')
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module SFRest
|
4
|
+
# We need to keep this naming due to the way connection.rb autoloads things.
|
5
|
+
# rubocop: disable Naming/ClassAndModuleCamelCase
|
6
|
+
# Manage the site default ownership feature.
|
7
|
+
class Task_log_settings
|
8
|
+
# rubocop: enable Naming/ClassAndModuleCamelCase
|
9
|
+
|
10
|
+
# @param [SFRest::Connection] conn
|
11
|
+
def initialize(conn)
|
12
|
+
@conn = conn
|
13
|
+
end
|
14
|
+
|
15
|
+
# Get current task log settings.
|
16
|
+
#
|
17
|
+
# @return [Array] an array containing current settings.
|
18
|
+
def current_task_log_settings
|
19
|
+
@conn.get('/api/v1/task-log-settings')
|
20
|
+
end
|
21
|
+
|
22
|
+
# Set the site ownership settings.
|
23
|
+
# @param [String] The maximum log level that will be written to the log.
|
24
|
+
# @param [String] Level of Wip log messages to keep on successful completion.
|
25
|
+
#
|
26
|
+
# @return [Array] an array containing the message given by the server.
|
27
|
+
def edit_task_log_settings(wip_log_maximum_level, wip_log_level)
|
28
|
+
payload = {
|
29
|
+
'wip_log_maximum_level' => wip_log_maximum_level,
|
30
|
+
'wip_log_level' => wip_log_level
|
31
|
+
}
|
32
|
+
|
33
|
+
@conn.put('/api/v1/task-log-settings', payload.to_json)
|
34
|
+
end
|
35
|
+
|
36
|
+
# Reset current task log settings.
|
37
|
+
#
|
38
|
+
# @return [Array] an array containing the message given by the server.
|
39
|
+
def reset_task_log_settings
|
40
|
+
@conn.delete('/api/v1/task-log-settings')
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
data/lib/sfrest/version.rb
CHANGED
data/lib/sfrest.rb
CHANGED
@@ -23,10 +23,14 @@ require 'sfrest/info'
|
|
23
23
|
require 'sfrest/profile'
|
24
24
|
require 'sfrest/pathbuilder'
|
25
25
|
require 'sfrest/role'
|
26
|
+
require 'sfrest/security_settings'
|
26
27
|
require 'sfrest/site'
|
28
|
+
require 'sfrest/site_guard'
|
27
29
|
require 'sfrest/site_ownership'
|
30
|
+
require 'sfrest/site_update_priority'
|
28
31
|
require 'sfrest/stage'
|
29
32
|
require 'sfrest/task'
|
33
|
+
require 'sfrest/task_log_settings'
|
30
34
|
require 'sfrest/theme'
|
31
35
|
require 'sfrest/update'
|
32
36
|
require 'sfrest/usage'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sfrest
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.42
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ACSF Engineering
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-06-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: excon
|
@@ -116,10 +116,14 @@ files:
|
|
116
116
|
- lib/sfrest/pathbuilder.rb
|
117
117
|
- lib/sfrest/profile.rb
|
118
118
|
- lib/sfrest/role.rb
|
119
|
+
- lib/sfrest/security_settings.rb
|
119
120
|
- lib/sfrest/site.rb
|
121
|
+
- lib/sfrest/site_guard.rb
|
120
122
|
- lib/sfrest/site_ownership.rb
|
123
|
+
- lib/sfrest/site_update_priority.rb
|
121
124
|
- lib/sfrest/stage.rb
|
122
125
|
- lib/sfrest/task.rb
|
126
|
+
- lib/sfrest/task_log_settings.rb
|
123
127
|
- lib/sfrest/theme.rb
|
124
128
|
- lib/sfrest/update.rb
|
125
129
|
- lib/sfrest/usage.rb
|
@@ -145,7 +149,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
145
149
|
- !ruby/object:Gem::Version
|
146
150
|
version: '0'
|
147
151
|
requirements: []
|
148
|
-
rubygems_version: 3.
|
152
|
+
rubygems_version: 3.3.12
|
149
153
|
signing_key:
|
150
154
|
specification_version: 4
|
151
155
|
summary: Acquia Site Factory Rest API.
|