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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1e2e8fc07cf9577be1a4a1ccca84a3049b992e27e318a8b1d6d7fcd575f82fee
4
- data.tar.gz: 4c234cc4ce912626b82c1899a139026c02c214176a83018118e57d0714ef2dc1
3
+ metadata.gz: 1aaa8110a7f4f77dbf3e382c6eab356eaba212ac1e7c781549701e06e1dcfd76
4
+ data.tar.gz: 4547d55501b96104f8db759ecff0164b8ed7f2fd3aba313fd79c13975c74e7ac
5
5
  SHA512:
6
- metadata.gz: 60dc925219e31dce103270055b1dbf73285f4b6ee4a08d18f697603a4d85c17eeb04aeaf7c82c0155ceed9514867cb2a7830955632f7d08217070d4db2c0878b
7
- data.tar.gz: 65076385c8d487c6adc87d1981bf8a39005f9208056b0733ec2a322d80949d2f46808833bd762309e0280f3b760c45c8898bf93d40e50c1fcca4b3b51eac896c
6
+ metadata.gz: 3fe6355a532f008da04903c25e27e7f6ddf28541bcd29768979178c3a0dce17b776fe17b8ced00e7f23c02e6d247a46fd4099a1ff412bbdfe951fe8ca3e0382d
7
+ data.tar.gz: 36de7a3762555fa9b6ca39f270f0cee99f95661ccc760738e4fd5ccd4668689890f8507abd85921c66fb27a686ffbebd8532d8bda18b0c96378a4697ff550afc
@@ -174,10 +174,14 @@ module SFRest
174
174
  info
175
175
  profile
176
176
  role
177
+ security_settings
177
178
  site
179
+ site_guard
178
180
  site_ownership
181
+ site_update_priority
179
182
  stage
180
183
  task
184
+ task_log_settings
181
185
  theme
182
186
  update
183
187
  usage
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
@@ -2,5 +2,5 @@
2
2
 
3
3
  module SFRest
4
4
  # Just tracks the version of sfrest.
5
- VERSION = '0.0.39'
5
+ VERSION = '0.0.42'
6
6
  end
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.39
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-03-25 00:00:00.000000000 Z
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.2.17
152
+ rubygems_version: 3.3.12
149
153
  signing_key:
150
154
  specification_version: 4
151
155
  summary: Acquia Site Factory Rest API.