sfrest 0.0.37 → 0.0.40
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 +28 -0
- data/lib/sfrest/factory_standard_domain.rb +49 -0
- data/lib/sfrest/site_guard.rb +45 -0
- data/lib/sfrest/site_update_priority.rb +40 -0
- data/lib/sfrest/stage.rb +5 -2
- data/lib/sfrest/version.rb +1 -1
- data/lib/sfrest.rb +4 -0
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ef1480dd089e071458111ef6c8f2ea4e0e4aa7ff7bfc509e2c150f33167f0e69
|
4
|
+
data.tar.gz: f90b9028fbf5e4b117d8856144d271516c5f4af6e9ae04800d55c1f1cc2c48db
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e940d9ece6a6ad534a9d3025e3dfe2aa56ef3026f74d7efbdaa84fe9add7d9b62831d68d87a0bf12b7e2ccb5d91ba19eeb6b3822ce23e82b992c15d7d531a166
|
7
|
+
data.tar.gz: b488d33656b6ebc149f35f488da4963c34994fe762482a08717ae78f783db9d9354663803b7a9eedc5773afeeb69ed153c54a4efe1f7c66d5b38fb715d15f25b
|
data/lib/sfrest/connection.rb
CHANGED
@@ -167,13 +167,17 @@ module SFRest
|
|
167
167
|
centralized_role_management
|
168
168
|
codebase
|
169
169
|
collection
|
170
|
+
cron
|
170
171
|
domains
|
172
|
+
factory_standard_domain
|
171
173
|
group
|
172
174
|
info
|
173
175
|
profile
|
174
176
|
role
|
175
177
|
site
|
178
|
+
site_guard
|
176
179
|
site_ownership
|
180
|
+
site_update_priority
|
177
181
|
stage
|
178
182
|
task
|
179
183
|
theme
|
data/lib/sfrest/cron.rb
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module SFRest
|
4
|
+
# Manipulates SF cron jobs.
|
5
|
+
class Cron
|
6
|
+
# @param [SFRest::Connection] conn
|
7
|
+
def initialize(conn)
|
8
|
+
@conn = conn
|
9
|
+
end
|
10
|
+
|
11
|
+
# Gets a list of cron jobs
|
12
|
+
# @param [Integer] page
|
13
|
+
# @param [Integer] items per page
|
14
|
+
def get_cron_jobs(page = nil, limit = nil)
|
15
|
+
args = {}
|
16
|
+
args['page'] = page unless page.nil?
|
17
|
+
args['limit'] = limit unless limit.nil?
|
18
|
+
url = "/api/v1/cronjobs?#{args.map { |k, v| "#{k}=#{v}" }.join('&')}"
|
19
|
+
@conn.get(url)
|
20
|
+
end
|
21
|
+
|
22
|
+
# Gets a cron job by its node id
|
23
|
+
# @param [Integer] cron job nid
|
24
|
+
def get_cron_job(nid)
|
25
|
+
@conn.get("/api/v1/cronjobs/#{nid}")
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,49 @@
|
|
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 standard domain feature.
|
7
|
+
class Factory_standard_domain
|
8
|
+
# rubocop: enable Naming/ClassAndModuleCamelCase
|
9
|
+
|
10
|
+
# @param [SFRest::Connection] conn
|
11
|
+
def initialize(conn)
|
12
|
+
@conn = conn
|
13
|
+
end
|
14
|
+
|
15
|
+
# Get current factory standard domains settings
|
16
|
+
#
|
17
|
+
# @return [Array] an array of factory standard domains with their associated settings.
|
18
|
+
def factory_standard_domain_mapping
|
19
|
+
@conn.get('/api/v1/factory-standard-domains')
|
20
|
+
end
|
21
|
+
|
22
|
+
# Enable the factory standard domains settings for a given template name.
|
23
|
+
# @param [String] domain_template_name the domain template name.
|
24
|
+
# @param [Array] new_template the templates to be used.
|
25
|
+
#
|
26
|
+
# @return [Array] an array of factory standard domains with their associated settings.
|
27
|
+
def enable_factory_standard_domain_template(domain_template_name, new_template = [])
|
28
|
+
payload = {
|
29
|
+
'new_template' => new_template
|
30
|
+
}.to_json
|
31
|
+
@conn.put("/api/v1/factory-standard-domains/#{domain_template_name}", payload)
|
32
|
+
end
|
33
|
+
|
34
|
+
# Disable the centralized role management settings for a given role.
|
35
|
+
# @param [String] domain_template_name the domain template name.
|
36
|
+
#
|
37
|
+
# @return [Array] an array of factory standard domains with their associated settings.
|
38
|
+
def disable_factory_standard_domain_template(domain_template_name)
|
39
|
+
@conn.delete("/api/v1/factory-standard-domains/#{domain_template_name}")
|
40
|
+
end
|
41
|
+
|
42
|
+
# Backfills the factory standard domains using the templates defined.
|
43
|
+
#
|
44
|
+
# @return [Array] an array containing the message and task_id for that operation.
|
45
|
+
def backfill_domains
|
46
|
+
@conn.post('/api/v1/factory-standard-domains', {}.to_json)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
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
|
@@ -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
|
data/lib/sfrest/stage.rb
CHANGED
@@ -34,6 +34,7 @@ module SFRest
|
|
34
34
|
# @param [synchronize_all_users] only stage the user accounts required for the related collections and groups
|
35
35
|
# @param [Array] Stacks Array of stack ids to wipe
|
36
36
|
# @param [Boolean] skip_site_files site skip file transfer during staging
|
37
|
+
# @param [Array] skip_site_files_overwrite list of files to skip during staging
|
37
38
|
#
|
38
39
|
# @return [Integer] Id of the staging task created.
|
39
40
|
# rubocop:disable Metrics/ParameterLists
|
@@ -43,7 +44,8 @@ module SFRest
|
|
43
44
|
wipe_target_environment: false,
|
44
45
|
synchronize_all_users: true,
|
45
46
|
wipe_stacks: [],
|
46
|
-
skip_site_files: false
|
47
|
+
skip_site_files: false,
|
48
|
+
skip_site_files_overwrite: [])
|
47
49
|
raise InvalidApiVersion, staging_versions unless staging_versions.include? 2
|
48
50
|
|
49
51
|
payload = { 'to_env' => env, 'sites' => sites,
|
@@ -51,7 +53,8 @@ module SFRest
|
|
51
53
|
'wipe_target_environment' => wipe_target_environment,
|
52
54
|
'synchronize_all_users' => synchronize_all_users,
|
53
55
|
'wipe_stacks' => wipe_stacks,
|
54
|
-
'skip_site_files' => skip_site_files
|
56
|
+
'skip_site_files' => skip_site_files,
|
57
|
+
'skip_site_files_overwrite' => skip_site_files_overwrite }.to_json
|
55
58
|
@conn.post('/api/v2/stage', payload)
|
56
59
|
end
|
57
60
|
# rubocop:enable Metrics/ParameterLists
|
data/lib/sfrest/version.rb
CHANGED
data/lib/sfrest.rb
CHANGED
@@ -14,15 +14,19 @@ require 'sfrest/centralized_role_management'
|
|
14
14
|
require 'sfrest/codebase'
|
15
15
|
require 'sfrest/collection'
|
16
16
|
require 'sfrest/connection'
|
17
|
+
require 'sfrest/cron'
|
17
18
|
require 'sfrest/domains'
|
18
19
|
require 'sfrest/error'
|
20
|
+
require 'sfrest/factory_standard_domain'
|
19
21
|
require 'sfrest/group'
|
20
22
|
require 'sfrest/info'
|
21
23
|
require 'sfrest/profile'
|
22
24
|
require 'sfrest/pathbuilder'
|
23
25
|
require 'sfrest/role'
|
24
26
|
require 'sfrest/site'
|
27
|
+
require 'sfrest/site_guard'
|
25
28
|
require 'sfrest/site_ownership'
|
29
|
+
require 'sfrest/site_update_priority'
|
26
30
|
require 'sfrest/stage'
|
27
31
|
require 'sfrest/task'
|
28
32
|
require 'sfrest/theme'
|
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.40
|
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-04-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: excon
|
@@ -107,15 +107,19 @@ files:
|
|
107
107
|
- lib/sfrest/codebase.rb
|
108
108
|
- lib/sfrest/collection.rb
|
109
109
|
- lib/sfrest/connection.rb
|
110
|
+
- lib/sfrest/cron.rb
|
110
111
|
- lib/sfrest/domains.rb
|
111
112
|
- lib/sfrest/error.rb
|
113
|
+
- lib/sfrest/factory_standard_domain.rb
|
112
114
|
- lib/sfrest/group.rb
|
113
115
|
- lib/sfrest/info.rb
|
114
116
|
- lib/sfrest/pathbuilder.rb
|
115
117
|
- lib/sfrest/profile.rb
|
116
118
|
- lib/sfrest/role.rb
|
117
119
|
- lib/sfrest/site.rb
|
120
|
+
- lib/sfrest/site_guard.rb
|
118
121
|
- lib/sfrest/site_ownership.rb
|
122
|
+
- lib/sfrest/site_update_priority.rb
|
119
123
|
- lib/sfrest/stage.rb
|
120
124
|
- lib/sfrest/task.rb
|
121
125
|
- lib/sfrest/theme.rb
|