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', },