From d50b3a5625420ac411adf362fb4c6a6c0698f778 Mon Sep 17 00:00:00 2001 From: dharini Date: Wed, 2 Mar 2022 09:44:30 -0800 Subject: [PATCH] =?UTF-8?q?feat:=20=F0=9F=8E=B8=20add=20sync=5Finterval=5F?= =?UTF-8?q?seconds=20to=20plugin=20host-sets?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- addons/api/addon/generated/models/host-set.js | 7 +++++++ addons/api/addon/serializers/host-set.js | 4 ++-- addons/api/mirage/factories/host-set.js | 1 + addons/api/tests/unit/serializers/host-set-test.js | 6 ++++++ 4 files changed, 16 insertions(+), 2 deletions(-) diff --git a/addons/api/addon/generated/models/host-set.js b/addons/api/addon/generated/models/host-set.js index 9d8c13d6e..d7ad7210c 100644 --- a/addons/api/addon/generated/models/host-set.js +++ b/addons/api/addon/generated/models/host-set.js @@ -57,6 +57,13 @@ export default class GeneratedHostSetModel extends BaseModel { }) plugin; + @attr('number', { + description: + "The number of seconds between the time boundary syncs the hosts in this set using this host set's plugin. If not provided a system determined default is used", + defaultValue: 0, + }) + sync_interval_seconds; + // Azure specific @attr('string', { description: '', diff --git a/addons/api/addon/serializers/host-set.js b/addons/api/addon/serializers/host-set.js index 5749cd993..bc56b304e 100644 --- a/addons/api/addon/serializers/host-set.js +++ b/addons/api/addon/serializers/host-set.js @@ -2,8 +2,8 @@ import ApplicationSerializer from './application'; import { copy } from 'ember-copy'; const fieldByType = { - aws: ['preferred_endpoints', 'filters'], - azure: ['preferred_endpoints', 'filter'], + aws: ['preferred_endpoints', 'filters', 'sync_interval_seconds'], + azure: ['preferred_endpoints', 'filter', 'sync_interval_seconds'], }; export default class HostSetSerializer extends ApplicationSerializer { // =properties diff --git a/addons/api/mirage/factories/host-set.js b/addons/api/mirage/factories/host-set.js index 979d5c996..86c1bd8a0 100644 --- a/addons/api/mirage/factories/host-set.js +++ b/addons/api/mirage/factories/host-set.js @@ -29,6 +29,7 @@ export default factory.extend({ return result; } }, + sync_interval_seconds: () => datatype.number(), // AWS specific filters() { if (this.plugin?.name === 'aws') { diff --git a/addons/api/tests/unit/serializers/host-set-test.js b/addons/api/tests/unit/serializers/host-set-test.js index edb98d519..6dbfafff7 100644 --- a/addons/api/tests/unit/serializers/host-set-test.js +++ b/addons/api/tests/unit/serializers/host-set-test.js @@ -12,12 +12,14 @@ module('Unit | Serializer | host set', function (hooks) { compositeType: 'static', description: 'Description', host_catalog_id: '123', + sync_interval_seconds: 1, version: 1, }); assert.deepEqual(record.serialize(), { name: 'Host Set 1', description: 'Description', host_catalog_id: '123', + sync_interval_seconds: 1, version: 1, }); }); @@ -53,6 +55,7 @@ module('Unit | Serializer | host set', function (hooks) { host_catalog_id: '123', version: 1, preferred_endpoints: [{ value: 'option 1' }, { value: 'option 2' }], + sync_interval_seconds: 1, filters: [{ value: 'filter 1' }, { value: 'filter 2' }], }); assert.deepEqual(record.serialize(), { @@ -61,6 +64,7 @@ module('Unit | Serializer | host set', function (hooks) { host_catalog_id: '123', version: 1, preferred_endpoints: ['option 1', 'option 2'], + sync_interval_seconds: 1, attributes: { filters: ['filter 1', 'filter 2'], }, @@ -77,6 +81,7 @@ module('Unit | Serializer | host set', function (hooks) { host_catalog_id: '123', version: 1, preferred_endpoints: [{ value: 'option 1' }, { value: 'option 2' }], + sync_interval_seconds: 1, filter: 'filter 1 && filter 2', }); assert.deepEqual(record.serialize(), { @@ -85,6 +90,7 @@ module('Unit | Serializer | host set', function (hooks) { host_catalog_id: '123', version: 1, preferred_endpoints: ['option 1', 'option 2'], + sync_interval_seconds: 1, attributes: { filter: 'filter 1 && filter 2', },