sfrest 0.0.39 → 0.0.42
Sign up to get free protection for your applications and to get access to all the features.
- 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.
|