diff --git a/addons/api/addon/generated/models/target.js b/addons/api/addon/generated/models/target.js
index 2c7e3ae14..4cc169731 100644
--- a/addons/api/addon/generated/models/target.js
+++ b/addons/api/addon/generated/models/target.js
@@ -83,4 +83,17 @@ export default class GeneratedTargetModel extends BaseModel {
'An IP address or DNS name for the session to connect to. Cannot be used in conjunction with host sources.',
})
address;
+
+ @attr('number', {
+ isNestedAttribute: true,
+ description: 'The default port a target should use if present.',
+ })
+ default_port;
+
+ @attr('number', {
+ isNestedAttribute: true,
+ description:
+ "The default port that will be listened on by the client's local proxy.",
+ })
+ default_client_port;
}
diff --git a/addons/api/addon/models/target.js b/addons/api/addon/models/target.js
index 79a784e5e..1d8073371 100644
--- a/addons/api/addon/models/target.js
+++ b/addons/api/addon/models/target.js
@@ -18,12 +18,6 @@ export default class TargetModel extends GeneratedTargetModel {
// =attributes
- @attr('number', {
- isNestedAttribute: true,
- description: 'The default port a target should use if present.',
- })
- default_port;
-
/**
* @type Array
*/
diff --git a/addons/api/mirage/generated/factories/target.js b/addons/api/mirage/generated/factories/target.js
index cf868541a..f551efda2 100644
--- a/addons/api/mirage/generated/factories/target.js
+++ b/addons/api/mirage/generated/factories/target.js
@@ -17,5 +17,6 @@ export default Factory.extend({
updated_time: () => faker.date.recent(),
disabled: () => faker.datatype.boolean(),
default_port: () => faker.datatype.number(),
+ default_client_port: () => faker.datatype.number(),
version: () => faker.datatype.number(),
});
diff --git a/addons/api/tests/unit/serializers/target-test.js b/addons/api/tests/unit/serializers/target-test.js
index c531a311a..447a863e7 100644
--- a/addons/api/tests/unit/serializers/target-test.js
+++ b/addons/api/tests/unit/serializers/target-test.js
@@ -31,6 +31,7 @@ module('Unit | Serializer | target', function (hooks) {
type: 'org',
},
default_port: 1234,
+ default_client_port: 4321,
version: 1,
type: TYPE_TARGET_TCP,
address: '0.0.0.0',
@@ -51,6 +52,7 @@ module('Unit | Serializer | target', function (hooks) {
ingress_worker_filter: null,
attributes: {
default_port: 1234,
+ default_client_port: 4321,
},
address: '0.0.0.0',
});
@@ -157,6 +159,7 @@ module('Unit | Serializer | target', function (hooks) {
ingress_worker_filter: null,
attributes: {
default_port: 1234,
+ default_client_port: null,
},
address: null,
});
@@ -192,6 +195,7 @@ module('Unit | Serializer | target', function (hooks) {
ingress_worker_filter: null,
attributes: {
default_port: 1234,
+ default_client_port: null,
},
address: null,
});
@@ -227,6 +231,7 @@ module('Unit | Serializer | target', function (hooks) {
ingress_worker_filter: 'ingress worker',
attributes: {
default_port: 1234,
+ default_client_port: null,
},
address: null,
});
diff --git a/addons/core/translations/form/en-us.yaml b/addons/core/translations/form/en-us.yaml
index 9d76fa1f4..11af2b1fd 100644
--- a/addons/core/translations/form/en-us.yaml
+++ b/addons/core/translations/form/en-us.yaml
@@ -33,9 +33,6 @@ grant:
address:
label: Address
help: An IP, host name, or other routable address
-default_port:
- label: Default Port
- help: The default port on which to connect
current_password:
label: Current Password
new_password:
diff --git a/addons/core/translations/resources/en-us.yaml b/addons/core/translations/resources/en-us.yaml
index c57556183..281fd20ca 100644
--- a/addons/core/translations/resources/en-us.yaml
+++ b/addons/core/translations/resources/en-us.yaml
@@ -326,6 +326,12 @@ target:
worker_filter:
label: Worker Filter
help: Deprecated. Boolean expression to filter the workers that are allowed to satisfy this request.
+ default_port:
+ label: Default Port
+ help: The default port on which to connect.
+ default_client_port:
+ label: Default Client Port
+ help: The local proxy port on which to listen by default when a session is started on a client.
questions:
delete-host-sources:
title: Remove associated host sources?
diff --git a/ui/admin/app/components/form/target/details/index.hbs b/ui/admin/app/components/form/target/details/index.hbs
index 5b7f672ff..685358d9f 100644
--- a/ui/admin/app/components/form/target/details/index.hbs
+++ b/ui/admin/app/components/form/target/details/index.hbs
@@ -122,9 +122,9 @@
as |F|
>
{{t
- 'form.default_port.label'
+ 'resources.target.form.default_port.label'
}}
- {{t 'form.default_port.help'}}
+ {{t 'resources.target.form.default_port.help'}}
{{#if @model.errors.default_port}}
{{#each @model.errors.default_port as |error|}}
@@ -134,6 +134,29 @@
{{/if}}
+
+ {{t 'resources.target.form.default_client_port.label'}}
+ {{t
+ 'resources.target.form.default_client_port.help'
+ }}
+ {{#if @model.errors.default_client_port}}
+
+ {{#each @model.errors.default_client_port as |error|}}
+ {{error.message}}
+ {{/each}}
+
+ {{/if}}
+
+