sfrest 0.0.37 → 0.0.40
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 +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
|