diff --git a/.prettierignore b/.prettierignore index 0855afaae7..879c2b7310 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,5 +1,5 @@ # Ignore generated interfaces -frontend/controller/interfaces/generated-from-swagger +frontend/awx/interfaces/generated-from-swagger .dockerignore .gitignore diff --git a/cypress.config.ts b/cypress.config.ts index a4c71d010d..4252551b85 100644 --- a/cypress.config.ts +++ b/cypress.config.ts @@ -61,7 +61,7 @@ export default defineConfig({ }, }, }, - specPattern: 'frontend/controller/**/*.cy.tsx', + specPattern: 'frontend/awx/**/*.cy.tsx', supportFile: 'cypress/support/component.ts', }, }); diff --git a/cypress/e2e/controller/access/organizations.cy.ts b/cypress/e2e/awx/access/organizations.cy.ts similarity index 93% rename from cypress/e2e/controller/access/organizations.cy.ts rename to cypress/e2e/awx/access/organizations.cy.ts index 2d231895ee..abcbcee43c 100644 --- a/cypress/e2e/controller/access/organizations.cy.ts +++ b/cypress/e2e/awx/access/organizations.cy.ts @@ -2,7 +2,7 @@ /// import { randomString } from '../../../../framework/utils/random-string'; -import { Organization } from '../../../../frontend/controller/interfaces/Organization'; +import { Organization } from '../../../../frontend/awx/interfaces/Organization'; import { ItemsResponse } from '../../../../frontend/Data'; describe('organizations', () => { diff --git a/cypress/e2e/controller/access/teams.cy.ts b/cypress/e2e/awx/access/teams.cy.ts similarity index 97% rename from cypress/e2e/controller/access/teams.cy.ts rename to cypress/e2e/awx/access/teams.cy.ts index 6e3a64b27a..311ac7b4ff 100644 --- a/cypress/e2e/controller/access/teams.cy.ts +++ b/cypress/e2e/awx/access/teams.cy.ts @@ -2,9 +2,9 @@ /// import { randomString } from '../../../../framework/utils/random-string'; -import { Organization } from '../../../../frontend/controller/interfaces/Organization'; -import { User } from '../../../../frontend/controller/interfaces/User'; -import { Team } from '../../../../frontend/controller/interfaces/Team'; +import { Organization } from '../../../../frontend/awx/interfaces/Organization'; +import { User } from '../../../../frontend/awx/interfaces/User'; +import { Team } from '../../../../frontend/awx/interfaces/Team'; describe('teams', () => { let organization: Organization; diff --git a/cypress/e2e/controller/access/users.cy.ts b/cypress/e2e/awx/access/users.cy.ts similarity index 100% rename from cypress/e2e/controller/access/users.cy.ts rename to cypress/e2e/awx/access/users.cy.ts diff --git a/cypress/e2e/controller/resources/inventories.cy.ts b/cypress/e2e/awx/resources/inventories.cy.ts similarity index 100% rename from cypress/e2e/controller/resources/inventories.cy.ts rename to cypress/e2e/awx/resources/inventories.cy.ts diff --git a/cypress/e2e/controller/resources/projects.cy.ts b/cypress/e2e/awx/resources/projects.cy.ts similarity index 97% rename from cypress/e2e/controller/resources/projects.cy.ts rename to cypress/e2e/awx/resources/projects.cy.ts index 1bf8e421ff..853c0c189c 100644 --- a/cypress/e2e/controller/resources/projects.cy.ts +++ b/cypress/e2e/awx/resources/projects.cy.ts @@ -2,8 +2,8 @@ /// import { randomString } from '../../../../framework/utils/random-string'; -import { Organization } from '../../../../frontend/controller/interfaces/Organization'; -import { Project } from '../../../../frontend/controller/interfaces/Project'; +import { Organization } from '../../../../frontend/awx/interfaces/Organization'; +import { Project } from '../../../../frontend/awx/interfaces/Project'; import { ItemsResponse } from '../../../../frontend/Data'; describe('projects', () => { diff --git a/cypress/support/commands.ts b/cypress/support/commands.ts index fc243d5f4a..33aaf30d17 100644 --- a/cypress/support/commands.ts +++ b/cypress/support/commands.ts @@ -57,13 +57,13 @@ Cypress.Commands.add('login', () => { const password = Cypress.env('password') ? (Cypress.env('password') as string) : 'admin'; cy.clickButton(/^Add automation server$/); - cy.typeByLabel(/^Name$/, 'Controller'); + cy.typeByLabel(/^Name$/, 'AWX'); cy.typeByLabel(/^Url$/, server); cy.get('.pf-c-select__toggle').click(); cy.clickButton('AWX Ansible server'); cy.get('button[type=submit]').click(); - cy.contains('a', /^Controller$/).click(); + cy.contains('a', /^AWX$/).click(); cy.typeByLabel(/^Username$/, username); cy.typeByLabel(/^Password$/, password); cy.get('button[type=submit]').click(); diff --git a/docs/DEVELOPMENT.md b/docs/DEVELOPMENT.md index 1018972f50..94e8fce49c 100644 --- a/docs/DEVELOPMENT.md +++ b/docs/DEVELOPMENT.md @@ -10,23 +10,23 @@ This UI will be the single visible component of the platform and should be a sma The project is broken into three parts. -| Path | Description | -| ---------- | --------------------------------------------------------------------------------------- | -| /frontend | The React web application for the Ansible UI. | -| /proxy | The proxy that hosts the web application and proxies calls to controller and hub hosts. | -| /framework | A framework for building applications using [PatternFly](https://www.patternfly.org) | +| Path | Description | +| ---------- | ------------------------------------------------------------------------------------ | +| /frontend | The React web application for the Ansible UI. | +| /proxy | The proxy that hosts the web application and proxies calls to AWX and hub hosts. | +| /framework | A framework for building applications using [PatternFly](https://www.patternfly.org) | -In addition the frontend is broken down into the structure needed for supporting both controller, hub, and EDA. +In addition the frontend is broken down into the structure needed for supporting both AWX, hub, and EDA. | Path | Description | | ---------------------- | ----------------------------------------------------- | -| /frontend/controller | The source code for the controller UI. | +| /frontend/awx | The source code for the AWX UI. | | /frontend/hub | The source code for the hub UI. | | /frontend/event-driven | The source code for the event driven architecture UI. | Under each one of these, the directory structure should match the use navigation that is shown in the UI. -> Example: /frontend/controller/access/users +> Example: /frontend/awx/access/users ## Testing diff --git a/frontend/Data.tsx b/frontend/Data.tsx index 53404207a0..c926dca0a0 100644 --- a/frontend/Data.tsx +++ b/frontend/Data.tsx @@ -184,7 +184,7 @@ async function requestCommon( 'msg' in body && typeof body.msg === 'string' ) { - error.name = 'Controller Error'; + error.name = 'Error'; error.message = body.msg; } return error; diff --git a/frontend/Main.tsx b/frontend/Main.tsx index bfe3a00300..6904102864 100644 --- a/frontend/Main.tsx +++ b/frontend/Main.tsx @@ -10,7 +10,7 @@ import { Disclaimer } from './common/Disclaimer'; import { Login } from './common/Login'; import { PageNotFound } from './common/PageNotFound'; import { shouldShowAutmationServers } from './common/should-show-autmation-servers'; -import { Controller } from './controller/Controller'; +import { AWX } from './awx/Awx'; import { EventDriven } from './eda/EventDriven'; import { Hub } from './hub/Hub'; import { RouteE } from './Routes'; @@ -35,7 +35,7 @@ export default function Main() { function Routing() { const navigate = useNavigate(); - const { showAutomationServers, showController, showHub, showEda } = shouldShowAutmationServers(); + const { showAutomationServers, showAWX, showHub, showEda } = shouldShowAutmationServers(); return ( @@ -43,7 +43,7 @@ function Routing() { {showAutomationServers && ( } /> )} - {showController && } />} + {showAWX && } />} {showHub && } />} {showEda && } />} } /> diff --git a/frontend/Routes.ts b/frontend/Routes.ts index c370ac2ee0..782371164a 100644 --- a/frontend/Routes.ts +++ b/frontend/Routes.ts @@ -3,7 +3,7 @@ export enum RouteE { Login = '/login', - Controller = '/controller', + AWX = '/controller', // Views Dashboard = '/controller/dashboard', @@ -121,10 +121,10 @@ export enum RouteE { APIToken = '/hub/api-token', - ControllerDebug = '/controller/debug', + AwxDebug = '/controller/debug', AutomationServers = '/automation-servers', - ControllerAutomationServers = '/controller/automation-servers', + AwxAutomationServers = '/controller/automation-servers', HubAutomationServers = '/hub/automation-servers', // Event Driven Automation diff --git a/frontend/controller/Controller.tsx b/frontend/awx/Awx.tsx similarity index 69% rename from frontend/controller/Controller.tsx rename to frontend/awx/Awx.tsx index c887f424c4..cbd2cf49ad 100644 --- a/frontend/controller/Controller.tsx +++ b/frontend/awx/Awx.tsx @@ -3,19 +3,19 @@ import { useState } from 'react'; import { AnsibleMasthead } from '../common/Masthead'; import { WebSocketProvider } from './common/useAwxWebSocket'; import { ActiveUserProvider } from '../common/useActiveUser'; -import { ControllerRouter } from './ControllerRouter'; -import { ControllerSidebar } from './ControllerSidebar'; +import { AwxRouter } from './AwxRouter'; +import { AwxSidebar } from './AwxSidebar'; -export function Controller() { +export function AWX() { const [isNavOpen, setNavOpen] = useState(() => window.innerWidth >= 1200); return ( } - sidebar={} + sidebar={} > - + diff --git a/frontend/controller/ControllerRouter.tsx b/frontend/awx/AwxRouter.tsx similarity index 54% rename from frontend/controller/ControllerRouter.tsx rename to frontend/awx/AwxRouter.tsx index 2aec2c002f..a7dcc6e185 100644 --- a/frontend/controller/ControllerRouter.tsx +++ b/frontend/awx/AwxRouter.tsx @@ -33,7 +33,7 @@ import Settings from './settings/Settings'; import Jobs from './views/jobs/Jobs'; import { WorkflowJobTemplateDetail } from './resources/templates/WorkflowJobTemplateDetail'; -export function ControllerRouter() { +export function AwxRouter() { return ( } /> - } /> - } /> + } /> + } /> {/* } /> */} {/* } /> */} {/* } /> */} - } /> + } /> } /> } /> } /> - } /> + } /> - } /> - } - /> + } /> + } /> {/* } /> */} - } /> + } /> - } /> + } /> + } /> } - /> - } /> } /> } /> - } /> - } /> - } /> - } /> - } - /> + } /> + } /> + } /> + } /> + } /> - } /> - } /> - } /> - } /> - } - /> + } /> + } /> + } /> + } /> + } /> {/* } /> */} {/* } /> */} {/* } /> */} - } - /> + } /> - } /> + } /> } /> - } - /> + } /> {/* } /> */} } /> - } /> + } /> - } /> + } /> ); diff --git a/frontend/controller/ControllerSidebar.tsx b/frontend/awx/AwxSidebar.tsx similarity index 90% rename from frontend/controller/ControllerSidebar.tsx rename to frontend/awx/AwxSidebar.tsx index 8053540c30..612921b5eb 100644 --- a/frontend/controller/ControllerSidebar.tsx +++ b/frontend/awx/AwxSidebar.tsx @@ -7,10 +7,7 @@ import { CommonSidebar } from '../common/CommonSidebar'; import { isRouteActive } from '../common/Masthead'; import { RouteE } from '../Routes'; -export function ControllerSidebar(props: { - isNavOpen: boolean; - setNavOpen: (open: boolean) => void; -}) { +export function AwxSidebar(props: { isNavOpen: boolean; setNavOpen: (open: boolean) => void }) { const { isNavOpen, setNavOpen } = props; const { t } = useTranslation(); const location = useLocation(); @@ -25,15 +22,6 @@ export function ControllerSidebar(props: { ); return ( - {/* */} */} {process.env.NODE_ENV === 'development' && ( onClick(RouteE.ControllerDebug)} + isActive={isRouteActive(RouteE.AwxDebug, location)} + onClick={() => onClick(RouteE.AwxDebug)} > {t('Debug')} diff --git a/frontend/controller/access/common/AccessNav.tsx b/frontend/awx/access/common/AccessNav.tsx similarity index 100% rename from frontend/controller/access/common/AccessNav.tsx rename to frontend/awx/access/common/AccessNav.tsx diff --git a/frontend/controller/access/common/DeleteRoleConfirmation.tsx b/frontend/awx/access/common/DeleteRoleConfirmation.tsx similarity index 100% rename from frontend/controller/access/common/DeleteRoleConfirmation.tsx rename to frontend/awx/access/common/DeleteRoleConfirmation.tsx diff --git a/frontend/controller/access/common/ResourceAccessList.tsx b/frontend/awx/access/common/ResourceAccessList.tsx similarity index 98% rename from frontend/controller/access/common/ResourceAccessList.tsx rename to frontend/awx/access/common/ResourceAccessList.tsx index 70df3e0c5f..dc76aceb75 100644 --- a/frontend/controller/access/common/ResourceAccessList.tsx +++ b/frontend/awx/access/common/ResourceAccessList.tsx @@ -8,7 +8,7 @@ import { useActiveUser } from '../../../common/useActiveUser'; import { RouteE } from '../../../Routes'; import { Team } from '../../interfaces/Team'; import { AccessRole, User } from '../../interfaces/User'; -import { useControllerView } from '../../useControllerView'; +import { useAwxView } from '../../useAwxView'; import { useDeleteAccessRole } from './useDeleteAccessRole'; import { useSelectUsersAddTeams } from '../users/hooks/useSelectUsersAddTeams'; import { useUsersFilters } from '../users/hooks/useUsersFilters'; @@ -43,7 +43,7 @@ export function ResourceAccessList(props: { url: string; resource: ResourceType const tableColumns = useAccessColumns(undefined, deleteRole); - const view = useControllerView({ + const view = useAwxView({ url: url, queryParams: { order_by: 'first_name', diff --git a/frontend/controller/access/common/useAccessColumns.tsx b/frontend/awx/access/common/useAccessColumns.tsx similarity index 100% rename from frontend/controller/access/common/useAccessColumns.tsx rename to frontend/awx/access/common/useAccessColumns.tsx diff --git a/frontend/controller/access/common/useDeleteAccessRole.tsx b/frontend/awx/access/common/useDeleteAccessRole.tsx similarity index 100% rename from frontend/controller/access/common/useDeleteAccessRole.tsx rename to frontend/awx/access/common/useDeleteAccessRole.tsx diff --git a/frontend/controller/access/common/useRemoveUserFromResource.tsx b/frontend/awx/access/common/useRemoveUserFromResource.tsx similarity index 100% rename from frontend/controller/access/common/useRemoveUserFromResource.tsx rename to frontend/awx/access/common/useRemoveUserFromResource.tsx diff --git a/frontend/controller/access/common/useUserAndTeamRolesLists.tsx b/frontend/awx/access/common/useUserAndTeamRolesLists.tsx similarity index 100% rename from frontend/controller/access/common/useUserAndTeamRolesLists.tsx rename to frontend/awx/access/common/useUserAndTeamRolesLists.tsx diff --git a/frontend/controller/access/common/useViewActivityStream.tsx b/frontend/awx/access/common/useViewActivityStream.tsx similarity index 100% rename from frontend/controller/access/common/useViewActivityStream.tsx rename to frontend/awx/access/common/useViewActivityStream.tsx diff --git a/frontend/controller/access/organizations/OrganizationForm.tsx b/frontend/awx/access/organizations/OrganizationForm.tsx similarity index 97% rename from frontend/controller/access/organizations/OrganizationForm.tsx rename to frontend/awx/access/organizations/OrganizationForm.tsx index 1b034de054..6213c47e6e 100644 --- a/frontend/controller/access/organizations/OrganizationForm.tsx +++ b/frontend/awx/access/organizations/OrganizationForm.tsx @@ -9,7 +9,7 @@ import { requestGet, requestPatch, requestPost, swrOptions } from '../../../Data import { RouteE } from '../../../Routes'; import { Organization } from '../../interfaces/Organization'; import { InstanceGroup } from '../../interfaces/InstanceGroup'; -import { getControllerError } from '../../useControllerView'; +import { getAwxError } from '../../useAwxView'; import { PageFormExecutionEnvironmentSelect } from '../../administration/execution-environments/components/PageFormExecutionEnvironmentSelect'; import { PageFormInstanceGroupSelect } from '../../administration/instance-groups/components/PageFormInstanceGroupSelect'; @@ -40,7 +40,7 @@ export function CreateOrganization() { await Promise.all(igRequests); navigate(RouteE.OrganizationDetails.replace(':id', organization.id.toString())); } catch (err) { - setError(await getControllerError(err)); + setError(await getAwxError(err)); } }; const onCancel = () => navigate(-1); @@ -109,7 +109,7 @@ export function EditOrganization() { await Promise.all(igRequests); navigate(RouteE.OrganizationDetails.replace(':id', organization.id.toString())); } catch (err) { - setError(await getControllerError(err)); + setError(await getAwxError(err)); } }; const onCancel = () => navigate(-1); diff --git a/frontend/controller/access/organizations/OrganizationPage/OrganizationAccess.tsx b/frontend/awx/access/organizations/OrganizationPage/OrganizationAccess.tsx similarity index 100% rename from frontend/controller/access/organizations/OrganizationPage/OrganizationAccess.tsx rename to frontend/awx/access/organizations/OrganizationPage/OrganizationAccess.tsx diff --git a/frontend/controller/access/organizations/OrganizationPage/OrganizationDetails.tsx b/frontend/awx/access/organizations/OrganizationPage/OrganizationDetails.tsx similarity index 100% rename from frontend/controller/access/organizations/OrganizationPage/OrganizationDetails.tsx rename to frontend/awx/access/organizations/OrganizationPage/OrganizationDetails.tsx diff --git a/frontend/controller/access/organizations/OrganizationPage/OrganizationPage.tsx b/frontend/awx/access/organizations/OrganizationPage/OrganizationPage.tsx similarity index 100% rename from frontend/controller/access/organizations/OrganizationPage/OrganizationPage.tsx rename to frontend/awx/access/organizations/OrganizationPage/OrganizationPage.tsx diff --git a/frontend/controller/access/organizations/OrganizationPage/OrganizationTeams.tsx b/frontend/awx/access/organizations/OrganizationPage/OrganizationTeams.tsx similarity index 92% rename from frontend/controller/access/organizations/OrganizationPage/OrganizationTeams.tsx rename to frontend/awx/access/organizations/OrganizationPage/OrganizationTeams.tsx index 0faa3430ff..761501cf4d 100644 --- a/frontend/controller/access/organizations/OrganizationPage/OrganizationTeams.tsx +++ b/frontend/awx/access/organizations/OrganizationPage/OrganizationTeams.tsx @@ -5,7 +5,7 @@ import { PageTable } from '../../../../../framework'; import { RouteE } from '../../../../Routes'; import { Organization } from '../../../interfaces/Organization'; import { Team } from '../../../interfaces/Team'; -import { useControllerView } from '../../../useControllerView'; +import { useAwxView } from '../../../useAwxView'; import { useTeamsColumns } from '../../teams/hooks/useTeamsColumns'; import { useTeamsFilters } from '../../teams/hooks/useTeamsFilters'; @@ -15,7 +15,7 @@ export function OrganizationTeams(props: { organization: Organization }) { const history = useNavigate(); const toolbarFilters = useTeamsFilters(); const tableColumns = useTeamsColumns(); - const view = useControllerView({ + const view = useAwxView({ url: `/api/v2/organizations/${organization.id}/teams/`, toolbarFilters, tableColumns, diff --git a/frontend/controller/access/organizations/Organizations.tsx b/frontend/awx/access/organizations/Organizations.tsx similarity index 97% rename from frontend/controller/access/organizations/Organizations.tsx rename to frontend/awx/access/organizations/Organizations.tsx index 00faacab66..678738971d 100644 --- a/frontend/controller/access/organizations/Organizations.tsx +++ b/frontend/awx/access/organizations/Organizations.tsx @@ -30,9 +30,9 @@ import { useDescriptionToolbarFilter, useModifiedByToolbarFilter, useNameToolbarFilter, -} from '../../common/controller-toolbar-filters'; +} from '../../common/awx-toolbar-filters'; import { Organization } from '../../interfaces/Organization'; -import { useControllerView } from '../../useControllerView'; +import { useAwxView } from '../../useAwxView'; import { AccessNav } from '../common/AccessNav'; import { useSelectUsersAddOrganizations } from '../users/hooks/useSelectUsersAddOrganizations'; import { useSelectUsersRemoveOrganizations } from '../users/hooks/useSelectUsersRemoveOrganizations'; @@ -46,7 +46,7 @@ export function Organizations() { const tableColumns = useOrganizationsColumns(); - const view = useControllerView({ + const view = useAwxView({ url: '/api/v2/organizations/', toolbarFilters, tableColumns, diff --git a/frontend/controller/access/organizations/components/PageFormOrganizationSelect.tsx b/frontend/awx/access/organizations/components/PageFormOrganizationSelect.tsx similarity index 100% rename from frontend/controller/access/organizations/components/PageFormOrganizationSelect.tsx rename to frontend/awx/access/organizations/components/PageFormOrganizationSelect.tsx diff --git a/frontend/controller/access/organizations/hooks/useAddOrganizationsToUsers.tsx b/frontend/awx/access/organizations/hooks/useAddOrganizationsToUsers.tsx similarity index 100% rename from frontend/controller/access/organizations/hooks/useAddOrganizationsToUsers.tsx rename to frontend/awx/access/organizations/hooks/useAddOrganizationsToUsers.tsx diff --git a/frontend/controller/access/organizations/hooks/useDeleteOrganizations.tsx b/frontend/awx/access/organizations/hooks/useDeleteOrganizations.tsx similarity index 100% rename from frontend/controller/access/organizations/hooks/useDeleteOrganizations.tsx rename to frontend/awx/access/organizations/hooks/useDeleteOrganizations.tsx diff --git a/frontend/controller/access/organizations/hooks/useRemoveOrganizationsFromUsers.tsx b/frontend/awx/access/organizations/hooks/useRemoveOrganizationsFromUsers.tsx similarity index 100% rename from frontend/controller/access/organizations/hooks/useRemoveOrganizationsFromUsers.tsx rename to frontend/awx/access/organizations/hooks/useRemoveOrganizationsFromUsers.tsx diff --git a/frontend/controller/access/organizations/hooks/useSelectOrganization.tsx b/frontend/awx/access/organizations/hooks/useSelectOrganization.tsx similarity index 75% rename from frontend/controller/access/organizations/hooks/useSelectOrganization.tsx rename to frontend/awx/access/organizations/hooks/useSelectOrganization.tsx index 55786f2ca2..d9776eb667 100644 --- a/frontend/controller/access/organizations/hooks/useSelectOrganization.tsx +++ b/frontend/awx/access/organizations/hooks/useSelectOrganization.tsx @@ -1,17 +1,14 @@ import { useTranslation } from 'react-i18next'; import { useSelectDialog } from '../../../../../framework'; import { Organization } from '../../../interfaces/Organization'; -import { useControllerView } from '../../../useControllerView'; -import { - useOrganizationsColumns, - useOrganizationsFilters, -} from '../../organizations/Organizations'; +import { useAwxView } from '../../../useAwxView'; +import { useOrganizationsColumns, useOrganizationsFilters } from '../Organizations'; export function useSelectOrganization() { const { t } = useTranslation(); const toolbarFilters = useOrganizationsFilters(); const tableColumns = useOrganizationsColumns({ disableLinks: true }); - const view = useControllerView({ + const view = useAwxView({ url: '/api/v2/organizations/', toolbarFilters, tableColumns, diff --git a/frontend/controller/access/organizations/hooks/useSelectOrganizations.tsx b/frontend/awx/access/organizations/hooks/useSelectOrganizations.tsx similarity index 91% rename from frontend/controller/access/organizations/hooks/useSelectOrganizations.tsx rename to frontend/awx/access/organizations/hooks/useSelectOrganizations.tsx index af1f1520c8..7206bde361 100644 --- a/frontend/controller/access/organizations/hooks/useSelectOrganizations.tsx +++ b/frontend/awx/access/organizations/hooks/useSelectOrganizations.tsx @@ -2,7 +2,7 @@ import { useCallback } from 'react'; import { usePageDialog } from '../../../../../framework'; import { SelectMultipleDialog } from '../../../../../framework/useSelectMultipleDialog'; import { Organization } from '../../../interfaces/Organization'; -import { useControllerView } from '../../../useControllerView'; +import { useAwxView } from '../../../useAwxView'; import { useOrganizationsColumns, useOrganizationsFilters } from '../Organizations'; function SelectOrganizations(props: { @@ -11,7 +11,7 @@ function SelectOrganizations(props: { }) { const toolbarFilters = useOrganizationsFilters(); const tableColumns = useOrganizationsColumns({ disableLinks: true }); - const view = useControllerView({ + const view = useAwxView({ url: '/api/v2/organizations/', toolbarFilters, tableColumns, diff --git a/frontend/controller/access/organizations/hooks/useSelectOrganizationsAddUsers.tsx b/frontend/awx/access/organizations/hooks/useSelectOrganizationsAddUsers.tsx similarity index 100% rename from frontend/controller/access/organizations/hooks/useSelectOrganizationsAddUsers.tsx rename to frontend/awx/access/organizations/hooks/useSelectOrganizationsAddUsers.tsx diff --git a/frontend/controller/access/organizations/hooks/useSelectOrganizationsRemoveUsers.tsx b/frontend/awx/access/organizations/hooks/useSelectOrganizationsRemoveUsers.tsx similarity index 100% rename from frontend/controller/access/organizations/hooks/useSelectOrganizationsRemoveUsers.tsx rename to frontend/awx/access/organizations/hooks/useSelectOrganizationsRemoveUsers.tsx diff --git a/frontend/controller/access/roles/AddRolesForm.tsx b/frontend/awx/access/roles/AddRolesForm.tsx similarity index 100% rename from frontend/controller/access/roles/AddRolesForm.tsx rename to frontend/awx/access/roles/AddRolesForm.tsx diff --git a/frontend/controller/access/roles/Roles.tsx b/frontend/awx/access/roles/Roles.tsx similarity index 100% rename from frontend/controller/access/roles/Roles.tsx rename to frontend/awx/access/roles/Roles.tsx diff --git a/frontend/controller/access/roles/useRoleMetadata.tsx b/frontend/awx/access/roles/useRoleMetadata.tsx similarity index 100% rename from frontend/controller/access/roles/useRoleMetadata.tsx rename to frontend/awx/access/roles/useRoleMetadata.tsx diff --git a/frontend/controller/access/teams/TeamForm.cy.tsx b/frontend/awx/access/teams/TeamForm.cy.tsx similarity index 100% rename from frontend/controller/access/teams/TeamForm.cy.tsx rename to frontend/awx/access/teams/TeamForm.cy.tsx diff --git a/frontend/controller/access/teams/TeamForm.tsx b/frontend/awx/access/teams/TeamForm.tsx similarity index 96% rename from frontend/controller/access/teams/TeamForm.tsx rename to frontend/awx/access/teams/TeamForm.tsx index a5093df9cf..e5e495f871 100644 --- a/frontend/controller/access/teams/TeamForm.tsx +++ b/frontend/awx/access/teams/TeamForm.tsx @@ -9,7 +9,7 @@ import { ItemsResponse, requestGet, requestPatch, requestPost, swrOptions } from import { RouteE } from '../../../Routes'; import { Organization } from '../../interfaces/Organization'; import { Team } from '../../interfaces/Team'; -import { getControllerError } from '../../useControllerView'; +import { getAwxError } from '../../useAwxView'; import { PageFormOrganizationSelect } from '../organizations/components/PageFormOrganizationSelect'; export function CreateTeam() { @@ -29,7 +29,7 @@ export function CreateTeam() { const team = await requestPost('/api/v2/teams/', editedTeam); navigate(RouteE.TeamDetails.replace(':id', team.id.toString())); } catch (err) { - setError(await getControllerError(err)); + setError(await getAwxError(err)); } }; return ( @@ -75,7 +75,7 @@ export function EditTeam() { await requestPatch(`/api/v2/teams/${id}/`, editedTeam); navigate(-1); } catch (err) { - setError(await getControllerError(err)); + setError(await getAwxError(err)); } }; if (!team) { diff --git a/frontend/controller/access/teams/TeamPage/TeamAccess.cy.tsx b/frontend/awx/access/teams/TeamPage/TeamAccess.cy.tsx similarity index 100% rename from frontend/controller/access/teams/TeamPage/TeamAccess.cy.tsx rename to frontend/awx/access/teams/TeamPage/TeamAccess.cy.tsx diff --git a/frontend/controller/access/teams/TeamPage/TeamAccess.tsx b/frontend/awx/access/teams/TeamPage/TeamAccess.tsx similarity index 100% rename from frontend/controller/access/teams/TeamPage/TeamAccess.tsx rename to frontend/awx/access/teams/TeamPage/TeamAccess.tsx diff --git a/frontend/controller/access/teams/TeamPage/TeamDetails.cy.tsx b/frontend/awx/access/teams/TeamPage/TeamDetails.cy.tsx similarity index 100% rename from frontend/controller/access/teams/TeamPage/TeamDetails.cy.tsx rename to frontend/awx/access/teams/TeamPage/TeamDetails.cy.tsx diff --git a/frontend/controller/access/teams/TeamPage/TeamDetails.tsx b/frontend/awx/access/teams/TeamPage/TeamDetails.tsx similarity index 100% rename from frontend/controller/access/teams/TeamPage/TeamDetails.tsx rename to frontend/awx/access/teams/TeamPage/TeamDetails.tsx diff --git a/frontend/controller/access/teams/TeamPage/TeamPage.cy.tsx b/frontend/awx/access/teams/TeamPage/TeamPage.cy.tsx similarity index 100% rename from frontend/controller/access/teams/TeamPage/TeamPage.cy.tsx rename to frontend/awx/access/teams/TeamPage/TeamPage.cy.tsx diff --git a/frontend/controller/access/teams/TeamPage/TeamPage.tsx b/frontend/awx/access/teams/TeamPage/TeamPage.tsx similarity index 100% rename from frontend/controller/access/teams/TeamPage/TeamPage.tsx rename to frontend/awx/access/teams/TeamPage/TeamPage.tsx diff --git a/frontend/controller/access/teams/TeamPage/TeamRoles.tsx b/frontend/awx/access/teams/TeamPage/TeamRoles.tsx similarity index 95% rename from frontend/controller/access/teams/TeamPage/TeamRoles.tsx rename to frontend/awx/access/teams/TeamPage/TeamRoles.tsx index 20f0eb2f49..608adb5372 100644 --- a/frontend/controller/access/teams/TeamPage/TeamRoles.tsx +++ b/frontend/awx/access/teams/TeamPage/TeamRoles.tsx @@ -8,7 +8,7 @@ import { IPageAction, PageActionType, PageTable } from '../../../../../framework import { RouteE } from '../../../../Routes'; import { Role } from '../../../interfaces/Role'; import { Team } from '../../../interfaces/Team'; -import { useControllerView } from '../../../useControllerView'; +import { useAwxView } from '../../../useAwxView'; import { useRolesColumns, useRolesFilters } from '../../roles/Roles'; export function TeamRoles(props: { team: Team }) { @@ -17,7 +17,7 @@ export function TeamRoles(props: { team: Team }) { const toolbarFilters = useRolesFilters(); const tableColumns = useRolesColumns(); const navigate = useNavigate(); - const view = useControllerView({ + const view = useAwxView({ url: `/api/v2/teams/${team.id}/roles/`, toolbarFilters, tableColumns, diff --git a/frontend/controller/access/teams/Teams.cy.tsx b/frontend/awx/access/teams/Teams.cy.tsx similarity index 93% rename from frontend/controller/access/teams/Teams.cy.tsx rename to frontend/awx/access/teams/Teams.cy.tsx index 27fbf97148..a595e3fd09 100644 --- a/frontend/controller/access/teams/Teams.cy.tsx +++ b/frontend/awx/access/teams/Teams.cy.tsx @@ -112,7 +112,7 @@ describe('Teams.cy.ts', () => { ); - // Refresh needed so that useControllerView picks up the updated intercept for empty state in the next set of tests + // Refresh needed so that useAwxView picks up the updated intercept for empty state in the next set of tests cy.get('button[id="refresh"]').click(); cy.contains('Error loading teams'); }); @@ -151,7 +151,7 @@ describe('Teams.cy.ts', () => { ); - // Refresh needed so that useControllerView picks up the updated intercept for empty state in the next set of tests + // Refresh needed so that useAwxView picks up the updated intercept for empty state in the next set of tests cy.get('button[id="refresh"]').click(); cy.contains(/^There are currently no teams added to your organization.$/); @@ -169,7 +169,7 @@ describe('Teams.cy.ts', () => { ); - // Refresh needed so that useControllerView picks up the updated intercept for empty state in the next set of tests + // Refresh needed so that useAwxView picks up the updated intercept for empty state in the next set of tests cy.get('button[id="refresh"]').click(); cy.contains(/^You do not have permission to create a team$/); cy.contains( diff --git a/frontend/controller/access/teams/Teams.tsx b/frontend/awx/access/teams/Teams.tsx similarity index 95% rename from frontend/controller/access/teams/Teams.tsx rename to frontend/awx/access/teams/Teams.tsx index eb69f81b15..84e6519200 100644 --- a/frontend/controller/access/teams/Teams.tsx +++ b/frontend/awx/access/teams/Teams.tsx @@ -7,7 +7,7 @@ import { useOptions } from '../../../Data'; import { RouteE } from '../../../Routes'; import { ActionsResponse, OptionsResponse } from '../../interfaces/OptionsResponse'; import { Team } from '../../interfaces/Team'; -import { useControllerView } from '../../useControllerView'; +import { useAwxView } from '../../useAwxView'; import { AccessNav } from '../common/AccessNav'; import { useTeamActions } from './hooks/useTeamActions'; import { useTeamsColumns } from './hooks/useTeamsColumns'; @@ -19,7 +19,7 @@ export function Teams() { const navigate = useNavigate(); const toolbarFilters = useTeamsFilters(); const tableColumns = useTeamsColumns(); - const view = useControllerView({ url: '/api/v2/teams/', toolbarFilters, tableColumns }); + const view = useAwxView({ url: '/api/v2/teams/', toolbarFilters, tableColumns }); const toolbarActions = useTeamToolbarActions(view); const rowActions = useTeamActions({ onTeamsDeleted: view.unselectItemsAndRefresh }); const headerActions = useRefreshAction(view.refreshing, view.refresh); diff --git a/frontend/controller/access/teams/components/AddRolesToTeam.tsx b/frontend/awx/access/teams/components/AddRolesToTeam.tsx similarity index 100% rename from frontend/controller/access/teams/components/AddRolesToTeam.tsx rename to frontend/awx/access/teams/components/AddRolesToTeam.tsx diff --git a/frontend/controller/access/teams/hooks/useAddTeamsToUsers.tsx b/frontend/awx/access/teams/hooks/useAddTeamsToUsers.tsx similarity index 100% rename from frontend/controller/access/teams/hooks/useAddTeamsToUsers.tsx rename to frontend/awx/access/teams/hooks/useAddTeamsToUsers.tsx diff --git a/frontend/controller/access/teams/hooks/useDeleteTeams.tsx b/frontend/awx/access/teams/hooks/useDeleteTeams.tsx similarity index 100% rename from frontend/controller/access/teams/hooks/useDeleteTeams.tsx rename to frontend/awx/access/teams/hooks/useDeleteTeams.tsx diff --git a/frontend/controller/access/teams/hooks/useRemoveTeamsFromUsers.tsx b/frontend/awx/access/teams/hooks/useRemoveTeamsFromUsers.tsx similarity index 100% rename from frontend/controller/access/teams/hooks/useRemoveTeamsFromUsers.tsx rename to frontend/awx/access/teams/hooks/useRemoveTeamsFromUsers.tsx diff --git a/frontend/controller/access/teams/hooks/useSelectTeams.tsx b/frontend/awx/access/teams/hooks/useSelectTeams.tsx similarity index 91% rename from frontend/controller/access/teams/hooks/useSelectTeams.tsx rename to frontend/awx/access/teams/hooks/useSelectTeams.tsx index 0bc644530d..96bbec50f7 100644 --- a/frontend/controller/access/teams/hooks/useSelectTeams.tsx +++ b/frontend/awx/access/teams/hooks/useSelectTeams.tsx @@ -2,14 +2,14 @@ import { useCallback } from 'react'; import { usePageDialog } from '../../../../../framework'; import { SelectMultipleDialog } from '../../../../../framework/useSelectMultipleDialog'; import { Team } from '../../../interfaces/Team'; -import { useControllerView } from '../../../useControllerView'; +import { useAwxView } from '../../../useAwxView'; import { useTeamsColumns } from './useTeamsColumns'; import { useTeamsFilters } from './useTeamsFilters'; function SelectTeams(props: { title: string; onSelect: (teams: Team[]) => void }) { const toolbarFilters = useTeamsFilters(); const tableColumns = useTeamsColumns({ disableLinks: true }); - const view = useControllerView({ + const view = useAwxView({ url: '/api/v2/teams/', toolbarFilters, tableColumns, diff --git a/frontend/controller/access/teams/hooks/useSelectTeamsAddUsers.tsx b/frontend/awx/access/teams/hooks/useSelectTeamsAddUsers.tsx similarity index 100% rename from frontend/controller/access/teams/hooks/useSelectTeamsAddUsers.tsx rename to frontend/awx/access/teams/hooks/useSelectTeamsAddUsers.tsx diff --git a/frontend/controller/access/teams/hooks/useSelectTeamsRemoveUsers.tsx b/frontend/awx/access/teams/hooks/useSelectTeamsRemoveUsers.tsx similarity index 100% rename from frontend/controller/access/teams/hooks/useSelectTeamsRemoveUsers.tsx rename to frontend/awx/access/teams/hooks/useSelectTeamsRemoveUsers.tsx diff --git a/frontend/controller/access/teams/hooks/useTeamActions.tsx b/frontend/awx/access/teams/hooks/useTeamActions.tsx similarity index 100% rename from frontend/controller/access/teams/hooks/useTeamActions.tsx rename to frontend/awx/access/teams/hooks/useTeamActions.tsx diff --git a/frontend/controller/access/teams/hooks/useTeamToolbarActions.tsx b/frontend/awx/access/teams/hooks/useTeamToolbarActions.tsx similarity index 95% rename from frontend/controller/access/teams/hooks/useTeamToolbarActions.tsx rename to frontend/awx/access/teams/hooks/useTeamToolbarActions.tsx index 2548ba7266..d9ef0c5d33 100644 --- a/frontend/controller/access/teams/hooks/useTeamToolbarActions.tsx +++ b/frontend/awx/access/teams/hooks/useTeamToolbarActions.tsx @@ -13,13 +13,13 @@ import { IPageAction, IPageActionButton, PageActionType } from '../../../../../f import { useOptions } from '../../../../Data'; import { RouteE } from '../../../../Routes'; import { Team } from '../../../interfaces/Team'; -import { IControllerView } from '../../../useControllerView'; +import { IAwxView } from '../../../useAwxView'; import { useSelectUsersAddTeams } from '../../users/hooks/useSelectUsersAddTeams'; import { useSelectUsersRemoveTeams } from '../../users/hooks/useSelectUsersRemoveTeams'; import { useDeleteTeams } from './useDeleteTeams'; import { OptionsResponse, ActionsResponse } from '../../../interfaces/OptionsResponse'; -export function useTeamToolbarActions(view: IControllerView) { +export function useTeamToolbarActions(view: IAwxView) { const { t } = useTranslation(); const navigate = useNavigate(); const deleteTeams = useDeleteTeams(view.unselectItemsAndRefresh); diff --git a/frontend/controller/access/teams/hooks/useTeamsColumns.tsx b/frontend/awx/access/teams/hooks/useTeamsColumns.tsx similarity index 100% rename from frontend/controller/access/teams/hooks/useTeamsColumns.tsx rename to frontend/awx/access/teams/hooks/useTeamsColumns.tsx diff --git a/frontend/controller/access/teams/hooks/useTeamsFilters.tsx b/frontend/awx/access/teams/hooks/useTeamsFilters.tsx similarity index 93% rename from frontend/controller/access/teams/hooks/useTeamsFilters.tsx rename to frontend/awx/access/teams/hooks/useTeamsFilters.tsx index 8cb72e626d..356b52b2a4 100644 --- a/frontend/controller/access/teams/hooks/useTeamsFilters.tsx +++ b/frontend/awx/access/teams/hooks/useTeamsFilters.tsx @@ -5,7 +5,7 @@ import { useModifiedByToolbarFilter, useNameToolbarFilter, useOrganizationToolbarFilter, -} from '../../../common/controller-toolbar-filters'; +} from '../../../common/awx-toolbar-filters'; export function useTeamsFilters() { const nameToolbarFilter = useNameToolbarFilter(); diff --git a/frontend/controller/access/users/UserForm.tsx b/frontend/awx/access/users/UserForm.tsx similarity index 98% rename from frontend/controller/access/users/UserForm.tsx rename to frontend/awx/access/users/UserForm.tsx index f21d8ea02a..a12cb8fc86 100644 --- a/frontend/controller/access/users/UserForm.tsx +++ b/frontend/awx/access/users/UserForm.tsx @@ -15,7 +15,7 @@ import { ItemsResponse, requestGet, requestPatch, requestPost, swrOptions } from import { RouteE } from '../../../Routes'; import { Organization } from '../../interfaces/Organization'; import { User } from '../../interfaces/User'; -import { getControllerError } from '../../useControllerView'; +import { getAwxError } from '../../useAwxView'; import { useSelectOrganization } from '../organizations/hooks/useSelectOrganization'; export function CreateUser() { @@ -41,7 +41,7 @@ export function CreateUser() { ); navigate(RouteE.UserDetails.replace(':id', newUser.id.toString())); } catch (err) { - setError(await getControllerError(err)); + setError(await getAwxError(err)); } }; @@ -91,7 +91,7 @@ export function EditUser() { const newUser = await requestPatch(`/api/v2/users/${id}/`, user); navigate(RouteE.UserDetails.replace(':id', newUser.id.toString())); } catch (err) { - setError(await getControllerError(err)); + setError(await getAwxError(err)); } }; diff --git a/frontend/controller/access/users/UserPage/UserDetails.tsx b/frontend/awx/access/users/UserPage/UserDetails.tsx similarity index 100% rename from frontend/controller/access/users/UserPage/UserDetails.tsx rename to frontend/awx/access/users/UserPage/UserDetails.tsx diff --git a/frontend/controller/access/users/UserPage/UserOrganizations.tsx b/frontend/awx/access/users/UserPage/UserOrganizations.tsx similarity index 96% rename from frontend/controller/access/users/UserPage/UserOrganizations.tsx rename to frontend/awx/access/users/UserPage/UserOrganizations.tsx index 331a702817..f0a4492319 100644 --- a/frontend/controller/access/users/UserPage/UserOrganizations.tsx +++ b/frontend/awx/access/users/UserPage/UserOrganizations.tsx @@ -7,7 +7,7 @@ import { IPageAction, PageActionType, PageTable } from '../../../../../framework import { DetailInfo } from '../../../../../framework/components/DetailInfo'; import { Organization } from '../../../interfaces/Organization'; import { User } from '../../../interfaces/User'; -import { useControllerView } from '../../../useControllerView'; +import { useAwxView } from '../../../useAwxView'; import { useRemoveOrganizationsFromUsers } from '../../organizations/hooks/useRemoveOrganizationsFromUsers'; import { useSelectOrganizationsAddUsers } from '../../organizations/hooks/useSelectOrganizationsAddUsers'; import { @@ -20,7 +20,7 @@ export function UserOrganizations(props: { user: User }) { const { t } = useTranslation(); const toolbarFilters = useOrganizationsFilters(); const tableColumns = useOrganizationsColumns(); - const view = useControllerView({ + const view = useAwxView({ url: `/api/v2/users/${user.id}/organizations/`, toolbarFilters, disableQueryString: true, diff --git a/frontend/controller/access/users/UserPage/UserPage.tsx b/frontend/awx/access/users/UserPage/UserPage.tsx similarity index 100% rename from frontend/controller/access/users/UserPage/UserPage.tsx rename to frontend/awx/access/users/UserPage/UserPage.tsx diff --git a/frontend/controller/access/users/UserPage/UserRoles.tsx b/frontend/awx/access/users/UserPage/UserRoles.tsx similarity index 96% rename from frontend/controller/access/users/UserPage/UserRoles.tsx rename to frontend/awx/access/users/UserPage/UserRoles.tsx index afc0ad7040..44c716db62 100644 --- a/frontend/controller/access/users/UserPage/UserRoles.tsx +++ b/frontend/awx/access/users/UserPage/UserRoles.tsx @@ -8,7 +8,7 @@ import { IPageAction, PageActionType, PageTable } from '../../../../../framework import { RouteE } from '../../../../Routes'; import { Role } from '../../../interfaces/Role'; import { User } from '../../../interfaces/User'; -import { useControllerView } from '../../../useControllerView'; +import { useAwxView } from '../../../useAwxView'; import { useRolesColumns, useRolesFilters } from '../../roles/Roles'; export function UserRoles(props: { user: User }) { @@ -17,7 +17,7 @@ export function UserRoles(props: { user: User }) { const toolbarFilters = useRolesFilters(); const tableColumns = useRolesColumns(); const navigate = useNavigate(); - const view = useControllerView({ + const view = useAwxView({ url: `/api/v2/users/${user.id}/roles/`, toolbarFilters, tableColumns, diff --git a/frontend/controller/access/users/UserPage/UserTeams.tsx b/frontend/awx/access/users/UserPage/UserTeams.tsx similarity index 97% rename from frontend/controller/access/users/UserPage/UserTeams.tsx rename to frontend/awx/access/users/UserPage/UserTeams.tsx index dc4b0db5fd..3161289bd6 100644 --- a/frontend/controller/access/users/UserPage/UserTeams.tsx +++ b/frontend/awx/access/users/UserPage/UserTeams.tsx @@ -14,7 +14,7 @@ import { useOptions } from '../../../../Data'; import { ActionsResponse, OptionsResponse } from '../../../interfaces/OptionsResponse'; import { Team } from '../../../interfaces/Team'; import { User } from '../../../interfaces/User'; -import { useControllerView } from '../../../useControllerView'; +import { useAwxView } from '../../../useAwxView'; import { useRemoveTeamsFromUsers } from '../../teams/hooks/useRemoveTeamsFromUsers'; import { useSelectTeamsAddUsers } from '../../teams/hooks/useSelectTeamsAddUsers'; import { useTeamsColumns } from '../../teams/hooks/useTeamsColumns'; @@ -25,7 +25,7 @@ export function UserTeams(props: { user: User }) { const { t } = useTranslation(); const toolbarFilters = useTeamsFilters(); const tableColumns = useTeamsColumns(); - const view = useControllerView({ + const view = useAwxView({ url: `/api/v2/users/${user.id}/teams/`, toolbarFilters, disableQueryString: true, diff --git a/frontend/controller/access/users/Users.tsx b/frontend/awx/access/users/Users.tsx similarity index 97% rename from frontend/controller/access/users/Users.tsx rename to frontend/awx/access/users/Users.tsx index e42d2bd07f..dc2af79f17 100644 --- a/frontend/controller/access/users/Users.tsx +++ b/frontend/awx/access/users/Users.tsx @@ -18,7 +18,7 @@ import { } from '../../../../framework'; import { RouteE } from '../../../Routes'; import { User } from '../../interfaces/User'; -import { useControllerView } from '../../useControllerView'; +import { useAwxView } from '../../useAwxView'; import { AccessNav } from '../common/AccessNav'; import { useSelectOrganizationsAddUsers } from '../organizations/hooks/useSelectOrganizationsAddUsers'; import { useSelectOrganizationsRemoveUsers } from '../organizations/hooks/useSelectOrganizationsRemoveUsers'; @@ -36,7 +36,7 @@ export function Users() { const tableColumns = useUsersColumns(); - const view = useControllerView({ url: '/api/v2/users/', toolbarFilters, tableColumns }); + const view = useAwxView({ url: '/api/v2/users/', toolbarFilters, tableColumns }); const deleteUsers = useDeleteUsers(view.unselectItemsAndRefresh); @@ -189,7 +189,7 @@ export function AccessTable(props: { url: string }) { const tableColumns = useUsersColumns(); - const view = useControllerView({ + const view = useAwxView({ url: props.url, toolbarFilters, tableColumns, diff --git a/frontend/controller/access/users/components/AddRolesToUser.tsx b/frontend/awx/access/users/components/AddRolesToUser.tsx similarity index 100% rename from frontend/controller/access/users/components/AddRolesToUser.tsx rename to frontend/awx/access/users/components/AddRolesToUser.tsx diff --git a/frontend/controller/access/users/components/UserRoles.tsx b/frontend/awx/access/users/components/UserRoles.tsx similarity index 100% rename from frontend/controller/access/users/components/UserRoles.tsx rename to frontend/awx/access/users/components/UserRoles.tsx diff --git a/frontend/controller/access/users/components/UserType.tsx b/frontend/awx/access/users/components/UserType.tsx similarity index 100% rename from frontend/controller/access/users/components/UserType.tsx rename to frontend/awx/access/users/components/UserType.tsx diff --git a/frontend/controller/access/users/hooks/useAddUsersToOrganizations.tsx b/frontend/awx/access/users/hooks/useAddUsersToOrganizations.tsx similarity index 100% rename from frontend/controller/access/users/hooks/useAddUsersToOrganizations.tsx rename to frontend/awx/access/users/hooks/useAddUsersToOrganizations.tsx diff --git a/frontend/controller/access/users/hooks/useAddUsersToTeams.tsx b/frontend/awx/access/users/hooks/useAddUsersToTeams.tsx similarity index 100% rename from frontend/controller/access/users/hooks/useAddUsersToTeams.tsx rename to frontend/awx/access/users/hooks/useAddUsersToTeams.tsx diff --git a/frontend/controller/access/users/hooks/useDeleteUsers.tsx b/frontend/awx/access/users/hooks/useDeleteUsers.tsx similarity index 100% rename from frontend/controller/access/users/hooks/useDeleteUsers.tsx rename to frontend/awx/access/users/hooks/useDeleteUsers.tsx diff --git a/frontend/controller/access/users/hooks/useRemoveUsersFromOrganizations.tsx b/frontend/awx/access/users/hooks/useRemoveUsersFromOrganizations.tsx similarity index 100% rename from frontend/controller/access/users/hooks/useRemoveUsersFromOrganizations.tsx rename to frontend/awx/access/users/hooks/useRemoveUsersFromOrganizations.tsx diff --git a/frontend/controller/access/users/hooks/useRemoveUsersFromTeams.tsx b/frontend/awx/access/users/hooks/useRemoveUsersFromTeams.tsx similarity index 100% rename from frontend/controller/access/users/hooks/useRemoveUsersFromTeams.tsx rename to frontend/awx/access/users/hooks/useRemoveUsersFromTeams.tsx diff --git a/frontend/controller/access/users/hooks/useSelectUsers.tsx b/frontend/awx/access/users/hooks/useSelectUsers.tsx similarity index 91% rename from frontend/controller/access/users/hooks/useSelectUsers.tsx rename to frontend/awx/access/users/hooks/useSelectUsers.tsx index 4fc32b39f6..5c6e3f1178 100644 --- a/frontend/controller/access/users/hooks/useSelectUsers.tsx +++ b/frontend/awx/access/users/hooks/useSelectUsers.tsx @@ -2,14 +2,14 @@ import { useCallback } from 'react'; import { usePageDialog } from '../../../../../framework'; import { SelectMultipleDialog } from '../../../../../framework/useSelectMultipleDialog'; import { User } from '../../../interfaces/User'; -import { useControllerView } from '../../../useControllerView'; +import { useAwxView } from '../../../useAwxView'; import { useUsersColumns } from './useUsersColumns'; import { useUsersFilters } from './useUsersFilters'; function SelectUsers(props: { title: string; onSelect: (users: User[]) => void }) { const toolbarFilters = useUsersFilters(); const tableColumns = useUsersColumns({ disableLinks: true }); - const view = useControllerView({ + const view = useAwxView({ url: '/api/v2/users/', toolbarFilters, tableColumns, diff --git a/frontend/controller/access/users/hooks/useSelectUsersAddOrganizations.tsx b/frontend/awx/access/users/hooks/useSelectUsersAddOrganizations.tsx similarity index 100% rename from frontend/controller/access/users/hooks/useSelectUsersAddOrganizations.tsx rename to frontend/awx/access/users/hooks/useSelectUsersAddOrganizations.tsx diff --git a/frontend/controller/access/users/hooks/useSelectUsersAddTeams.tsx b/frontend/awx/access/users/hooks/useSelectUsersAddTeams.tsx similarity index 100% rename from frontend/controller/access/users/hooks/useSelectUsersAddTeams.tsx rename to frontend/awx/access/users/hooks/useSelectUsersAddTeams.tsx diff --git a/frontend/controller/access/users/hooks/useSelectUsersRemoveOrganizations.tsx b/frontend/awx/access/users/hooks/useSelectUsersRemoveOrganizations.tsx similarity index 100% rename from frontend/controller/access/users/hooks/useSelectUsersRemoveOrganizations.tsx rename to frontend/awx/access/users/hooks/useSelectUsersRemoveOrganizations.tsx diff --git a/frontend/controller/access/users/hooks/useSelectUsersRemoveTeams.tsx b/frontend/awx/access/users/hooks/useSelectUsersRemoveTeams.tsx similarity index 100% rename from frontend/controller/access/users/hooks/useSelectUsersRemoveTeams.tsx rename to frontend/awx/access/users/hooks/useSelectUsersRemoveTeams.tsx diff --git a/frontend/controller/access/users/hooks/useUsersColumns.tsx b/frontend/awx/access/users/hooks/useUsersColumns.tsx similarity index 100% rename from frontend/controller/access/users/hooks/useUsersColumns.tsx rename to frontend/awx/access/users/hooks/useUsersColumns.tsx diff --git a/frontend/controller/access/users/hooks/useUsersFilters.tsx b/frontend/awx/access/users/hooks/useUsersFilters.tsx similarity index 94% rename from frontend/controller/access/users/hooks/useUsersFilters.tsx rename to frontend/awx/access/users/hooks/useUsersFilters.tsx index 6ff2a3d12a..3c080d2f7a 100644 --- a/frontend/controller/access/users/hooks/useUsersFilters.tsx +++ b/frontend/awx/access/users/hooks/useUsersFilters.tsx @@ -5,7 +5,7 @@ import { useFirstNameToolbarFilter, useLastNameToolbarFilter, useUsernameToolbarFilter, -} from '../../../common/controller-toolbar-filters'; +} from '../../../common/awx-toolbar-filters'; export function useUsersFilters() { const { t } = useTranslation(); diff --git a/frontend/controller/administration/execution-environments/ExecutionEnvironments.tsx b/frontend/awx/administration/execution-environments/ExecutionEnvironments.tsx similarity index 97% rename from frontend/controller/administration/execution-environments/ExecutionEnvironments.tsx rename to frontend/awx/administration/execution-environments/ExecutionEnvironments.tsx index 5ad83e7ee0..4edc2e3cf0 100644 --- a/frontend/controller/administration/execution-environments/ExecutionEnvironments.tsx +++ b/frontend/awx/administration/execution-environments/ExecutionEnvironments.tsx @@ -26,9 +26,9 @@ import { useModifiedByToolbarFilter, useNameToolbarFilter, useOrganizationToolbarFilter, -} from '../../common/controller-toolbar-filters'; +} from '../../common/awx-toolbar-filters'; import { ExecutionEnvironment } from '../../interfaces/ExecutionEnvironment'; -import { useControllerView } from '../../useControllerView'; +import { useAwxView } from '../../useAwxView'; import { useDeleteExecutionEnvironments } from './hooks/useDeleteExecutionEnvironments'; @@ -37,7 +37,7 @@ export function ExecutionEnvironments() { const navigate = useNavigate(); const toolbarFilters = useExecutionEnvironmentsFilters(); const tableColumns = useExecutionEnvironmentsColumns(); - const view = useControllerView({ + const view = useAwxView({ url: '/api/v2/execution_environments/', toolbarFilters, tableColumns, diff --git a/frontend/controller/administration/execution-environments/components/PageFormExecutionEnvironmentSelect.tsx b/frontend/awx/administration/execution-environments/components/PageFormExecutionEnvironmentSelect.tsx similarity index 100% rename from frontend/controller/administration/execution-environments/components/PageFormExecutionEnvironmentSelect.tsx rename to frontend/awx/administration/execution-environments/components/PageFormExecutionEnvironmentSelect.tsx diff --git a/frontend/controller/administration/execution-environments/hooks/useDeleteExecutionEnvironments.tsx b/frontend/awx/administration/execution-environments/hooks/useDeleteExecutionEnvironments.tsx similarity index 100% rename from frontend/controller/administration/execution-environments/hooks/useDeleteExecutionEnvironments.tsx rename to frontend/awx/administration/execution-environments/hooks/useDeleteExecutionEnvironments.tsx diff --git a/frontend/controller/administration/execution-environments/hooks/useSelectExecutionEnvironments.tsx b/frontend/awx/administration/execution-environments/hooks/useSelectExecutionEnvironments.tsx similarity index 87% rename from frontend/controller/administration/execution-environments/hooks/useSelectExecutionEnvironments.tsx rename to frontend/awx/administration/execution-environments/hooks/useSelectExecutionEnvironments.tsx index 5bb5fcf7e3..f0cd7a17b8 100644 --- a/frontend/controller/administration/execution-environments/hooks/useSelectExecutionEnvironments.tsx +++ b/frontend/awx/administration/execution-environments/hooks/useSelectExecutionEnvironments.tsx @@ -1,7 +1,7 @@ import { useTranslation } from 'react-i18next'; import { useSelectDialog } from '../../../../../framework'; import { ExecutionEnvironment } from '../../../interfaces/ExecutionEnvironment'; -import { useControllerView } from '../../../useControllerView'; +import { useAwxView } from '../../../useAwxView'; import { useExecutionEnvironmentsColumns, useExecutionEnvironmentsFilters, @@ -11,7 +11,7 @@ export function useSelectExecutionEnvironments() { const { t } = useTranslation(); const toolbarFilters = useExecutionEnvironmentsFilters(); const tableColumns = useExecutionEnvironmentsColumns({ disableLinks: true }); - const view = useControllerView({ + const view = useAwxView({ url: '/api/v2/execution_environments/', toolbarFilters, tableColumns, diff --git a/frontend/controller/administration/instance-groups/InstanceGroups.tsx b/frontend/awx/administration/instance-groups/InstanceGroups.tsx similarity index 98% rename from frontend/controller/administration/instance-groups/InstanceGroups.tsx rename to frontend/awx/administration/instance-groups/InstanceGroups.tsx index 1b76a1b1b8..70397ef968 100644 --- a/frontend/controller/administration/instance-groups/InstanceGroups.tsx +++ b/frontend/awx/administration/instance-groups/InstanceGroups.tsx @@ -16,7 +16,7 @@ import { } from '../../../../framework'; import { useCreatedColumn, useModifiedColumn } from '../../../common/columns'; import { RouteE } from '../../../Routes'; -import { useControllerView } from '../../useControllerView'; +import { useAwxView } from '../../useAwxView'; import { InstanceGroup } from '../../interfaces/InstanceGroup'; import { useDeleteInstanceGroups } from './useDeleteInstanceGroups'; @@ -25,7 +25,7 @@ export function InstanceGroups() { const navigate = useNavigate(); const toolbarFilters = useInstanceGroupsFilters(); const tableColumns = useInstanceGroupsColumns(); - const view = useControllerView({ + const view = useAwxView({ url: '/api/v2/instance_groups/', toolbarFilters, tableColumns, diff --git a/frontend/controller/administration/instance-groups/components/PageFormInstanceGroupSelect.tsx b/frontend/awx/administration/instance-groups/components/PageFormInstanceGroupSelect.tsx similarity index 100% rename from frontend/controller/administration/instance-groups/components/PageFormInstanceGroupSelect.tsx rename to frontend/awx/administration/instance-groups/components/PageFormInstanceGroupSelect.tsx diff --git a/frontend/controller/administration/instance-groups/hooks/useSelectInstanceGroups.tsx b/frontend/awx/administration/instance-groups/hooks/useSelectInstanceGroups.tsx similarity index 87% rename from frontend/controller/administration/instance-groups/hooks/useSelectInstanceGroups.tsx rename to frontend/awx/administration/instance-groups/hooks/useSelectInstanceGroups.tsx index ff70b1a790..ee506df009 100644 --- a/frontend/controller/administration/instance-groups/hooks/useSelectInstanceGroups.tsx +++ b/frontend/awx/administration/instance-groups/hooks/useSelectInstanceGroups.tsx @@ -1,14 +1,14 @@ import { useTranslation } from 'react-i18next'; import { useSelectDialog } from '../../../../../framework'; import { InstanceGroup } from '../../../interfaces/InstanceGroup'; -import { useControllerView } from '../../../useControllerView'; +import { useAwxView } from '../../../useAwxView'; import { useInstanceGroupsColumns, useInstanceGroupsFilters } from '../InstanceGroups'; export function useSelectInstanceGroups() { const { t } = useTranslation(); const toolbarFilters = useInstanceGroupsFilters(); const tableColumns = useInstanceGroupsColumns({ disableLinks: true }); - const view = useControllerView({ + const view = useAwxView({ url: '/api/v2/instance_groups/', toolbarFilters, tableColumns, diff --git a/frontend/controller/administration/instance-groups/useDeleteInstanceGroups.tsx b/frontend/awx/administration/instance-groups/useDeleteInstanceGroups.tsx similarity index 100% rename from frontend/controller/administration/instance-groups/useDeleteInstanceGroups.tsx rename to frontend/awx/administration/instance-groups/useDeleteInstanceGroups.tsx diff --git a/frontend/controller/administration/instances/EditInstance.tsx b/frontend/awx/administration/instances/EditInstance.tsx similarity index 96% rename from frontend/controller/administration/instances/EditInstance.tsx rename to frontend/awx/administration/instances/EditInstance.tsx index 4dcff93de5..623038006b 100644 --- a/frontend/controller/administration/instances/EditInstance.tsx +++ b/frontend/awx/administration/instances/EditInstance.tsx @@ -9,7 +9,7 @@ import { PageFormSchema } from '../../../../framework/PageForm/PageFormSchema'; import { requestGet, requestPatch, swrOptions } from '../../../Data'; import { RouteE } from '../../../Routes'; import { Instance } from '../../interfaces/Instance'; -import { getControllerError } from '../../useControllerView'; +import { getAwxError } from '../../useAwxView'; export function EditInstance() { const { t } = useTranslation(); @@ -51,7 +51,7 @@ export function EditInstance() { (cache as unknown as { clear: () => void }).clear?.(); navigate(-1); } catch (err) { - setError(await getControllerError(err)); + setError(await getAwxError(err)); } }; const onCancel = () => navigate(-1); diff --git a/frontend/controller/administration/instances/InstanceDetails.tsx b/frontend/awx/administration/instances/InstanceDetails.tsx similarity index 100% rename from frontend/controller/administration/instances/InstanceDetails.tsx rename to frontend/awx/administration/instances/InstanceDetails.tsx diff --git a/frontend/controller/administration/instances/Instances.tsx b/frontend/awx/administration/instances/Instances.tsx similarity index 98% rename from frontend/controller/administration/instances/Instances.tsx rename to frontend/awx/administration/instances/Instances.tsx index a76d5aee3d..b27dbc92ca 100644 --- a/frontend/controller/administration/instances/Instances.tsx +++ b/frontend/awx/administration/instances/Instances.tsx @@ -23,14 +23,14 @@ import { StatusCell } from '../../../common/StatusCell'; import { requestPost } from '../../../Data'; import { RouteE } from '../../../Routes'; import { Instance } from '../../interfaces/Instance'; -import { useControllerView } from '../../useControllerView'; +import { useAwxView } from '../../useAwxView'; export function Instances() { const { t } = useTranslation(); const navigate = useNavigate(); const toolbarFilters = useInstancesFilters(); const tableColumns = useInstancesColumns(); - const view = useControllerView({ + const view = useAwxView({ url: '/api/v2/instances/', toolbarFilters, tableColumns, diff --git a/frontend/controller/common/CredentialLabel.tsx b/frontend/awx/common/CredentialLabel.tsx similarity index 100% rename from frontend/controller/common/CredentialLabel.tsx rename to frontend/awx/common/CredentialLabel.tsx diff --git a/frontend/controller/common/ExecutionEnvironmentDetail.tsx b/frontend/awx/common/ExecutionEnvironmentDetail.tsx similarity index 100% rename from frontend/controller/common/ExecutionEnvironmentDetail.tsx rename to frontend/awx/common/ExecutionEnvironmentDetail.tsx diff --git a/frontend/controller/common/UserDateDetail.tsx b/frontend/awx/common/UserDateDetail.tsx similarity index 100% rename from frontend/controller/common/UserDateDetail.tsx rename to frontend/awx/common/UserDateDetail.tsx diff --git a/frontend/controller/common/controller-toolbar-filters.tsx b/frontend/awx/common/awx-toolbar-filters.tsx similarity index 100% rename from frontend/controller/common/controller-toolbar-filters.tsx rename to frontend/awx/common/awx-toolbar-filters.tsx diff --git a/frontend/controller/common/useAwxWebSocket.tsx b/frontend/awx/common/useAwxWebSocket.tsx similarity index 100% rename from frontend/controller/common/useAwxWebSocket.tsx rename to frontend/awx/common/useAwxWebSocket.tsx diff --git a/frontend/controller/common/util/launchHandlers.ts b/frontend/awx/common/util/launchHandlers.ts similarity index 100% rename from frontend/controller/common/util/launchHandlers.ts rename to frontend/awx/common/util/launchHandlers.ts diff --git a/frontend/controller/common/util/strings.ts b/frontend/awx/common/util/strings.ts similarity index 100% rename from frontend/controller/common/util/strings.ts rename to frontend/awx/common/util/strings.ts diff --git a/frontend/controller/dashboard/Dashboard.tsx b/frontend/awx/dashboard/Dashboard.tsx similarity index 100% rename from frontend/controller/dashboard/Dashboard.tsx rename to frontend/awx/dashboard/Dashboard.tsx diff --git a/frontend/controller/dashboard/cards/DashboardExecutionEnvironments.tsx b/frontend/awx/dashboard/cards/DashboardExecutionEnvironments.tsx similarity index 100% rename from frontend/controller/dashboard/cards/DashboardExecutionEnvironments.tsx rename to frontend/awx/dashboard/cards/DashboardExecutionEnvironments.tsx diff --git a/frontend/controller/dashboard/cards/DashboardHosts.tsx b/frontend/awx/dashboard/cards/DashboardHosts.tsx similarity index 100% rename from frontend/controller/dashboard/cards/DashboardHosts.tsx rename to frontend/awx/dashboard/cards/DashboardHosts.tsx diff --git a/frontend/controller/dashboard/cards/DashboardInventories.tsx b/frontend/awx/dashboard/cards/DashboardInventories.tsx similarity index 100% rename from frontend/controller/dashboard/cards/DashboardInventories.tsx rename to frontend/awx/dashboard/cards/DashboardInventories.tsx diff --git a/frontend/controller/dashboard/cards/DashboardJobs.tsx b/frontend/awx/dashboard/cards/DashboardJobs.tsx similarity index 100% rename from frontend/controller/dashboard/cards/DashboardJobs.tsx rename to frontend/awx/dashboard/cards/DashboardJobs.tsx diff --git a/frontend/controller/dashboard/cards/DashboardProjects.tsx b/frontend/awx/dashboard/cards/DashboardProjects.tsx similarity index 100% rename from frontend/controller/dashboard/cards/DashboardProjects.tsx rename to frontend/awx/dashboard/cards/DashboardProjects.tsx diff --git a/frontend/controller/dashboard/cards/OnboardExecutionEnvironments.tsx b/frontend/awx/dashboard/cards/OnboardExecutionEnvironments.tsx similarity index 100% rename from frontend/controller/dashboard/cards/OnboardExecutionEnvironments.tsx rename to frontend/awx/dashboard/cards/OnboardExecutionEnvironments.tsx diff --git a/frontend/controller/dashboard/cards/OnboardInventories.tsx b/frontend/awx/dashboard/cards/OnboardInventories.tsx similarity index 100% rename from frontend/controller/dashboard/cards/OnboardInventories.tsx rename to frontend/awx/dashboard/cards/OnboardInventories.tsx diff --git a/frontend/controller/dashboard/cards/OnboardJobs.tsx b/frontend/awx/dashboard/cards/OnboardJobs.tsx similarity index 100% rename from frontend/controller/dashboard/cards/OnboardJobs.tsx rename to frontend/awx/dashboard/cards/OnboardJobs.tsx diff --git a/frontend/controller/dashboard/charts/JobsChart.tsx b/frontend/awx/dashboard/charts/JobsChart.tsx similarity index 100% rename from frontend/controller/dashboard/charts/JobsChart.tsx rename to frontend/awx/dashboard/charts/JobsChart.tsx diff --git a/frontend/controller/dashboard/charts/indexdb.tsx b/frontend/awx/dashboard/charts/indexdb.tsx similarity index 100% rename from frontend/controller/dashboard/charts/indexdb.tsx rename to frontend/awx/dashboard/charts/indexdb.tsx diff --git a/frontend/controller/interfaces/Config.ts b/frontend/awx/interfaces/Config.ts similarity index 100% rename from frontend/controller/interfaces/Config.ts rename to frontend/awx/interfaces/Config.ts diff --git a/frontend/controller/interfaces/Credential.ts b/frontend/awx/interfaces/Credential.ts similarity index 100% rename from frontend/controller/interfaces/Credential.ts rename to frontend/awx/interfaces/Credential.ts diff --git a/frontend/controller/interfaces/CredentialType.ts b/frontend/awx/interfaces/CredentialType.ts similarity index 100% rename from frontend/controller/interfaces/CredentialType.ts rename to frontend/awx/interfaces/CredentialType.ts diff --git a/frontend/controller/interfaces/ExecutionEnvironment.ts b/frontend/awx/interfaces/ExecutionEnvironment.ts similarity index 100% rename from frontend/controller/interfaces/ExecutionEnvironment.ts rename to frontend/awx/interfaces/ExecutionEnvironment.ts diff --git a/frontend/controller/interfaces/Host.ts b/frontend/awx/interfaces/Host.ts similarity index 100% rename from frontend/controller/interfaces/Host.ts rename to frontend/awx/interfaces/Host.ts diff --git a/frontend/controller/interfaces/Instance.ts b/frontend/awx/interfaces/Instance.ts similarity index 100% rename from frontend/controller/interfaces/Instance.ts rename to frontend/awx/interfaces/Instance.ts diff --git a/frontend/controller/interfaces/InstanceGroup.ts b/frontend/awx/interfaces/InstanceGroup.ts similarity index 100% rename from frontend/controller/interfaces/InstanceGroup.ts rename to frontend/awx/interfaces/InstanceGroup.ts diff --git a/frontend/controller/interfaces/Inventory.ts b/frontend/awx/interfaces/Inventory.ts similarity index 100% rename from frontend/controller/interfaces/Inventory.ts rename to frontend/awx/interfaces/Inventory.ts diff --git a/frontend/controller/interfaces/Job.ts b/frontend/awx/interfaces/Job.ts similarity index 100% rename from frontend/controller/interfaces/Job.ts rename to frontend/awx/interfaces/Job.ts diff --git a/frontend/controller/interfaces/JobTemplate.ts b/frontend/awx/interfaces/JobTemplate.ts similarity index 100% rename from frontend/controller/interfaces/JobTemplate.ts rename to frontend/awx/interfaces/JobTemplate.ts diff --git a/frontend/controller/interfaces/Label.ts b/frontend/awx/interfaces/Label.ts similarity index 100% rename from frontend/controller/interfaces/Label.ts rename to frontend/awx/interfaces/Label.ts diff --git a/frontend/controller/interfaces/Launch.ts b/frontend/awx/interfaces/Launch.ts similarity index 100% rename from frontend/controller/interfaces/Launch.ts rename to frontend/awx/interfaces/Launch.ts diff --git a/frontend/controller/interfaces/OptionsResponse.ts b/frontend/awx/interfaces/OptionsResponse.ts similarity index 100% rename from frontend/controller/interfaces/OptionsResponse.ts rename to frontend/awx/interfaces/OptionsResponse.ts diff --git a/frontend/controller/interfaces/Organization.ts b/frontend/awx/interfaces/Organization.ts similarity index 100% rename from frontend/controller/interfaces/Organization.ts rename to frontend/awx/interfaces/Organization.ts diff --git a/frontend/controller/interfaces/Project.ts b/frontend/awx/interfaces/Project.ts similarity index 100% rename from frontend/controller/interfaces/Project.ts rename to frontend/awx/interfaces/Project.ts diff --git a/frontend/controller/interfaces/RelaunchConfiguration.ts b/frontend/awx/interfaces/RelaunchConfiguration.ts similarity index 100% rename from frontend/controller/interfaces/RelaunchConfiguration.ts rename to frontend/awx/interfaces/RelaunchConfiguration.ts diff --git a/frontend/controller/interfaces/Role.tsx b/frontend/awx/interfaces/Role.tsx similarity index 100% rename from frontend/controller/interfaces/Role.tsx rename to frontend/awx/interfaces/Role.tsx diff --git a/frontend/controller/interfaces/Survey.ts b/frontend/awx/interfaces/Survey.ts similarity index 100% rename from frontend/controller/interfaces/Survey.ts rename to frontend/awx/interfaces/Survey.ts diff --git a/frontend/controller/interfaces/Team.ts b/frontend/awx/interfaces/Team.ts similarity index 100% rename from frontend/controller/interfaces/Team.ts rename to frontend/awx/interfaces/Team.ts diff --git a/frontend/controller/interfaces/UnifiedJob.ts b/frontend/awx/interfaces/UnifiedJob.ts similarity index 100% rename from frontend/controller/interfaces/UnifiedJob.ts rename to frontend/awx/interfaces/UnifiedJob.ts diff --git a/frontend/controller/interfaces/User.ts b/frontend/awx/interfaces/User.ts similarity index 100% rename from frontend/controller/interfaces/User.ts rename to frontend/awx/interfaces/User.ts diff --git a/frontend/controller/interfaces/WorkflowJobTemplate.ts b/frontend/awx/interfaces/WorkflowJobTemplate.ts similarity index 100% rename from frontend/controller/interfaces/WorkflowJobTemplate.ts rename to frontend/awx/interfaces/WorkflowJobTemplate.ts diff --git a/frontend/controller/interfaces/WorkflowNode.ts b/frontend/awx/interfaces/WorkflowNode.ts similarity index 100% rename from frontend/controller/interfaces/WorkflowNode.ts rename to frontend/awx/interfaces/WorkflowNode.ts diff --git a/frontend/controller/interfaces/generated-from-swagger/api.ts b/frontend/awx/interfaces/generated-from-swagger/api.ts similarity index 100% rename from frontend/controller/interfaces/generated-from-swagger/api.ts rename to frontend/awx/interfaces/generated-from-swagger/api.ts diff --git a/frontend/controller/interfaces/generated-from-swagger/generated.md b/frontend/awx/interfaces/generated-from-swagger/generated.md similarity index 100% rename from frontend/controller/interfaces/generated-from-swagger/generated.md rename to frontend/awx/interfaces/generated-from-swagger/generated.md diff --git a/frontend/controller/interfaces/generated-from-swagger/swagger.json b/frontend/awx/interfaces/generated-from-swagger/swagger.json similarity index 100% rename from frontend/controller/interfaces/generated-from-swagger/swagger.json rename to frontend/awx/interfaces/generated-from-swagger/swagger.json diff --git a/frontend/controller/interfaces/summary-fields/summary-fields.tsx b/frontend/awx/interfaces/summary-fields/summary-fields.tsx similarity index 100% rename from frontend/controller/interfaces/summary-fields/summary-fields.tsx rename to frontend/awx/interfaces/summary-fields/summary-fields.tsx diff --git a/frontend/controller/resources/credentials/Credentials.tsx b/frontend/awx/resources/credentials/Credentials.tsx similarity index 96% rename from frontend/controller/resources/credentials/Credentials.tsx rename to frontend/awx/resources/credentials/Credentials.tsx index c09b05d599..5cf058ed63 100644 --- a/frontend/controller/resources/credentials/Credentials.tsx +++ b/frontend/awx/resources/credentials/Credentials.tsx @@ -24,9 +24,9 @@ import { useDescriptionToolbarFilter, useModifiedByToolbarFilter, useNameToolbarFilter, -} from '../../common/controller-toolbar-filters'; +} from '../../common/awx-toolbar-filters'; import { Credential } from '../../interfaces/Credential'; -import { useControllerView } from '../../useControllerView'; +import { useAwxView } from '../../useAwxView'; import { useDeleteCredentials } from './useDeleteCredentials'; export function Credentials() { @@ -34,7 +34,7 @@ export function Credentials() { const navigate = useNavigate(); const toolbarFilters = useCredentialsFilters(); const tableColumns = useCredentialsColumns(); - const view = useControllerView({ + const view = useAwxView({ url: '/api/v2/credentials/', toolbarFilters, tableColumns, diff --git a/frontend/controller/resources/credentials/components/PageFormCredentialSelect.tsx b/frontend/awx/resources/credentials/components/PageFormCredentialSelect.tsx similarity index 100% rename from frontend/controller/resources/credentials/components/PageFormCredentialSelect.tsx rename to frontend/awx/resources/credentials/components/PageFormCredentialSelect.tsx diff --git a/frontend/controller/resources/credentials/hooks/useSelectCredential.tsx b/frontend/awx/resources/credentials/hooks/useSelectCredential.tsx similarity index 86% rename from frontend/controller/resources/credentials/hooks/useSelectCredential.tsx rename to frontend/awx/resources/credentials/hooks/useSelectCredential.tsx index b3e0afa6e2..c0b2bc1290 100644 --- a/frontend/controller/resources/credentials/hooks/useSelectCredential.tsx +++ b/frontend/awx/resources/credentials/hooks/useSelectCredential.tsx @@ -1,14 +1,14 @@ import { useTranslation } from 'react-i18next'; import { useSelectDialog } from '../../../../../framework'; import { Credential } from '../../../interfaces/Credential'; -import { useControllerView } from '../../../useControllerView'; +import { useAwxView } from '../../../useAwxView'; import { useCredentialsColumns, useCredentialsFilters } from '../Credentials'; export function useSelectCredential() { const { t } = useTranslation(); const toolbarFilters = useCredentialsFilters(); const tableColumns = useCredentialsColumns({ disableLinks: true }); - const view = useControllerView({ + const view = useAwxView({ url: '/api/v2/credentials/', toolbarFilters, tableColumns, diff --git a/frontend/controller/resources/credentials/useDeleteCredentials.tsx b/frontend/awx/resources/credentials/useDeleteCredentials.tsx similarity index 100% rename from frontend/controller/resources/credentials/useDeleteCredentials.tsx rename to frontend/awx/resources/credentials/useDeleteCredentials.tsx diff --git a/frontend/controller/resources/hosts/Hosts.tsx b/frontend/awx/resources/hosts/Hosts.tsx similarity index 95% rename from frontend/controller/resources/hosts/Hosts.tsx rename to frontend/awx/resources/hosts/Hosts.tsx index a87bd09fe1..c62fd1b675 100644 --- a/frontend/controller/resources/hosts/Hosts.tsx +++ b/frontend/awx/resources/hosts/Hosts.tsx @@ -24,9 +24,9 @@ import { useDescriptionToolbarFilter, useModifiedByToolbarFilter, useNameToolbarFilter, -} from '../../common/controller-toolbar-filters'; +} from '../../common/awx-toolbar-filters'; import { Host } from '../../interfaces/Host'; -import { useControllerView } from '../../useControllerView'; +import { useAwxView } from '../../useAwxView'; import { useDeleteHosts } from './useDeleteHosts'; export function Hosts() { @@ -34,7 +34,7 @@ export function Hosts() { const navigate = useNavigate(); const toolbarFilters = useHostsFilters(); const tableColumns = useHostsColumns(); - const view = useControllerView({ url: '/api/v2/hosts/', toolbarFilters, tableColumns }); + const view = useAwxView({ url: '/api/v2/hosts/', toolbarFilters, tableColumns }); const deleteHosts = useDeleteHosts(view.unselectItemsAndRefresh); const toolbarActions = useMemo[]>( diff --git a/frontend/controller/resources/hosts/useDeleteHosts.tsx b/frontend/awx/resources/hosts/useDeleteHosts.tsx similarity index 100% rename from frontend/controller/resources/hosts/useDeleteHosts.tsx rename to frontend/awx/resources/hosts/useDeleteHosts.tsx diff --git a/frontend/controller/resources/inventories/Inventories.tsx b/frontend/awx/resources/inventories/Inventories.tsx similarity index 96% rename from frontend/controller/resources/inventories/Inventories.tsx rename to frontend/awx/resources/inventories/Inventories.tsx index de3afa5d03..314d8f52aa 100644 --- a/frontend/controller/resources/inventories/Inventories.tsx +++ b/frontend/awx/resources/inventories/Inventories.tsx @@ -23,16 +23,16 @@ import { useDescriptionToolbarFilter, useModifiedByToolbarFilter, useNameToolbarFilter, -} from '../../common/controller-toolbar-filters'; +} from '../../common/awx-toolbar-filters'; import { Inventory } from '../../interfaces/Inventory'; -import { useControllerView } from '../../useControllerView'; +import { useAwxView } from '../../useAwxView'; import { useDeleteInventories } from './hooks/useDeleteInventories'; export function Inventories() { const { t } = useTranslation(); const toolbarFilters = useInventoriesFilters(); const tableColumns = useInventoriesColumns(); - const view = useControllerView({ + const view = useAwxView({ url: '/api/v2/inventories/', toolbarFilters, tableColumns, diff --git a/frontend/controller/resources/inventories/components/PageFormInventorySelect.tsx b/frontend/awx/resources/inventories/components/PageFormInventorySelect.tsx similarity index 100% rename from frontend/controller/resources/inventories/components/PageFormInventorySelect.tsx rename to frontend/awx/resources/inventories/components/PageFormInventorySelect.tsx diff --git a/frontend/controller/resources/inventories/hooks/useDeleteInventories.tsx b/frontend/awx/resources/inventories/hooks/useDeleteInventories.tsx similarity index 100% rename from frontend/controller/resources/inventories/hooks/useDeleteInventories.tsx rename to frontend/awx/resources/inventories/hooks/useDeleteInventories.tsx diff --git a/frontend/controller/resources/inventories/hooks/useSelectInventories.tsx b/frontend/awx/resources/inventories/hooks/useSelectInventories.tsx similarity index 83% rename from frontend/controller/resources/inventories/hooks/useSelectInventories.tsx rename to frontend/awx/resources/inventories/hooks/useSelectInventories.tsx index 057390c6c7..a7d3d81199 100644 --- a/frontend/controller/resources/inventories/hooks/useSelectInventories.tsx +++ b/frontend/awx/resources/inventories/hooks/useSelectInventories.tsx @@ -1,14 +1,14 @@ import { useTranslation } from 'react-i18next'; import { useSelectDialog } from '../../../../../framework'; import { Inventory } from '../../../interfaces/Inventory'; -import { useControllerView } from '../../../useControllerView'; -import { useInventoriesColumns, useInventoriesFilters } from '../../inventories/Inventories'; +import { useAwxView } from '../../../useAwxView'; +import { useInventoriesColumns, useInventoriesFilters } from '../Inventories'; export function useSelectInventories() { const { t } = useTranslation(); const toolbarFilters = useInventoriesFilters(); const tableColumns = useInventoriesColumns({ disableLinks: true }); - const view = useControllerView({ + const view = useAwxView({ url: '/api/v2/inventories/', toolbarFilters, tableColumns, diff --git a/frontend/controller/resources/inventories/hooks/useSelectInventory.tsx b/frontend/awx/resources/inventories/hooks/useSelectInventory.tsx similarity index 86% rename from frontend/controller/resources/inventories/hooks/useSelectInventory.tsx rename to frontend/awx/resources/inventories/hooks/useSelectInventory.tsx index b3f50116aa..b0fe373d10 100644 --- a/frontend/controller/resources/inventories/hooks/useSelectInventory.tsx +++ b/frontend/awx/resources/inventories/hooks/useSelectInventory.tsx @@ -1,14 +1,14 @@ import { useTranslation } from 'react-i18next'; import { useSelectDialog } from '../../../../../framework'; import { Inventory } from '../../../interfaces/Inventory'; -import { useControllerView } from '../../../useControllerView'; +import { useAwxView } from '../../../useAwxView'; import { useInventoriesColumns, useInventoriesFilters } from '../Inventories'; export function useSelectInventory() { const { t } = useTranslation(); const toolbarFilters = useInventoriesFilters(); const tableColumns = useInventoriesColumns({ disableLinks: true }); - const view = useControllerView({ + const view = useAwxView({ url: '/api/v2/inventories/', toolbarFilters, tableColumns, diff --git a/frontend/controller/resources/projects/ProjectPage/ProjectDetails.cy.tsx b/frontend/awx/resources/projects/ProjectPage/ProjectDetails.cy.tsx similarity index 100% rename from frontend/controller/resources/projects/ProjectPage/ProjectDetails.cy.tsx rename to frontend/awx/resources/projects/ProjectPage/ProjectDetails.cy.tsx diff --git a/frontend/controller/resources/projects/ProjectPage/ProjectDetails.tsx b/frontend/awx/resources/projects/ProjectPage/ProjectDetails.tsx similarity index 100% rename from frontend/controller/resources/projects/ProjectPage/ProjectDetails.tsx rename to frontend/awx/resources/projects/ProjectPage/ProjectDetails.tsx diff --git a/frontend/controller/resources/projects/ProjectPage/ProjectPage.tsx b/frontend/awx/resources/projects/ProjectPage/ProjectPage.tsx similarity index 100% rename from frontend/controller/resources/projects/ProjectPage/ProjectPage.tsx rename to frontend/awx/resources/projects/ProjectPage/ProjectPage.tsx diff --git a/frontend/controller/resources/projects/Projects.tsx b/frontend/awx/resources/projects/Projects.tsx similarity index 97% rename from frontend/controller/resources/projects/Projects.tsx rename to frontend/awx/resources/projects/Projects.tsx index d029b0d53e..164bfa2bcf 100644 --- a/frontend/controller/resources/projects/Projects.tsx +++ b/frontend/awx/resources/projects/Projects.tsx @@ -27,9 +27,9 @@ import { useDescriptionToolbarFilter, useModifiedByToolbarFilter, useNameToolbarFilter, -} from '../../common/controller-toolbar-filters'; +} from '../../common/awx-toolbar-filters'; import { Project } from '../../interfaces/Project'; -import { useControllerView } from '../../useControllerView'; +import { useAwxView } from '../../useAwxView'; import { useDeleteProjects } from './hooks/useDeleteProjects'; export function Projects() { @@ -37,7 +37,7 @@ export function Projects() { const navigate = useNavigate(); const toolbarFilters = useProjectsFilters(); const tableColumns = useProjectsColumns(); - const view = useControllerView({ + const view = useAwxView({ url: '/api/v2/projects/', toolbarFilters, tableColumns, diff --git a/frontend/controller/resources/projects/components/PageFormProjectSelect.tsx b/frontend/awx/resources/projects/components/PageFormProjectSelect.tsx similarity index 100% rename from frontend/controller/resources/projects/components/PageFormProjectSelect.tsx rename to frontend/awx/resources/projects/components/PageFormProjectSelect.tsx diff --git a/frontend/controller/resources/projects/hooks/useDeleteProjects.tsx b/frontend/awx/resources/projects/hooks/useDeleteProjects.tsx similarity index 100% rename from frontend/controller/resources/projects/hooks/useDeleteProjects.tsx rename to frontend/awx/resources/projects/hooks/useDeleteProjects.tsx diff --git a/frontend/controller/resources/projects/hooks/useProjectActions.tsx b/frontend/awx/resources/projects/hooks/useProjectActions.tsx similarity index 100% rename from frontend/controller/resources/projects/hooks/useProjectActions.tsx rename to frontend/awx/resources/projects/hooks/useProjectActions.tsx diff --git a/frontend/controller/resources/projects/hooks/useSelectProject.tsx b/frontend/awx/resources/projects/hooks/useSelectProject.tsx similarity index 86% rename from frontend/controller/resources/projects/hooks/useSelectProject.tsx rename to frontend/awx/resources/projects/hooks/useSelectProject.tsx index ebda323655..079a54e370 100644 --- a/frontend/controller/resources/projects/hooks/useSelectProject.tsx +++ b/frontend/awx/resources/projects/hooks/useSelectProject.tsx @@ -1,14 +1,14 @@ import { useTranslation } from 'react-i18next'; import { useSelectDialog } from '../../../../../framework'; import { Project } from '../../../interfaces/Project'; -import { useControllerView } from '../../../useControllerView'; +import { useAwxView } from '../../../useAwxView'; import { useProjectsColumns, useProjectsFilters } from '../Projects'; export function useSelectProject() { const { t } = useTranslation(); const toolbarFilters = useProjectsFilters(); const tableColumns = useProjectsColumns({ disableLinks: true }); - const view = useControllerView({ + const view = useAwxView({ url: '/api/v2/projects/', toolbarFilters, tableColumns, diff --git a/frontend/controller/resources/projects/hooks/useSelectProjects.tsx b/frontend/awx/resources/projects/hooks/useSelectProjects.tsx similarity index 76% rename from frontend/controller/resources/projects/hooks/useSelectProjects.tsx rename to frontend/awx/resources/projects/hooks/useSelectProjects.tsx index f5841d0eb9..c1119db55d 100644 --- a/frontend/controller/resources/projects/hooks/useSelectProjects.tsx +++ b/frontend/awx/resources/projects/hooks/useSelectProjects.tsx @@ -1,14 +1,14 @@ import { useTranslation } from 'react-i18next'; import { useSelectDialog } from '../../../../../framework'; import { Project } from '../../../interfaces/Project'; -import { useControllerView } from '../../../useControllerView'; -import { useProjectsColumns, useProjectsFilters } from '../../projects/Projects'; +import { useAwxView } from '../../../useAwxView'; +import { useProjectsColumns, useProjectsFilters } from '../Projects'; export function useSelectProjects() { const { t } = useTranslation(); const toolbarFilters = useProjectsFilters(); const tableColumns = useProjectsColumns({ disableLinks: true }); - const view = useControllerView({ + const view = useAwxView({ url: '/api/v2/projects/', toolbarFilters, tableColumns, diff --git a/frontend/controller/resources/templates/JobTemplateInputs.tsx b/frontend/awx/resources/templates/JobTemplateInputs.tsx similarity index 100% rename from frontend/controller/resources/templates/JobTemplateInputs.tsx rename to frontend/awx/resources/templates/JobTemplateInputs.tsx diff --git a/frontend/controller/resources/templates/TemplateDetail.cy.tsx b/frontend/awx/resources/templates/TemplateDetail.cy.tsx similarity index 100% rename from frontend/controller/resources/templates/TemplateDetail.cy.tsx rename to frontend/awx/resources/templates/TemplateDetail.cy.tsx diff --git a/frontend/controller/resources/templates/TemplateDetail.tsx b/frontend/awx/resources/templates/TemplateDetail.tsx similarity index 100% rename from frontend/controller/resources/templates/TemplateDetail.tsx rename to frontend/awx/resources/templates/TemplateDetail.tsx diff --git a/frontend/controller/resources/templates/TemplateForm.tsx b/frontend/awx/resources/templates/TemplateForm.tsx similarity index 100% rename from frontend/controller/resources/templates/TemplateForm.tsx rename to frontend/awx/resources/templates/TemplateForm.tsx diff --git a/frontend/controller/resources/templates/Templates.tsx b/frontend/awx/resources/templates/Templates.tsx similarity index 97% rename from frontend/controller/resources/templates/Templates.tsx rename to frontend/awx/resources/templates/Templates.tsx index 7834ce2690..c7629580f0 100644 --- a/frontend/controller/resources/templates/Templates.tsx +++ b/frontend/awx/resources/templates/Templates.tsx @@ -25,10 +25,10 @@ import { useDescriptionToolbarFilter, useModifiedByToolbarFilter, useNameToolbarFilter, -} from '../../common/controller-toolbar-filters'; +} from '../../common/awx-toolbar-filters'; import { JobTemplate } from '../../interfaces/JobTemplate'; import { WorkflowJobTemplate } from '../../interfaces/WorkflowJobTemplate'; -import { useControllerView } from '../../useControllerView'; +import { useAwxView } from '../../useAwxView'; import { useDeleteTemplates } from './hooks/useDeleteTemplates'; export function Templates() { @@ -36,7 +36,7 @@ export function Templates() { const navigate = useNavigate(); const toolbarFilters = useTemplateFilters(); const tableColumns = useTemplatesColumns(); - const view = useControllerView({ + const view = useAwxView({ url: '/api/v2/unified_job_templates/', toolbarFilters, tableColumns, diff --git a/frontend/controller/resources/templates/WorkflowJobTemplateDetail.tsx b/frontend/awx/resources/templates/WorkflowJobTemplateDetail.tsx similarity index 100% rename from frontend/controller/resources/templates/WorkflowJobTemplateDetail.tsx rename to frontend/awx/resources/templates/WorkflowJobTemplateDetail.tsx diff --git a/frontend/controller/resources/templates/components/PageFormJobTemplateSelect.tsx b/frontend/awx/resources/templates/components/PageFormJobTemplateSelect.tsx similarity index 100% rename from frontend/controller/resources/templates/components/PageFormJobTemplateSelect.tsx rename to frontend/awx/resources/templates/components/PageFormJobTemplateSelect.tsx diff --git a/frontend/controller/resources/templates/components/PageFormWorkflowJobTemplateSelect.tsx b/frontend/awx/resources/templates/components/PageFormWorkflowJobTemplateSelect.tsx similarity index 100% rename from frontend/controller/resources/templates/components/PageFormWorkflowJobTemplateSelect.tsx rename to frontend/awx/resources/templates/components/PageFormWorkflowJobTemplateSelect.tsx diff --git a/frontend/controller/resources/templates/components/WorkflowHelp.jsx b/frontend/awx/resources/templates/components/WorkflowHelp.jsx similarity index 100% rename from frontend/controller/resources/templates/components/WorkflowHelp.jsx rename to frontend/awx/resources/templates/components/WorkflowHelp.jsx diff --git a/frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/TemplatesAPI/Base.jsx b/frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/TemplatesAPI/Base.jsx similarity index 100% rename from frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/TemplatesAPI/Base.jsx rename to frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/TemplatesAPI/Base.jsx diff --git a/frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/TemplatesAPI/InventorySources.jsx b/frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/TemplatesAPI/InventorySources.jsx similarity index 100% rename from frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/TemplatesAPI/InventorySources.jsx rename to frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/TemplatesAPI/InventorySources.jsx diff --git a/frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/TemplatesAPI/JobTemplates.jsx b/frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/TemplatesAPI/JobTemplates.jsx similarity index 100% rename from frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/TemplatesAPI/JobTemplates.jsx rename to frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/TemplatesAPI/JobTemplates.jsx diff --git a/frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/TemplatesAPI/Projects.jsx b/frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/TemplatesAPI/Projects.jsx similarity index 100% rename from frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/TemplatesAPI/Projects.jsx rename to frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/TemplatesAPI/Projects.jsx diff --git a/frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/TemplatesAPI/SystemJobTemplates.jsx b/frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/TemplatesAPI/SystemJobTemplates.jsx similarity index 100% rename from frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/TemplatesAPI/SystemJobTemplates.jsx rename to frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/TemplatesAPI/SystemJobTemplates.jsx diff --git a/frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/TemplatesAPI/WorkflowApproval.jsx b/frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/TemplatesAPI/WorkflowApproval.jsx similarity index 100% rename from frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/TemplatesAPI/WorkflowApproval.jsx rename to frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/TemplatesAPI/WorkflowApproval.jsx diff --git a/frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/TemplatesAPI/WorkflowJobTemplateNodes.jsx b/frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/TemplatesAPI/WorkflowJobTemplateNodes.jsx similarity index 100% rename from frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/TemplatesAPI/WorkflowJobTemplateNodes.jsx rename to frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/TemplatesAPI/WorkflowJobTemplateNodes.jsx diff --git a/frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/TemplatesAPI/WorkflowJobTemplates.jsx b/frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/TemplatesAPI/WorkflowJobTemplates.jsx similarity index 100% rename from frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/TemplatesAPI/WorkflowJobTemplates.jsx rename to frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/TemplatesAPI/WorkflowJobTemplates.jsx diff --git a/frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/TemplatesAPI/index.jsx b/frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/TemplatesAPI/index.jsx similarity index 100% rename from frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/TemplatesAPI/index.jsx rename to frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/TemplatesAPI/index.jsx diff --git a/frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/Visualizer.jsx b/frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/Visualizer.jsx similarity index 99% rename from frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/Visualizer.jsx rename to frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/Visualizer.jsx index 2e26ca678d..fcefc02ac3 100644 --- a/frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/Visualizer.jsx +++ b/frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/Visualizer.jsx @@ -12,7 +12,7 @@ import { useTranslation } from 'react-i18next'; import { useNavigate } from 'react-router-dom'; import styled from 'styled-components'; import { RouteE } from '../../../../../Routes.ts'; -import { visualizerReducer } from '../../components/WorkflowReducer.tsx'; +import { visualizerReducer } from '../WorkflowReducer.tsx'; import { WorkflowDispatchContext, WorkflowStateContext } from './shared/WorkflowContext.jsx'; import { WorkflowApprovalAPI, diff --git a/frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/VisualizerGraph.jsx b/frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/VisualizerGraph.jsx similarity index 100% rename from frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/VisualizerGraph.jsx rename to frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/VisualizerGraph.jsx diff --git a/frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/VisualizerLink.jsx b/frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/VisualizerLink.jsx similarity index 100% rename from frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/VisualizerLink.jsx rename to frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/VisualizerLink.jsx diff --git a/frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/VisualizerNode.jsx b/frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/VisualizerNode.jsx similarity index 100% rename from frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/VisualizerNode.jsx rename to frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/VisualizerNode.jsx diff --git a/frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/VisualizerStartScreen.jsx b/frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/VisualizerStartScreen.jsx similarity index 100% rename from frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/VisualizerStartScreen.jsx rename to frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/VisualizerStartScreen.jsx diff --git a/frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/VisualizerTab.tsx b/frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/VisualizerTab.tsx similarity index 100% rename from frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/VisualizerTab.tsx rename to frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/VisualizerTab.tsx diff --git a/frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/VisualizerToolbar.jsx b/frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/VisualizerToolbar.jsx similarity index 100% rename from frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/VisualizerToolbar.jsx rename to frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/VisualizerToolbar.jsx diff --git a/frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/index.jsx b/frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/index.jsx similarity index 100% rename from frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/index.jsx rename to frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/index.jsx diff --git a/frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/shared/WorkflowActionTooltip.jsx b/frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/shared/WorkflowActionTooltip.jsx similarity index 100% rename from frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/shared/WorkflowActionTooltip.jsx rename to frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/shared/WorkflowActionTooltip.jsx diff --git a/frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/shared/WorkflowActionsTooltipItem.jsx b/frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/shared/WorkflowActionsTooltipItem.jsx similarity index 100% rename from frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/shared/WorkflowActionsTooltipItem.jsx rename to frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/shared/WorkflowActionsTooltipItem.jsx diff --git a/frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/shared/WorkflowContext.jsx b/frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/shared/WorkflowContext.jsx similarity index 100% rename from frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/shared/WorkflowContext.jsx rename to frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/shared/WorkflowContext.jsx diff --git a/frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/shared/WorkflowJobTemplateVisualizerUtils.jsx b/frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/shared/WorkflowJobTemplateVisualizerUtils.jsx similarity index 100% rename from frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/shared/WorkflowJobTemplateVisualizerUtils.jsx rename to frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/shared/WorkflowJobTemplateVisualizerUtils.jsx diff --git a/frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/shared/WorkflowNodeTypeLetter.jsx b/frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/shared/WorkflowNodeTypeLetter.jsx similarity index 100% rename from frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/shared/WorkflowNodeTypeLetter.jsx rename to frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/shared/WorkflowNodeTypeLetter.jsx diff --git a/frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/utils/WorkflowUtils.jsx b/frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/utils/WorkflowUtils.jsx similarity index 100% rename from frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/utils/WorkflowUtils.jsx rename to frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/utils/WorkflowUtils.jsx diff --git a/frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/utils/getAddedAndRemoved.jsx b/frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/utils/getAddedAndRemoved.jsx similarity index 100% rename from frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/utils/getAddedAndRemoved.jsx rename to frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/utils/getAddedAndRemoved.jsx diff --git a/frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/utils/strings.jsx b/frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/utils/strings.jsx similarity index 100% rename from frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/utils/strings.jsx rename to frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/utils/strings.jsx diff --git a/frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/utils/useRequest.jsx b/frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/utils/useRequest.jsx similarity index 100% rename from frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/utils/useRequest.jsx rename to frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/utils/useRequest.jsx diff --git a/frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/utils/utils.jsx b/frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/utils/utils.jsx similarity index 100% rename from frontend/controller/resources/templates/components/WorkflowJobTemplateVisualizer/utils/utils.jsx rename to frontend/awx/resources/templates/components/WorkflowJobTemplateVisualizer/utils/utils.jsx diff --git a/frontend/controller/resources/templates/components/WorkflowLegend.jsx b/frontend/awx/resources/templates/components/WorkflowLegend.jsx similarity index 99% rename from frontend/controller/resources/templates/components/WorkflowLegend.jsx rename to frontend/awx/resources/templates/components/WorkflowLegend.jsx index e959985989..3c646fb139 100644 --- a/frontend/controller/resources/templates/components/WorkflowLegend.jsx +++ b/frontend/awx/resources/templates/components/WorkflowLegend.jsx @@ -7,7 +7,7 @@ import { useContext } from 'react'; import { t } from '@lingui/macro'; import { ExclamationTriangleIcon, PauseIcon, TimesIcon } from '@patternfly/react-icons'; import styled from 'styled-components'; -import { WorkflowDispatchContext } from './shared/WorkflowContext.jsx'; +import { WorkflowDispatchContext } from './shared/WorkflowContext.jsx.js'; const Wrapper = styled.div` background-color: white; diff --git a/frontend/controller/resources/templates/components/WorkflowLinkHelp.jsx b/frontend/awx/resources/templates/components/WorkflowLinkHelp.jsx similarity index 100% rename from frontend/controller/resources/templates/components/WorkflowLinkHelp.jsx rename to frontend/awx/resources/templates/components/WorkflowLinkHelp.jsx diff --git a/frontend/controller/resources/templates/components/WorkflowNodeHelp.jsx b/frontend/awx/resources/templates/components/WorkflowNodeHelp.jsx similarity index 100% rename from frontend/controller/resources/templates/components/WorkflowNodeHelp.jsx rename to frontend/awx/resources/templates/components/WorkflowNodeHelp.jsx diff --git a/frontend/controller/resources/templates/components/WorkflowReducer.tsx b/frontend/awx/resources/templates/components/WorkflowReducer.tsx similarity index 100% rename from frontend/controller/resources/templates/components/WorkflowReducer.tsx rename to frontend/awx/resources/templates/components/WorkflowReducer.tsx diff --git a/frontend/controller/resources/templates/components/WorkflowStartNode.jsx b/frontend/awx/resources/templates/components/WorkflowStartNode.jsx similarity index 100% rename from frontend/controller/resources/templates/components/WorkflowStartNode.jsx rename to frontend/awx/resources/templates/components/WorkflowStartNode.jsx diff --git a/frontend/controller/resources/templates/hooks/useDeleteTemplates.tsx b/frontend/awx/resources/templates/hooks/useDeleteTemplates.tsx similarity index 100% rename from frontend/controller/resources/templates/hooks/useDeleteTemplates.tsx rename to frontend/awx/resources/templates/hooks/useDeleteTemplates.tsx diff --git a/frontend/controller/resources/templates/hooks/useSelectJobTemplate.tsx b/frontend/awx/resources/templates/hooks/useSelectJobTemplate.tsx similarity index 86% rename from frontend/controller/resources/templates/hooks/useSelectJobTemplate.tsx rename to frontend/awx/resources/templates/hooks/useSelectJobTemplate.tsx index 966b43a0fe..f63c9e5f1d 100644 --- a/frontend/controller/resources/templates/hooks/useSelectJobTemplate.tsx +++ b/frontend/awx/resources/templates/hooks/useSelectJobTemplate.tsx @@ -1,14 +1,14 @@ import { useTranslation } from 'react-i18next'; import { useSelectDialog } from '../../../../../framework'; import { JobTemplate } from '../../../interfaces/JobTemplate'; -import { useControllerView } from '../../../useControllerView'; +import { useAwxView } from '../../../useAwxView'; import { useTemplateFilters, useTemplatesColumns } from '../Templates'; export function useSelectJobTemplate() { const { t } = useTranslation(); const toolbarFilters = useTemplateFilters(); const tableColumns = useTemplatesColumns({ disableLinks: true }); - const view = useControllerView({ + const view = useAwxView({ url: '/api/v2/job_templates/', toolbarFilters, tableColumns, diff --git a/frontend/controller/resources/templates/hooks/useSelectWorkflowJobTemplate.tsx b/frontend/awx/resources/templates/hooks/useSelectWorkflowJobTemplate.tsx similarity index 86% rename from frontend/controller/resources/templates/hooks/useSelectWorkflowJobTemplate.tsx rename to frontend/awx/resources/templates/hooks/useSelectWorkflowJobTemplate.tsx index 843d4b47e3..ffcabb9ab2 100644 --- a/frontend/controller/resources/templates/hooks/useSelectWorkflowJobTemplate.tsx +++ b/frontend/awx/resources/templates/hooks/useSelectWorkflowJobTemplate.tsx @@ -1,14 +1,14 @@ import { useTranslation } from 'react-i18next'; import { useSelectDialog } from '../../../../../framework'; import { WorkflowJobTemplate } from '../../../interfaces/WorkflowJobTemplate'; -import { useControllerView } from '../../../useControllerView'; +import { useAwxView } from '../../../useAwxView'; import { useTemplateFilters, useTemplatesColumns } from '../Templates'; export function useSelectWorkflowJobTemplate() { const { t } = useTranslation(); const toolbarFilters = useTemplateFilters(); const tableColumns = useTemplatesColumns({ disableLinks: true }); - const view = useControllerView({ + const view = useAwxView({ url: '/api/v2/workflow_job_templates/', toolbarFilters, tableColumns, diff --git a/frontend/controller/resources/templates/templateFormhelpers.tsx b/frontend/awx/resources/templates/templateFormhelpers.tsx similarity index 100% rename from frontend/controller/resources/templates/templateFormhelpers.tsx rename to frontend/awx/resources/templates/templateFormhelpers.tsx diff --git a/frontend/controller/settings/Settings.tsx b/frontend/awx/settings/Settings.tsx similarity index 100% rename from frontend/controller/settings/Settings.tsx rename to frontend/awx/settings/Settings.tsx diff --git a/frontend/controller/useControllerView.tsx b/frontend/awx/useAwxView.tsx similarity index 95% rename from frontend/controller/useControllerView.tsx rename to frontend/awx/useAwxView.tsx index f59fe4f347..c794f8dd50 100644 --- a/frontend/controller/useControllerView.tsx +++ b/frontend/awx/useAwxView.tsx @@ -5,7 +5,7 @@ import { ISelected, ITableColumn, IToolbarFilter, useSelected } from '../../fram import { IView, useView } from '../../framework/useView'; import { getItemKey, ItemsResponse, swrOptions, useFetcher } from '../Data'; -export type IControllerView = IView & +export type IAwxView = IView & ISelected & { itemCount: number | undefined; pageItems: T[] | undefined; @@ -25,13 +25,13 @@ function getQueryString(queryParams: QueryParams) { .join('&'); } -export function useControllerView(options: { +export function useAwxView(options: { url: string; toolbarFilters?: IToolbarFilter[]; tableColumns?: ITableColumn[]; queryParams?: QueryParams; disableQueryString?: boolean; -}): IControllerView { +}): IAwxView { let { url } = options; const { toolbarFilters, tableColumns, disableQueryString } = options; @@ -156,7 +156,7 @@ export function useControllerView(options: { ]); } -export async function getControllerError(err: unknown) { +export async function getAwxError(err: unknown) { if (err instanceof HTTPError) { try { const response = (await err.response.json()) as { __all__?: string[] }; diff --git a/frontend/controller/views/jobs/Jobs.cy.tsx b/frontend/awx/views/jobs/Jobs.cy.tsx similarity index 100% rename from frontend/controller/views/jobs/Jobs.cy.tsx rename to frontend/awx/views/jobs/Jobs.cy.tsx diff --git a/frontend/controller/views/jobs/Jobs.tsx b/frontend/awx/views/jobs/Jobs.tsx similarity index 96% rename from frontend/controller/views/jobs/Jobs.tsx rename to frontend/awx/views/jobs/Jobs.tsx index 4631919598..257ee85aa1 100644 --- a/frontend/controller/views/jobs/Jobs.tsx +++ b/frontend/awx/views/jobs/Jobs.tsx @@ -15,7 +15,7 @@ import { useTranslation } from 'react-i18next'; import { useAwxWebSocketSubscription } from '../../common/useAwxWebSocket'; import { JobsChart } from '../../dashboard/charts/JobsChart'; import { UnifiedJob } from '../../interfaces/UnifiedJob'; -import { useControllerView } from '../../useControllerView'; +import { useAwxView } from '../../useAwxView'; import { useJobRowActions } from './hooks/useJobRowActions'; import { useJobsColumns } from './hooks/useJobsColumns'; import { useJobsFilters } from './hooks/useJobsFilters'; @@ -25,7 +25,7 @@ export default function Jobs() { const { t } = useTranslation(); const toolbarFilters = useJobsFilters(); const tableColumns = useJobsColumns(); - const view = useControllerView({ + const view = useAwxView({ url: '/api/v2/unified_jobs/', queryParams: { not__launch_type: 'sync', diff --git a/frontend/controller/views/jobs/hooks/useCancelJobs.tsx b/frontend/awx/views/jobs/hooks/useCancelJobs.tsx similarity index 100% rename from frontend/controller/views/jobs/hooks/useCancelJobs.tsx rename to frontend/awx/views/jobs/hooks/useCancelJobs.tsx diff --git a/frontend/controller/views/jobs/hooks/useDeleteJobs.tsx b/frontend/awx/views/jobs/hooks/useDeleteJobs.tsx similarity index 100% rename from frontend/controller/views/jobs/hooks/useDeleteJobs.tsx rename to frontend/awx/views/jobs/hooks/useDeleteJobs.tsx diff --git a/frontend/controller/views/jobs/hooks/useJobFilters.cy.tsx b/frontend/awx/views/jobs/hooks/useJobFilters.cy.tsx similarity index 100% rename from frontend/controller/views/jobs/hooks/useJobFilters.cy.tsx rename to frontend/awx/views/jobs/hooks/useJobFilters.cy.tsx diff --git a/frontend/controller/views/jobs/hooks/useJobRowActions.tsx b/frontend/awx/views/jobs/hooks/useJobRowActions.tsx similarity index 100% rename from frontend/controller/views/jobs/hooks/useJobRowActions.tsx rename to frontend/awx/views/jobs/hooks/useJobRowActions.tsx diff --git a/frontend/controller/views/jobs/hooks/useJobToolbarActions.tsx b/frontend/awx/views/jobs/hooks/useJobToolbarActions.tsx similarity index 100% rename from frontend/controller/views/jobs/hooks/useJobToolbarActions.tsx rename to frontend/awx/views/jobs/hooks/useJobToolbarActions.tsx diff --git a/frontend/controller/views/jobs/hooks/useJobsColumns.tsx b/frontend/awx/views/jobs/hooks/useJobsColumns.tsx similarity index 100% rename from frontend/controller/views/jobs/hooks/useJobsColumns.tsx rename to frontend/awx/views/jobs/hooks/useJobsColumns.tsx diff --git a/frontend/controller/views/jobs/hooks/useJobsFilters.tsx b/frontend/awx/views/jobs/hooks/useJobsFilters.tsx similarity index 96% rename from frontend/controller/views/jobs/hooks/useJobsFilters.tsx rename to frontend/awx/views/jobs/hooks/useJobsFilters.tsx index 6f01b2594c..aeecc51bc5 100644 --- a/frontend/controller/views/jobs/hooks/useJobsFilters.tsx +++ b/frontend/awx/views/jobs/hooks/useJobsFilters.tsx @@ -1,5 +1,5 @@ import { IToolbarFilter } from '../../../../../framework'; -import { useNameToolbarFilter } from '../../../common/controller-toolbar-filters'; +import { useNameToolbarFilter } from '../../../common/awx-toolbar-filters'; import { useMemo } from 'react'; import { useTranslation } from 'react-i18next'; diff --git a/frontend/controller/views/jobs/hooks/useJobsView.tsx b/frontend/awx/views/jobs/hooks/useJobsView.tsx similarity index 65% rename from frontend/controller/views/jobs/hooks/useJobsView.tsx rename to frontend/awx/views/jobs/hooks/useJobsView.tsx index b3d556355f..edd7fceb09 100644 --- a/frontend/controller/views/jobs/hooks/useJobsView.tsx +++ b/frontend/awx/views/jobs/hooks/useJobsView.tsx @@ -1,8 +1,8 @@ import { UnifiedJob } from '../../../interfaces/UnifiedJob'; -import { useControllerView } from '../../../useControllerView'; +import { useAwxView } from '../../../useAwxView'; export function useJobsView() { - const view = useControllerView({ + const view = useAwxView({ url: '/api/v2/unified_jobs/', queryParams: { not__launch_type: 'sync', diff --git a/frontend/controller/views/jobs/hooks/useRelaunchJob.tsx b/frontend/awx/views/jobs/hooks/useRelaunchJob.tsx similarity index 100% rename from frontend/controller/views/jobs/hooks/useRelaunchJob.tsx rename to frontend/awx/views/jobs/hooks/useRelaunchJob.tsx diff --git a/frontend/controller/views/jobs/jobUtils.cy.tsx b/frontend/awx/views/jobs/jobUtils.cy.tsx similarity index 100% rename from frontend/controller/views/jobs/jobUtils.cy.tsx rename to frontend/awx/views/jobs/jobUtils.cy.tsx diff --git a/frontend/controller/views/jobs/jobUtils.tsx b/frontend/awx/views/jobs/jobUtils.tsx similarity index 100% rename from frontend/controller/views/jobs/jobUtils.tsx rename to frontend/awx/views/jobs/jobUtils.tsx diff --git a/frontend/common/CommonSidebar.tsx b/frontend/common/CommonSidebar.tsx index 8b961879a0..94a42e8d47 100644 --- a/frontend/common/CommonSidebar.tsx +++ b/frontend/common/CommonSidebar.tsx @@ -46,7 +46,7 @@ export function CommonSidebar(props: { onClick( automationServer?.type === AutomationServerType.AWX - ? RouteE.ControllerAutomationServers + ? RouteE.AwxAutomationServers : automationServer?.type === AutomationServerType.Galaxy ? RouteE.HubAutomationServers : automationServer?.type === AutomationServerType.EDA diff --git a/frontend/common/Debug.tsx b/frontend/common/Debug.tsx index fb00972ce1..a055489600 100644 --- a/frontend/common/Debug.tsx +++ b/frontend/common/Debug.tsx @@ -4,7 +4,7 @@ import { useCallback, useMemo } from 'react'; import { PageHeader } from '../../framework'; import { useBulkActionDialog } from '../../framework/BulkActionDialog'; import { randomString } from '../../framework/utils/random-string'; -import { Team } from '../controller/interfaces/Team'; +import { Team } from '../awx/interfaces/Team'; import { requestPost } from '../Data'; import { RouteE } from '../Routes'; diff --git a/frontend/common/should-show-autmation-servers.tsx b/frontend/common/should-show-autmation-servers.tsx index 0845f3f7f3..312ee4d18a 100644 --- a/frontend/common/should-show-autmation-servers.tsx +++ b/frontend/common/should-show-autmation-servers.tsx @@ -1,8 +1,8 @@ export function shouldShowAutmationServers() { let count = 0; - let showController = process.env.CONTROLLER === 'true'; - if (showController) count++; + let showAWX = process.env.AWX === 'true'; + if (showAWX) count++; let showHub = process.env.HUB === 'true'; if (showHub) count++; @@ -12,14 +12,14 @@ export function shouldShowAutmationServers() { const showAutomationServers = count !== 1; if (showAutomationServers) { - showController = true; + showAWX = true; showHub = true; showEda = true; } return { showAutomationServers, - showController, + showAWX, showHub, showEda, }; diff --git a/frontend/common/useActiveUser.tsx b/frontend/common/useActiveUser.tsx index e989f12f3a..ca78ff21e1 100644 --- a/frontend/common/useActiveUser.tsx +++ b/frontend/common/useActiveUser.tsx @@ -1,6 +1,6 @@ import { createContext, ReactNode, useContext, useEffect, useState } from 'react'; import { useGet } from '../common/useItem'; -import { User } from '../controller/interfaces/User'; +import { User } from '../awx/interfaces/User'; const ActiveUserContext = createContext(undefined); diff --git a/frontend/hub/useHubView.tsx b/frontend/hub/useHubView.tsx index d328f79973..a03677cea9 100644 --- a/frontend/hub/useHubView.tsx +++ b/frontend/hub/useHubView.tsx @@ -136,7 +136,7 @@ export function useHubView( }, [data?.data, error, refresh, selection, unselectItemsAndRefresh, view]); } -export async function getControllerError(err: unknown) { +export async function getAwxError(err: unknown) { if (err instanceof HTTPError) { try { const response = (await err.response.json()) as { __all__?: string[] }; diff --git a/frontend/hub/usePulpView.tsx b/frontend/hub/usePulpView.tsx index b47fb56c3a..2c55ca1c3d 100644 --- a/frontend/hub/usePulpView.tsx +++ b/frontend/hub/usePulpView.tsx @@ -121,7 +121,7 @@ export function usePulpView( }, [data, error, refresh, selection, view]); } -export async function getControllerError(err: unknown) { +export async function getAwxError(err: unknown) { if (err instanceof HTTPError) { try { const response = (await err.response.json()) as { __all__?: string[] }; diff --git a/locales/en/Error validating organization.json b/locales/en/Error validating organization.json new file mode 100644 index 0000000000..28ccfac641 --- /dev/null +++ b/locales/en/Error validating organization.json @@ -0,0 +1,5 @@ +{ + " {{errMessage}}": { + " Please reload the page": " {{errMessage}}. Please reload the page." + } +} diff --git a/locales/en/translation.json b/locales/en/translation.json index 916e6a2f09..f719dcb45e 100644 --- a/locales/en/translation.json +++ b/locales/en/translation.json @@ -1,5 +1,20 @@ { " activation": " activation", + "{{count}} of the selected teams cannot be deleted due to insufficient permissions": { + "_one": "{{count}} of the selected teams cannot be deleted due to insufficient permissions.", + "_other": "{{count}} of the selected teams cannot be deleted due to insufficient permissions." + }, + "{{count}} of the selected users cannot be deleted due to insufficient permissions": { + "_one": "{{count}} of the selected users cannot be deleted due to insufficient permissions.", + "_other": "{{count}} of the selected users cannot be deleted due to insufficient permissions." + }, + "{dateStr} by <3>{username}": "{dateStr} by <3>{username}", + "0 (Normal)": "0 (Normal)", + "1 (Verbose)": "1 (Verbose)", + "2 (More Verbose)": "2 (More Verbose)", + "3 (Debug)": "3 (Debug)", + "4 (Connection Debug)": "4 (Connection Debug)", + "5 (WinRM Debug)": "5 (WinRM Debug)", "A job template is a definition and set of parameters for running an Ansible job": "A job template is a definition and set of parameters for running an Ansible job.", "A Project is a logical collection of Ansible playbooks, represented in Tower": "A Project is a logical collection of Ansible playbooks, represented in Tower.", "A system managed by Ansible, which may include a physical, virtual, cloud-based server, or other device": "A system managed by Ansible, which may include a physical, virtual, cloud-based server, or other device.", @@ -10,22 +25,32 @@ } } }, + "A Team is a subdivision of an organization with associated users, projects, credentials, and permissions": "A Team is a subdivision of an organization with associated users, projects, credentials, and permissions.", "About": "About", "Access": "Access", + "Action type": "Action type", + "Action Type": "Action Type", "Actions": "Actions", + "Activation": "Activation", + "Activation instance": "Activation instance", + "Activation status": "Activation status", "Activities": "Activities", + "Ad Hoc": "Ad Hoc", "Add": "Add", "Add automation server": "Add automation server", "Add execution environment": "Add execution environment", "Add namespace": "Add namespace", "Add remote registry": "Add remote registry", "Add role": "Add role", + "Add role to team": "Add role to team", "Add role to user": "Add role to user", + "Add roles to team": "Add roles to team", + "Add roles to user": "Add roles to user", "Add selected users to organizations": "Add selected users to organizations", "Add selected users to teams": "Add selected users to teams", + "Add team": "Add team", "Add user to organization": "Add user to organization", "Add user to organizations": "Add user to organizations", - "Add user to team": "Add user to team", "Add user to teams": "Add user to teams", "Add users": "Add users", "Add users to organization": "Add users to organization", @@ -39,6 +64,7 @@ "Adding a user to an organization adds them as a member only": { " Permissions can be granted using teams and user roles": "Adding a user to an organization adds them as a member only. Permissions can be granted using teams and user roles." }, + "Adding roles": "Adding roles", "Adding user to organizations": { "_one": "Adding user to organizations...", "_other": "Adding user to organizations..." @@ -61,6 +87,7 @@ }, "Adding users to teams_one": "Adding users to teams", "Adding users to teams_other": "Adding users to teams", + "Admin": "Admin", "Administration": "Administration", "All": "All", "Amazing Collection": "Amazing Collection", @@ -80,21 +107,46 @@ "Approve": "Approve", "Approve collections": "Approve collections", "Approved": "Approved", + "Are you sure you want to disable the rulebook activation below?": "Are you sure you want to disable the rulebook activation below?", + "Are you sure you want to disable the rulebook below?": "Are you sure you want to disable the rulebook below?", + "Are you sure you want to disable the ruleset below?": "Are you sure you want to disable the ruleset below?", + "Are you sure you want to enable the rulebook below?": "Are you sure you want to enable the rulebook below?", + "Are you sure you want to enable the ruleset below?": "Are you sure you want to enable the ruleset below?", + "Are you sure you want to launch the action below?": "Are you sure you want to launch the action below?", + "Are you sure you want to relaunch the rulebook activation below?": "Are you sure you want to relaunch the rulebook activation below?", + "Are you sure you want to restart the rulebook activation below?": "Are you sure you want to restart the rulebook activation below?", + "Auditor": "Auditor", "Auto": "Auto", "Automation Content": "Automation Content", - "Automation controller": "Automation controller", - "Automation controllers": "Automation controllers", - "Automation hub": "Automation hub", - "Automation hubs": "Automation hubs", "Automation server": "Automation server", - "Automation servers": "Automation servers", "Automation Servers": "Automation Servers", "Automation type": "Automation type", + "AWX Ansible server": "AWX Ansible server", "Being a team member grants the user all the permissions of the team": "Being a team member grants the user all the permissions of the team.", "Browse all certified collections": "Browse all certified collections", + "Browse available execution environments": "Browse available execution environments", "by": "by", + "Cache Timeout": "Cache Timeout", + "Can approve or deny a workflow approval node": "Can approve or deny a workflow approval node", "can edit, change, and update any inventory or automation definition": "can edit, change, and update any inventory or automation definition", + "Can manage all aspects of the credential": "Can manage all aspects of the credential", + "Can manage all aspects of the inventory": "Can manage all aspects of the inventory", + "Can manage all aspects of the job template": "Can manage all aspects of the job template", + "Can manage all aspects of the organization": "Can manage all aspects of the organization", + "Can manage all aspects of the project": "Can manage all aspects of the project", + "Can manage all aspects of the workflow job template": "Can manage all aspects of the workflow job template", + "Can manage all credentials of the organization": "Can manage all credentials of the organization", + "Can manage all execution environments of the organization": "Can manage all execution environments of the organization", + "Can manage all inventories of the organization": "Can manage all inventories of the organization", + "Can manage all job templates of the organization": "Can manage all job templates of the organization", + "Can manage all notifications of the organization": "Can manage all notifications of the organization", + "Can manage all projects of the organization": "Can manage all projects of the organization", + "Can manage all workflows of the organization": "Can manage all workflows of the organization", "can see all aspects of the systems automation, but has no permission to run or change automation": "can see all aspects of the systems automation, but has no permission to run or change automation", + "Can use the credential in a job template": "Can use the credential in a job template", + "Can use the inventory in a job template": "Can use the inventory in a job template", + "Can use the project in a job template": "Can use the project in a job template", + "Can view all aspects of the organization": "Can view all aspects of the organization", "Cancel": "Cancel", "Cancel job": "Cancel job", "Cancel jobs_one": "Cancel job", @@ -106,6 +158,7 @@ "Choices": "Choices", "Clear all filters": "Clear all filters", "Close": "Close", + "Cloud": "Cloud", "Collection": "Collection", "Collection approval": "Collection approval", "Collection approvals": "Collection approvals", @@ -117,9 +170,13 @@ "Comments": "Comments", "Community": "Community", "Completed": "Completed", + "Concurrent Jobs": "Concurrent Jobs", + "Conditions": "Conditions", "Configure repository": "Configure repository", "Confirm": "Confirm", + "Confirm delete": "Confirm delete", "Confirm password": "Confirm password", + "Connect intelligence, analytics and service requests to enable more responsive and resilient automation": "Connect intelligence, analytics and service requests to enable more responsive and resilient automation.", "Container group": "Container group", "Contents": "Contents", "Control": "Control", @@ -127,9 +184,11 @@ "control nodes run project and inventory updates and system jobs, but not regular jobs": { " Execution capabilities are disabled on these nodes": "control nodes run project and inventory updates and system jobs, but not regular jobs. Execution capabilities are disabled on these nodes." }, + "Copy project": "Copy project", "Copy this token now": { " This is the only time you will ever see it": "Copy this token now. This is the only time you will ever see it." }, + "Create an inventory": "Create an inventory", "Create container group": "Create container group", "Create credential": "Create credential", "Create execution environment": "Create execution environment", @@ -138,18 +197,24 @@ "Create instance": "Create instance", "Create instance group": "Create instance group", "Create inventory": "Create inventory", + "Create job template": "Create job template", "Create Job Template": "Create Job Template", + "Create or sync an execution environment": "Create or sync an execution environment", "Create organization": "Create organization", "Create project": "Create project", "Create rule": "Create rule", - "Create rulebook": "Create rulebook", "Create rulebook activation": "Create rulebook activation", "Create team": "Create team", "Create template": "Create template", "Create user": "Create user", + "Create User": "Create User", "Create Workflow Job Template": "Create Workflow Job Template", + "Create your first job template": "Create your first job template", "Created": "Created", "Created by": "Created by", + "Credential": "Credential", + "Credential Admin": "Credential Admin", + "Credential not found": "Credential not found.", "Credential type": "Credential type", "credentials": { "title": { @@ -158,9 +223,17 @@ } }, "Credentials": "Credentials", + "Custom virtual environment {virtualEnvironment} must be replaced by an execution environment": { + " For more information about migrating to execution environments see <4>the documentation": { + "": "Custom virtual environment {virtualEnvironment} must be replaced by an execution environment. For more information about migrating to execution environments see <4>the documentation." + } + }, "Dashboard": "Dashboard", "Debug": "Debug", + "Default execution environment": "Default execution environment", + "Default Execution Environment": "Default Execution Environment", "Define, operate, scale, and delegate automation across your enterprise": "Define, operate, scale, and delegate automation across your enterprise.", + "Delete": "Delete", "Delete collections_one": "Delete collections", "Delete collections_other": "Delete collections", "Delete credential": "Delete credential", @@ -193,15 +266,9 @@ "Delete project": "Delete project", "Delete projects_one": "Delete projects", "Delete projects_other": "Delete projects", - "Delete rule": "Delete rule", - "Delete rulebook": "Delete rulebook", "Delete rulebookActivation": "Delete rulebookActivation", "Delete rulebookActivations_one": "Delete rulebookActivations", "Delete rulebookActivations_other": "Delete rulebookActivations", - "Delete rulebooks_one": "Delete rulebooks", - "Delete rulebooks_other": "Delete rulebooks", - "Delete rules_one": "Delete rules", - "Delete rules_other": "Delete rules", "Delete selected collections": "Delete selected collections", "Delete selected credentials": "Delete selected credentials", "Delete selected execution environments": "Delete selected execution environments", @@ -212,28 +279,36 @@ "Delete selected organizations": "Delete selected organizations", "Delete selected projects": "Delete selected projects", "Delete selected rulebook activations": "Delete selected rulebook activations", - "Delete selected rulebooks": "Delete selected rulebooks", - "Delete selected rules": "Delete selected rules", "Delete selected teams": "Delete selected teams", "Delete selected users": "Delete selected users", + "Delete selected Users": "Delete selected Users", "Delete servers_one": "Delete servers", "Delete servers_other": "Delete servers", "Delete team": "Delete team", "Delete teams_one": "Delete team", "Delete teams_other": "Delete teams", + "Delete template": "Delete template", "Delete template_one": "Delete template", "Delete template_other": "Delete template", "Delete Template": "Delete Template", "Delete user": "Delete user", + "Delete User": "Delete User", "Delete users_one": "Delete users", "Delete users_other": "Delete users", + "Delete Users_one": "Delete Users", + "Delete Users_other": "Delete Users", + "Delete workflow template": "Delete workflow template", "Deny collections": "Deny collections", "Dependencies": "Dependencies", "Deprecate selected collections": "Deprecate selected collections", "Description": "Description", "Details": "Details", + "Disable": "Disable", + "Disable activation": "Disable activation", + "Disable rulebook": "Disable rulebook", + "Disable ruleset": "Disable ruleset", "Disabled": "Disabled", - "Discover, publish, and manage your Ansible Collections": "Discover, publish, and manage your Ansible Collections.", + "Discover, publish, and manage your Ansible collections": "Discover, publish, and manage your Ansible collections.", "Documentation": "Documentation", "Download key": "Download key", "Duration": "Duration", @@ -245,39 +320,47 @@ "Edit host": "Edit host", "Edit instance": "Edit instance", "Edit instance group": "Edit instance group", - "Edit inventory": "Edit inventory", + "Edit job template": "Edit job template", "Edit organization": "Edit organization", "Edit project": "Edit project", "Edit repository": "Edit repository", "Edit rule": "Edit rule", - "Edit rulebook": "Edit rulebook", - "Edit rulebook activation": "Edit rulebook activation", - "Edit rulebookActivation": "Edit rulebookActivation", "Edit team": "Edit team", + "Edit template": "Edit template", "Edit Template": "Edit Template", "Edit user": "Edit user", + "Edit User": "Edit User", + "Edit workflow template": "Edit workflow template", "Email": "Email", + "Enable": "Enable", + "Enable rulebook": "Enable rulebook", + "Enable ruleset": "Enable ruleset", "Enabled": "Enabled", + "Enabled options": "Enabled options", "Enter a friendly name for the automation server": "Enter a friendly name for the automation server", "Enter collection": "Enter collection", "Enter description": "Enter description", - "Enter inventory": "Enter inventory", + "Enter email": "Enter email", + "Enter first name": "Enter first name", "Enter keywords": "Enter keywords", + "Enter last name": "Enter last name", "Enter name": "Enter name", "Enter namespace": "Enter namespace", "Enter password": "Enter password", "Enter tags": "Enter tags", "Enter the name": "Enter the name", - "Enter the organization": "Enter the organization", "Enter the URL": "Enter the URL", "Enter the url of the automation server": "Enter the url of the automation server", "Enter username": "Enter username", "Error": "Error", + "Error loading actions": "Error loading actions", + "Error loading activations": "Error loading activations", "Error loading approvals": "Error loading approvals", "Error loading automation servers": "Error loading automation servers", "Error loading collections": "Error loading collections", "Error loading credentials": "Error loading credentials", "Error loading execution environments": "Error loading execution environments", + "Error loading history": "Error loading history", "Error loading hosts": "Error loading hosts", "Error loading instance groups": "Error loading instance groups", "Error loading instances": "Error loading instances", @@ -286,24 +369,38 @@ "Error loading namespaces": "Error loading namespaces", "Error loading organizations": "Error loading organizations", "Error loading projects": "Error loading projects", + "Error loading recent actions": "Error loading recent actions", + "Error loading recently changed hosts": "Error loading recently changed hosts", "Error loading remote registries": "Error loading remote registries", "Error loading repositories": "Error loading repositories", "Error loading roles": "Error loading roles", "Error loading rulebook activations": "Error loading rulebook activations", "Error loading rulebooks": "Error loading rulebooks", "Error loading rules": "Error loading rules", + "Error loading rulesets": "Error loading rulesets", "Error loading signature keys": "Error loading signature keys", "Error loading tasks": "Error loading tasks", "Error loading teams": "Error loading teams", "Error loading templates": "Error loading templates", "Error loading users": "Error loading users", - "Error validating organization: {{errMessage}}. Please reload the page.": "Error validating organization: {{errMessage}}. Please reload the page.", - "Error validating organization. Please reload the page.": "Error validating organization. Please reload the page.", - "Event driven": "Event driven", - "Event driven automation": "Event driven automation", + "Error querying execution environments": "Error querying execution environments.", + "Error querying hosts": "Error querying hosts.", + "Error querying inventories": "Error querying inventories.", + "Error querying projects": "Error querying projects.", + "Error querying unified jobs": "Error querying unified jobs.", + "Error validating organization": { + " Please reload the page": "Error validating organization. Please reload the page." + }, + "Event-driven Ansible server": "Event-driven Ansible server", "Examples": "Examples", + "Execute": "Execute", "Execution": "Execution", "Execution environment": "Execution environment", + "Execution Environment": "Execution Environment", + "Execution Environment Admin": "Execution Environment Admin", + "Execution environment is missing or deleted": "Execution environment is missing or deleted.", + "Execution Environment Missing": "Execution Environment Missing", + "Execution environment not found": "Execution environment not found.", "Execution environments": "Execution environments", "Execution Environments": "Execution Environments", "Execution node": "Execution node", @@ -319,8 +416,13 @@ } }, "ExecutionEnvironments": "ExecutionEnvironments", + "Extra vars": "Extra vars", + "Fact Storage": "Fact Storage", "Failed": "Failed", + "Failed to copy project": "Failed to copy project", "Failed to relaunch job": "Failed to relaunch job", + "Failed to remove role": "Failed to remove role", + "Failed to sync project": "Failed to sync project", "Featured Collections": "Featured Collections", "Filter By Job Type": "Filter By Job Type", "Filter by name": "Filter by name", @@ -328,40 +430,77 @@ "Find content": "Find content", "Fingerprint": "Fingerprint", "Finished": "Finished", + "Fire count": "Fire count", + "Fired date": "Fired date", "First name": "First name", - "Galaxy credentials": "Galaxy credentials", + "For instance, permissions may be granted to a whole Team rather than each user on the Team": "For instance, permissions may be granted to a whole Team rather than each user on the Team.", + "Forks": "Forks", + "Galaxy Ansible server": "Galaxy Ansible server", + "Galaxy Credentials": "Galaxy Credentials", "Generate token": "Generate token", "Generating a new token will delete your old token": "Generating a new token will delete your old token.", "Git": "Git", + "Git hash": "Git hash", + "GitHub": "GitHub", + "GitLab": "GitLab", + "Go to Projects": "Go to Projects", + "Go to Rulebook Activations": "Go to Rulebook Activations", + "GPG Public Key": "GPG Public Key", + "Groups": "Groups", + "Has all the permissons of the team": "Has all the permissons of the team", "has read and write access limited to the resources (such as inventory, projects, and job templates) for which that user has been granted the appropriate roles and privileges": "has read and write access limited to the resources (such as inventory, projects, and job templates) for which that user has been granted the appropriate roles and privileges", "Health check failed": "Health check failed", "Health check running": "Health check running", "Health check success": "Health check success", "Healthy": "Healthy", + "History": "History", "Hop": "Hop", "HOP node": "HOP node", + "Host config key": "Host config key", "Hosts": "Hosts", + "Hosts recently changed": "Hosts recently changed", "Hybrid": "Hybrid", - "Hybrid is the default node type for control plane nodes, responsible for automation controller runtime functions like project updates, management jobs and ansible-runner task operations": { - " Hybrid nodes are also used for automation execution": "Hybrid is the default node type for control plane nodes, responsible for automation controller runtime functions like project updates, management jobs and ansible-runner task operations. Hybrid nodes are also used for automation execution." + "Hybrid is the default node type for control plane nodes, responsible for runtime functions like project updates, management jobs and ansible-runner task operations": { + " Hybrid nodes are also used for automation execution": "Hybrid is the default node type for control plane nodes, responsible for runtime functions like project updates, management jobs and ansible-runner task operations. Hybrid nodes are also used for automation execution." }, "Hybrid node": "Hybrid node", + "Id": "Id", "ID": "ID", + "If you only want to remove access for this particular user, please remove them from the team": "If you only want to remove access for this particular user, please remove them from the team.", "Image": "Image", "Import log": "Import log", + "Insert description here": "Insert description here", + "Insert description here ": "Insert description here ", + "Insert execution environment here": "Insert execution environment here", + "Insert name here": "Insert name here", + "Insert token here": "Insert token here", + "Insert working directory here": "Insert working directory here", "Install": "Install", "Installation": "Installation", "Instance group": "Instance group", + "Instance group is required": "Instance group is required.", "Instance groups": "Instance groups", + "Instance Groups": "Instance Groups", "Instances": "Instances", "Invalid username or password": { " Please try again": "Invalid username or password. Please try again." }, "Inventories": "Inventories", "Inventory": "Inventory", + "Inventory Admin": "Inventory Admin", + "Inventory not found": "Inventory not found.", "Inventory Sync": "Inventory Sync", + "Job project not found": "Job project not found.", "Job relaunched": "Job relaunched", + "Job runs in the last 30 days": "Job runs in the last 30 days", + "Job slicing": "Job slicing", + "Job template": "Job template", + "Job Template": "Job Template", + "Job Template Admin": "Job Template Admin", + "Job template not found": "Job template not found.", "Job templates": "Job templates", + "Job Templates": "Job Templates", + "Job type": "Job type", "Job Type": "Job Type", "jobs": { "title": { @@ -373,10 +512,17 @@ "Key": "Key", "Keywords": "Keywords", "Label Name": "Label Name", + "Last fired": "Last fired", + "Last fired date": "Last fired date", "Last health check": "Last health check", + "Last Job Status": "Last Job Status", "Last modified": "Last modified", "Last name": "Last name", + "Last restarted": "Last restarted", "Last sync": "Last sync", + "Launch": "Launch", + "Launch action": "Launch action", + "Launch template": "Launch template", "Launched By (Username)": "Launched By (Username)", "License": "License", "Limit": "Limit", @@ -384,14 +530,27 @@ "Log In": "Log In", "Logout": "Logout", "Machine": "Machine", - "Manage automation servers": "Manage automation servers", "Management Job": "Management Job", "Manual": "Manual", + "May run ad hoc commands on the inventory": "May run ad hoc commands on the inventory", + "May run any executable resources in the organization": "May run any executable resources in the organization", + "May run the job template": "May run the job template", + "May run the workflow job template": "May run the workflow job template", + "May update the inventory": "May update the inventory", + "May update the project": "May update the project", + "May view settings for the credential": "May view settings for the credential", + "May view settings for the inventory": "May view settings for the inventory", + "May view settings for the job template": "May view settings for the job template", + "May view settings for the organization": "May view settings for the organization", + "May view settings for the project": "May view settings for the project", + "Member": "Member", "Members": "Members", "Memory": "Memory", + "Missing resource": "Missing resource", "Modified": "Modified", "Modified by": "Modified by", "Modules": "Modules", + "More information`": "More information`", "My namespaces": "My namespaces", "Name": "Name", "Namespace": "Namespace", @@ -399,6 +558,12 @@ "Needs review": "Needs review", "Never updated": "Never updated", "New": "New", + "No actions": "No actions", + "No actions for this rulebook activation": "No actions for this rulebook activation", + "No actions history": "No actions history", + "No actions history for this rulebook activation": "No actions history for this rulebook activation", + "No actions yet": "No actions yet", + "No activations yet": "No activations yet", "No approvals yet": "No approvals yet", "No collections yet": "No collections yet", "No credentials yet": "No credentials yet", @@ -411,15 +576,19 @@ "No namespaces yet": "No namespaces yet", "No organizations yet": "No organizations yet", "No projects yet": "No projects yet", + "No recent actions": "No recent actions", + "No recently changed hosts": "No recently changed hosts", "No remote registries yet": "No remote registries yet", "No repositories yet": "No repositories yet", "No results found": "No results found", "No results match this filter criteria": { - " Adjust your filters and try again": "No results match this filter criteria. Adjust your filters and try again." + " Clear all filters and try again": "No results match this filter criteria. Clear all filters and try again." }, + "No rule sets in this rulebook": "No rule sets in this rulebook", "No rulebook activations yet": "No rulebook activations yet", "No rulebooks yet": "No rulebooks yet", "No rules yet": "No rules yet", + "No rulesets yet": "No rulesets yet", "No signature keys yet": "No signature keys yet", "No tasks yet": "No tasks yet", "No teams yet": "No teams yet", @@ -429,7 +598,12 @@ "Node type": "Node type", "Normal user": "Normal user", "Notes": "Notes", + "Notification Admin": "Notification Admin", "Notifications": "Notifications", + "Number of rule sets": "Number of rule sets", + "Number of Rules": "Number of Rules", + "Off": "Off", + "On": "On", "Organization": "Organization", "Organization not found": "Organization not found", "organizations": { @@ -460,6 +634,7 @@ "Permanently delete inventories_one": "Permanently delete inventories", "Permanently delete inventories_other": "Permanently delete inventories", "Permanently delete inventory": "Permanently delete inventory", + "Permanently delete job template": "Permanently delete job template", "Permanently delete jobs_one": "Permanently delete job", "Permanently delete jobs_other": "Permanently delete jobs", "Permanently delete organization": "Permanently delete organization", @@ -468,34 +643,51 @@ "Permanently delete projects_other": "Permanently delete projects", "Permanently delete rulebookActivations_one": "Permanently delete rulebookActivations", "Permanently delete rulebookActivations_other": "Permanently delete rulebookActivations", - "Permanently delete rulebooks_one": "Permanently delete rulebooks", - "Permanently delete rulebooks_other": "Permanently delete rulebooks", - "Permanently delete rules_one": "Permanently delete rules", - "Permanently delete rules_other": "Permanently delete rules", "Permanently delete servers_one": "Permanently delete servers", "Permanently delete servers_other": "Permanently delete servers", "Permanently delete teams_one": "Permanently delete team", "Permanently delete teams_other": "Permanently delete teams", - "Permanently delete template": "Permanently delete template", "Permanently delete templates": "Permanently delete templates", "Permanently delete users_one": "Permanently delete user", "Permanently delete users_other": "Permanently delete users", + "Permanently delete Users_one": "Permanently delete Users", + "Permanently delete Users_other": "Permanently delete Users", + "Permanently delete workflow job template": "Permanently delete workflow job template", + "Permissions": "Permissions", + "Playbook": "Playbook", "Playbook Check": "Playbook Check", + "Playbook Directory": "Playbook Directory", "Playbook Run": "Playbook Run", + "Please add a project by using the button below": "Please add a project by using the button below", + "Please add a team by using the button below": "Please add a team by using the button below.", + "Please contact your Organization Administrator if there is an issue with your access": "Please contact your Organization Administrator if there is an issue with your access.", + "Please create a team by using the button below": "Please create a team by using the button below.", "Please run a job to populate this list": "Please run a job to populate this list.", "Plugins": "Plugins", "Policy type": "Policy type", + "Prevent instance group fallback": "Prevent instance group fallback", + "Prevent Instance Group Fallback": "Prevent Instance Group Fallback", + "Privilege Escalation": "Privilege Escalation", "Project": "Project", + "Project Admin": "Project Admin", "Projects": "Projects", + "Provisioning callback URL": "Provisioning callback URL", + "Provisioning Callbacks": "Provisioning Callbacks", "Public key": "Public key", "Published": "Published", + "Read": "Read", "Readme": "Readme", - "Red Hat": "Red Hat", + "Ready": "Ready", + "Recent actions": "Recent actions", + "Recently changed hosts": "Recently changed hosts", "Red Hat certified": "Red Hat certified", "Red Hat insights": "Red Hat insights", + "Refresh": "Refresh", "Registry URL": "Registry URL", "Reject": "Reject", "Rejected": "Rejected", + "Relaunch": "Relaunch", + "Relaunch activation": "Relaunch activation", "Relaunch job": "Relaunch job", "Relaunch on all hosts": "Relaunch on all hosts", "Relaunch on failed hosts": "Relaunch on failed hosts", @@ -506,9 +698,10 @@ "Remote registries": "Remote registries", "Remove": "Remove", "Remove automation server": "Remove automation server", + "Remove role from team": "Remove role from team", "Remove role from user": "Remove role from user", "Remove roles": "Remove roles", - "Remove selected automation servers": "Remove selected automation servers", + "Remove selected roles from team": "Remove selected roles from team", "Remove selected roles from user": "Remove selected roles from user", "Remove selected users": "Remove selected users", "Remove selected users from organizations": "Remove selected users from organizations", @@ -520,11 +713,9 @@ "Remove user from organizations": "Remove user from organizations", "Remove user from selected organizations": "Remove user from selected organizations", "Remove user from selected teams": "Remove user from selected teams", + "Remove user from team": "Remove user from team", "Remove user from teams": "Remove user from teams", - "Remove user from team_one": "Remove user from team", - "Remove user from team_other": "Remove users from team", - "Remove user from organization_one": "Remove user from organization", - "Remove user from organization_other": "Remove users from organization", + "Remove users": "Remove users", "Remove users from organization": "Remove users from organization", "Remove users from organizations_one": "Remove users from organizations", "Remove users from organizations_other": "Remove users from organizations", @@ -561,57 +752,107 @@ "Repository": "Repository", "Repository management": "Repository management", "Requires": "Requires", + "Resource": "Resource", "Resource name": "Resource name", "Resource type": "Resource type", "Resources": "Resources", + "Restart": "Restart", + "Restart activation": "Restart activation", + "Restart policy": "Restart policy", + "Restarted count": "Restarted count", + "Return to home page": "Return to home page", + "Return to previous page": "Return to previous page", "Returned": "Returned", "Returns": "Returns", "Revision": "Revision", "Role": "Role", "Roles": "Roles", "Rule": "Rule", + "Rule set": "Rule set", + "Rule Sets": "Rule Sets", + "Rule type": "Rule type", "Rulebook": "Rulebook", "Rulebook activation": "Rulebook activation", + "Rulebook activation enabled?": "Rulebook activation enabled?", + "Rulebook activation history": "Rulebook activation history", "Rulebook activations": "Rulebook activations", + "Rulebook Activations": "Rulebook Activations", "RulebookActivations": "RulebookActivations", "Rulebooks": "Rulebooks", "Rules": "Rules", + "Rules fired": "Rules fired", + "Rules over time": "Rules over time", "Run health check": "Run health check", "Running": "Running", "Running jobs": "Running jobs", "Save execution environment": "Save execution environment", "Save instance": "Save instance", - "Save inventory": "Save inventory", + "Save job template": "Save job template", "Save organization": "Save organization", "Save project": "Save project", "Save rule": "Save rule", - "Save rulebook": "Save rulebook", - "Save rulebook activation": "Save rulebook activation", "Save team": "Save team", "Save user": "Save user", + "Save User": "Save User", + "Schedules": "Schedules", + "SCM token": "SCM token", + "SCM type": "SCM type", + "SCM URL": "SCM URL", + "Select a restart policy": "Select a restart policy", + "Select a credential": "Select a credential", + "Select a job template": "Select a job template", + "Select a organization": "Select a organization", + "Select a workflow job template": "Select a workflow job template", + "Select an execution environment": "Select an execution environment", + "Select an instance groups": "Select an instance groups", + "Select an inventory": "Select an inventory", "Select an organization": "Select an organization", + "Select an project": "Select an project", "Select automation server": "Select automation server", "Select automation type": "Select automation type", + "Select extra vars": "Select extra vars", + "Select from the list of directories found in the Project Base Path": { + " Together the base path and the playbook directory provide the full path used to locate playbooks": "Select from the list of directories found in the Project Base Path. Together the base path and the playbook directory provide the full path used to locate playbooks" + }, + "Select inventory": "Select inventory", + "Select playbook": "Select playbook", + "Select project": "Select project", "Select repository": "Select repository", + "Select rulebook": "Select rulebook", "Select signature": "Select signature", "Select statuses": "Select statuses", "Select type": "Select type", "Select types": "Select types", + "Select user type": "Select user type", "Selected": "Selected", + "Show changes": "Show changes", + "show graph toggle": "show graph toggle", + "Show less": "Show less", "Signature": "Signature", "Signature keys": "Signature keys", - "SignatureKeys": "SignatureKeys", + "Signature Keys": "Signature Keys", "Signed": "Signed", "Signed state": "Signed state", "similar to a jump host, hop nodes will route traffic to other execution nodes": { " Hop nodes cannot execute automation": "similar to a jump host, hop nodes will route traffic to other execution nodes. Hop nodes cannot execute automation." }, + "Source control branch": "Source control branch", + "Source Control Branch": "Source Control Branch", + "Source Control Revision": "Source Control Revision", + "Source Control Type": "Source Control Type", "Source Control Update": "Source Control Update", + "Source Control URL": "Source Control URL", + "Source of Inventory": "Source of Inventory", + "sourceControlURLHelpBlock": "sourceControlURLHelpBlock", "Started": "Started", "Status": "Status", + "Submit": "Submit", "Subversion": "Subversion", "Successful": "Successful", "Sync": "Sync", + "Sync failures": "Sync failures", + "Sync from the available execution environments or create your own": "Sync from the available execution environments or create your own.", + "Sync project": "Sync project", "Sync repository": "Sync repository", "Sync status": "Sync status", "Synced": "Synced", @@ -619,41 +860,51 @@ "System administrator": "System administrator", "System administrators have unrestricted access to all resources": "System administrators have unrestricted access to all resources.", "System auditor": "System auditor", + "System auditor have unrestricted access to all resources": "System auditor have unrestricted access to all resources.", + "System auditors have read access to all resources": "System auditors have read access to all resources.", "Tags": "Tags", "Task": "Task", "Task management": "Task management", "Task name": "Task name", "Tasks": "Tasks", "Team": "Team", - "teams": { - "title": { - "description": "A Team is a subdivision of an organization with associated users, projects, credentials, and permissions.", - "help": "A Team is a subdivision of an organization with associated users, projects, credentials, and permissions. Teams provide a means to implement role-based access control schemes and delegate responsibilities across organizations. For instance, permissions may be granted to a whole Team rather than each user on the Team." - } - }, + "Team does not have any roles": "Team does not have any roles.", + "Team roles": "Team roles", "Teams": "Teams", - "{{count}} of the selected teams cannot be deleted due to insufficient permissions.": "{{count}} of the selected teams cannot be deleted due to insufficient permissions.", - "{{count}} of the selected users cannot be deleted due to insufficient permissions.": "{{count}} of the selected users cannot be deleted due to insufficient permissions.", - "The team cannot be deleted due to insufficient permissions.": "The team cannot be deleted due to insufficient permissions.", - "The user cannot be deleted due to insufficient permissions.": "The user cannot be deleted due to insufficient permissions.", + "Teams provide a means to implement role-based access control schemes and delegate responsibilities across organizations": "Teams provide a means to implement role-based access control schemes and delegate responsibilities across organizations.", "Templates": "Templates", "The collection cannot be imported": { " Please create namespace before importing": "The collection cannot be imported. Please create namespace before importing." }, + "The execution environment that will be used for jobs\n inside of this organization": { + " This will be used a fallback when\n an execution environment has not been explicitly assigned at the\n project, job template or workflow level": "The execution environment that will be used for jobs\n inside of this organization. This will be used a fallback when\n an execution environment has not been explicitly assigned at the\n project, job template or workflow level." + }, + "The Instance Groups for this Organization to run on": "The Instance Groups for this Organization to run on.", "The job cannot be canceled because it is not running": "The job cannot be canceled because it is not running", "The job cannot be canceled due to insufficient permission": "The job cannot be canceled due to insufficient permission", "The job cannot be deleted due to a running job status": "The job cannot be deleted due to a running job status", "The job cannot be deleted due to insufficient permission": "The job cannot be deleted due to insufficient permission", + "The project cannot be copied due to insufficient permission": "The project cannot be copied due to insufficient permission", + "The project cannot be deleted due to insufficient permission": "The project cannot be deleted due to insufficient permission", + "The project cannot be edited due to insufficient permission": "The project cannot be edited due to insufficient permission", + "The project cannot be synced due to insufficient permission": "The project cannot be synced due to insufficient permission", + "The team cannot be deleted due to insufficient permission": "The team cannot be deleted due to insufficient permission", + "The team cannot be deleted due to insufficient permissions": "The team cannot be deleted due to insufficient permissions.", + "The team cannot be edited due to insufficient permission": "The team cannot be edited due to insufficient permission", + "The user cannot be deleted due to insufficient permissions": "The user cannot be deleted due to insufficient permissions.", + "There are currently no teams added to your organization": "There are currently no teams added to your organization.", "This is the description of the collection": "This is the description of the collection.", - "To get started, add an automation server": "To get started, add an automation server.", + "This user currently does not belong to any teams": "This user currently does not belong to any teams.", + "Throttle": "Throttle", + "Time": "Time", + "Timeout": "Timeout", + "To get started, add roles to the team": "To get started, add roles to the team.", "To get started, add roles to the user": "To get started, add roles to the user.", - "To get started, add the user to a team": "To get started, add the user to a team.", "To get started, add the user to an organization": "To get started, add the user to an organization.", + "To get started, add your Ansible automation servers": "To get started, add your Ansible automation servers.", "To get started, create a execution evironment": "To get started, create a execution evironment.", "To get started, create a inventory": "To get started, create a inventory.", "To get started, create a project": "To get started, create a project.", - "To get started, create a rule": "To get started, create a rule.", - "To get started, create a rulebook": "To get started, create a rulebook.", "To get started, create a rulebook activation": "To get started, create a rulebook activation.", "To get started, create a team": "To get started, create a team.", "To get started, create a template": "To get started, create a template.", @@ -667,31 +918,41 @@ "To get started, create an namespace": "To get started, create an namespace.", "To get started, create an organization": "To get started, create an organization.", "To get started, create an project": "To get started, create an project.", + "To get started, create your first job template": "To get started, create your first job template.", "To get started, upload a collection": "To get started, upload a collection.", - "Topology view": "Topology view", + "toggle show graph": "toggle show graph", "Total jobs": "Total jobs", "Type": "Type", "Under development": "Under development", "Unknown": "Unknown", + "Unknown error": "Unknown error", "Unsigned": "Unsigned", "Unsynced": "Unsynced", + "Update": "Update", "Updated": "Updated", "Upload collection": "Upload collection", "Upload new version": "Upload new version", "Url": "Url", "URL": "URL", + "Url must be a valid URL": "Url must be a valid URL.", + "Use": "Use", "Use namespaces to organize the collections created by automation developers in your organization": { " Create namespaces, upload collections and add additional information and resources that help your end users in their automation tasks": "Use namespaces to organize the collections created by automation developers in your organization. Create namespaces, upload collections and add additional information and resources that help your end users in their automation tasks." }, "Used capacity": "Used capacity", "User": "User", + "User Access": "User Access", "User details": "User details", "User does not have any roles": "User does not have any roles.", + "User is a member of the organization": "User is a member of the organization", "User is not a member of any organizations": "User is not a member of any organizations.", - "User is not a member of any teams": "User is not a member of any teams.", - "User role": "User role", + "User roles": "User roles", "User type": "User type", + "User/Team": "User/Team", "Username": "Username", + "Username may contain only letters, numbers, and @": { + "+-_ characters": "Username may contain only letters, numbers, and @.+-_ characters." + }, "users": { "title": { "description": "A user is someone who has access to Tower with associated permissions and credentials.", @@ -700,11 +961,27 @@ }, "Users": "Users", "Validated": "Validated", + "Variables template": "Variables template", + "Verbosity": "Verbosity", "Version": "Version", "View activity stream": "View activity stream", "Views": "Views", + "Visualizer": "Visualizer", "Waiting": "Waiting", + "We could not find that page": "We could not find that page", + "Webhook credential": "Webhook credential", + "Webhook service": "Webhook service", + "Webhooks": "Webhooks", + "Welcome to": "Welcome to", + "Welcome to Ansible": "Welcome to Ansible", + "Welcome to AWX": "Welcome to AWX", + "Welcome to Event Driven Automation": "Welcome to Event Driven Automation", + "Workflow Admin": "Workflow Admin", "Workflow Job": "Workflow Job", + "Workflow job template": "Workflow job template", + "Workflow Job Template": "Workflow Job Template", + "Workflow job template not found": "Workflow job template not found.", + "Working directory": "Working directory", "Yes, I confirm that I want to cancel these {{count}} jobs": { "_one": "Yes, I confirm that I want to cancel this job.", "_other": "Yes, I confirm that I want to cancel these {{count}} jobs." @@ -749,14 +1026,6 @@ "_one": "Yes, I confirm that I want to delete these {{count}} rulebookActivations.", "_other": "Yes, I confirm that I want to delete these {{count}} rulebookActivations." }, - "Yes, I confirm that I want to delete these {{count}} rulebooks": { - "_one": "Yes, I confirm that I want to delete these {{count}} rulebooks.", - "_other": "Yes, I confirm that I want to delete these {{count}} rulebooks." - }, - "Yes, I confirm that I want to delete these {{count}} rules": { - "_one": "Yes, I confirm that I want to delete these {{count}} rules.", - "_other": "Yes, I confirm that I want to delete these {{count}} rules." - }, "Yes, I confirm that I want to delete these {{count}} servers": { "_one": "Yes, I confirm that I want to delete these {{count}} servers.", "_other": "Yes, I confirm that I want to delete these {{count}} servers." @@ -773,11 +1042,20 @@ "_one": "Yes, I confirm that I want to delete this user.", "_other": "Yes, I confirm that I want to delete these {{count}} users." }, + "Yes, I confirm that I want to delete these {{count}} Users": { + "_one": "Yes, I confirm that I want to delete these {{count}} Users.", + "_other": "Yes, I confirm that I want to delete these {{count}} Users." + }, "Yes, I confirm that I want to remove these {{count}} users": { "_one": "Yes, I confirm that I want to remove this user.", "_other": "Yes, I confirm that I want to remove these {{count}} users." }, - "You do not have permission to create a team. Please contact your Organization Administrator if there is an issue with your access.": "You do not have permission to create a team. Please contact your Organization Administrator if there is an issue with your access.", - "You do not have permission to add users. Please contact your Organization Administrator if there is an issue with your access.": "You do not have permission to add users. Please contact your Organization Administrator if there is an issue with your access.", - "You do not have permission to remove users. Please contact your Organization Administrator if there is an issue with your access.": "You do not have permission to remove users. Please contact your Organization Administrator if there is an issue with your access." + "You do not have permission to add users": { + " Please contact your Organization Administrator if there is an issue with your access": "You do not have permission to add users. Please contact your Organization Administrator if there is an issue with your access." + }, + "You do not have permission to create a team": "You do not have permission to create a team", + "You do not have permission to remove users": { + " Please contact your Organization Administrator if there is an issue with your access": "You do not have permission to remove users. Please contact your Organization Administrator if there is an issue with your access." + }, + "You do not have permissions to add this user to a team": "You do not have permissions to add this user to a team." } diff --git a/locales/fr/Error validating organization.json b/locales/fr/Error validating organization.json new file mode 100644 index 0000000000..e43db3673d --- /dev/null +++ b/locales/fr/Error validating organization.json @@ -0,0 +1,5 @@ +{ + " {{errMessage}}": { + " Please reload the page": " _{_{_E_R_R_M_E_S_S_A_G_E_}_}_._ _P_L_E_A_S_E_ _R_E_L_O_A_D_ _T_H_E_ _P_A_G_E_." + } +} diff --git a/locales/fr/translation.json b/locales/fr/translation.json index 596eb44e8f..3937c6d0ea 100644 --- a/locales/fr/translation.json +++ b/locales/fr/translation.json @@ -1,5 +1,22 @@ { " activation": " _A_C_T_I_V_A_T_I_O_N", + "{{count}} of the selected teams cannot be deleted due to insufficient permissions": { + "_one": "{{count}}_ _O_F_ _T_H_E_ _S_E_L_E_C_T_E_D_ _T_E_A_M_S_ _C_A_N_N_O_T_ _B_E_ _D_E_L_E_T_E_D_ _D_U_E_ _T_O_ _I_N_S_U_F_F_I_C_I_E_N_T_ _P_E_R_M_I_S_S_I_O_N_S_.", + "_many": "{{count}}_ _O_F_ _T_H_E_ _S_E_L_E_C_T_E_D_ _T_E_A_M_S_ _C_A_N_N_O_T_ _B_E_ _D_E_L_E_T_E_D_ _D_U_E_ _T_O_ _I_N_S_U_F_F_I_C_I_E_N_T_ _P_E_R_M_I_S_S_I_O_N_S_.", + "_other": "{{count}}_ _O_F_ _T_H_E_ _S_E_L_E_C_T_E_D_ _T_E_A_M_S_ _C_A_N_N_O_T_ _B_E_ _D_E_L_E_T_E_D_ _D_U_E_ _T_O_ _I_N_S_U_F_F_I_C_I_E_N_T_ _P_E_R_M_I_S_S_I_O_N_S_." + }, + "{{count}} of the selected users cannot be deleted due to insufficient permissions": { + "_one": "{{count}}_ _O_F_ _T_H_E_ _S_E_L_E_C_T_E_D_ _U_S_E_R_S_ _C_A_N_N_O_T_ _B_E_ _D_E_L_E_T_E_D_ _D_U_E_ _T_O_ _I_N_S_U_F_F_I_C_I_E_N_T_ _P_E_R_M_I_S_S_I_O_N_S_.", + "_many": "{{count}}_ _O_F_ _T_H_E_ _S_E_L_E_C_T_E_D_ _U_S_E_R_S_ _C_A_N_N_O_T_ _B_E_ _D_E_L_E_T_E_D_ _D_U_E_ _T_O_ _I_N_S_U_F_F_I_C_I_E_N_T_ _P_E_R_M_I_S_S_I_O_N_S_.", + "_other": "{{count}}_ _O_F_ _T_H_E_ _S_E_L_E_C_T_E_D_ _U_S_E_R_S_ _C_A_N_N_O_T_ _B_E_ _D_E_L_E_T_E_D_ _D_U_E_ _T_O_ _I_N_S_U_F_F_I_C_I_E_N_T_ _P_E_R_M_I_S_S_I_O_N_S_." + }, + "{dateStr} by <3>{username}": "{_D_A_T_E_S_T_R_}_ _B_Y_ _<_3_>_{_U_S_E_R_N_A_M_E_}_<_/_3_>", + "0 (Normal)": "0_ _(_N_O_R_M_A_L_)", + "1 (Verbose)": "1_ _(_V_E_R_B_O_S_E_)", + "2 (More Verbose)": "2_ _(_M_O_R_E_ _V_E_R_B_O_S_E_)", + "3 (Debug)": "3_ _(_D_E_B_U_G_)", + "4 (Connection Debug)": "4_ _(_C_O_N_N_E_C_T_I_O_N_ _D_E_B_U_G_)", + "5 (WinRM Debug)": "5_ _(_W_I_N_R_M_ _D_E_B_U_G_)", "A job template is a definition and set of parameters for running an Ansible job": "A_ _J_O_B_ _T_E_M_P_L_A_T_E_ _I_S_ _A_ _D_E_F_I_N_I_T_I_O_N_ _A_N_D_ _S_E_T_ _O_F_ _P_A_R_A_M_E_T_E_R_S_ _F_O_R_ _R_U_N_N_I_N_G_ _A_N_ _A_N_S_I_B_L_E_ _J_O_B_.", "A Project is a logical collection of Ansible playbooks, represented in Tower": "A_ _P_R_O_J_E_C_T_ _I_S_ _A_ _L_O_G_I_C_A_L_ _C_O_L_L_E_C_T_I_O_N_ _O_F_ _A_N_S_I_B_L_E_ _P_L_A_Y_B_O_O_K_S_,_ _R_E_P_R_E_S_E_N_T_E_D_ _I_N_ _T_O_W_E_R_.", "A system managed by Ansible, which may include a physical, virtual, cloud-based server, or other device": "A_ _S_Y_S_T_E_M_ _M_A_N_A_G_E_D_ _B_Y_ _A_N_S_I_B_L_E_,_ _W_H_I_C_H_ _M_A_Y_ _I_N_C_L_U_D_E_ _A_ _P_H_Y_S_I_C_A_L_,_ _V_I_R_T_U_A_L_,_ _C_L_O_U_D_-_B_A_S_E_D_ _S_E_R_V_E_R_,_ _O_R_ _O_T_H_E_R_ _D_E_V_I_C_E_.", @@ -10,22 +27,32 @@ } } }, + "A Team is a subdivision of an organization with associated users, projects, credentials, and permissions": "A_ _T_E_A_M_ _I_S_ _A_ _S_U_B_D_I_V_I_S_I_O_N_ _O_F_ _A_N_ _O_R_G_A_N_I_Z_A_T_I_O_N_ _W_I_T_H_ _A_S_S_O_C_I_A_T_E_D_ _U_S_E_R_S_,_ _P_R_O_J_E_C_T_S_,_ _C_R_E_D_E_N_T_I_A_L_S_,_ _A_N_D_ _P_E_R_M_I_S_S_I_O_N_S_.", "About": "A_B_O_U_T", "Access": "A_C_C_E_S_S", + "Action type": "A_C_T_I_O_N_ _T_Y_P_E", + "Action Type": "A_C_T_I_O_N_ _T_Y_P_E", "Actions": "A_C_T_I_O_N_S", + "Activation": "A_C_T_I_V_A_T_I_O_N", + "Activation instance": "A_C_T_I_V_A_T_I_O_N_ _I_N_S_T_A_N_C_E", + "Activation status": "A_C_T_I_V_A_T_I_O_N_ _S_T_A_T_U_S", "Activities": "A_C_T_I_V_I_T_I_E_S", + "Ad Hoc": "A_D_ _H_O_C", "Add": "A_D_D", "Add automation server": "A_D_D_ _A_U_T_O_M_A_T_I_O_N_ _S_E_R_V_E_R", "Add execution environment": "A_D_D_ _E_X_E_C_U_T_I_O_N_ _E_N_V_I_R_O_N_M_E_N_T", "Add namespace": "A_D_D_ _N_A_M_E_S_P_A_C_E", "Add remote registry": "A_D_D_ _R_E_M_O_T_E_ _R_E_G_I_S_T_R_Y", "Add role": "A_D_D_ _R_O_L_E", + "Add role to team": "A_D_D_ _R_O_L_E_ _T_O_ _T_E_A_M", "Add role to user": "A_D_D_ _R_O_L_E_ _T_O_ _U_S_E_R", + "Add roles to team": "A_D_D_ _R_O_L_E_S_ _T_O_ _T_E_A_M", + "Add roles to user": "A_D_D_ _R_O_L_E_S_ _T_O_ _U_S_E_R", "Add selected users to organizations": "A_D_D_ _S_E_L_E_C_T_E_D_ _U_S_E_R_S_ _T_O_ _O_R_G_A_N_I_Z_A_T_I_O_N_S", "Add selected users to teams": "A_D_D_ _S_E_L_E_C_T_E_D_ _U_S_E_R_S_ _T_O_ _T_E_A_M_S", + "Add team": "A_D_D_ _T_E_A_M", "Add user to organization": "A_D_D_ _U_S_E_R_ _T_O_ _O_R_G_A_N_I_Z_A_T_I_O_N", "Add user to organizations": "A_D_D_ _U_S_E_R_ _T_O_ _O_R_G_A_N_I_Z_A_T_I_O_N_S", - "Add user to team": "A_D_D_ _U_S_E_R_ _T_O_ _T_E_A_M", "Add user to teams": "A_D_D_ _U_S_E_R_ _T_O_ _T_E_A_M_S", "Add users": "A_D_D_ _U_S_E_R_S", "Add users to organization": "A_D_D_ _U_S_E_R_S_ _T_O_ _O_R_G_A_N_I_Z_A_T_I_O_N", @@ -41,6 +68,7 @@ "Adding a user to an organization adds them as a member only": { " Permissions can be granted using teams and user roles": "A_D_D_I_N_G_ _A_ _U_S_E_R_ _T_O_ _A_N_ _O_R_G_A_N_I_Z_A_T_I_O_N_ _A_D_D_S_ _T_H_E_M_ _A_S_ _A_ _M_E_M_B_E_R_ _O_N_L_Y_._ _P_E_R_M_I_S_S_I_O_N_S_ _C_A_N_ _B_E_ _G_R_A_N_T_E_D_ _U_S_I_N_G_ _T_E_A_M_S_ _A_N_D_ _U_S_E_R_ _R_O_L_E_S_." }, + "Adding roles": "A_D_D_I_N_G_ _R_O_L_E_S", "Adding user to organizations": { "_one": "A_D_D_I_N_G_ _U_S_E_R_ _T_O_ _O_R_G_A_N_I_Z_A_T_I_O_N_S_._._.", "_many": "A_D_D_I_N_G_ _U_S_E_R_ _T_O_ _O_R_G_A_N_I_Z_A_T_I_O_N_S_._._.", @@ -70,6 +98,7 @@ "Adding users to teams_one": "A_D_D_I_N_G_ _U_S_E_R_S_ _T_O_ _T_E_A_M_S", "Adding users to teams_many": "A_D_D_I_N_G_ _U_S_E_R_S_ _T_O_ _T_E_A_M_S", "Adding users to teams_other": "A_D_D_I_N_G_ _U_S_E_R_S_ _T_O_ _T_E_A_M_S", + "Admin": "A_D_M_I_N", "Administration": "A_D_M_I_N_I_S_T_R_A_T_I_O_N", "All": "A_L_L", "Amazing Collection": "A_M_A_Z_I_N_G_ _C_O_L_L_E_C_T_I_O_N", @@ -79,7 +108,6 @@ "An inventory defines the hosts and groups of hosts upon which commands, modules, and tasks in a playbook operate": "A_N_ _I_N_V_E_N_T_O_R_Y_ _D_E_F_I_N_E_S_ _T_H_E_ _H_O_S_T_S_ _A_N_D_ _G_R_O_U_P_S_ _O_F_ _H_O_S_T_S_ _U_P_O_N_ _W_H_I_C_H_ _C_O_M_M_A_N_D_S_,_ _M_O_D_U_L_E_S_,_ _A_N_D_ _T_A_S_K_S_ _I_N_ _A_ _P_L_A_Y_B_O_O_K_ _O_P_E_R_A_T_E_.", "An unknown error occured": "A_N_ _U_N_K_N_O_W_N_ _E_R_R_O_R_ _O_C_C_U_R_E_D_.", "Ansible": "A_N_S_I_B_L_E", - "Ansible Automation Platform": "A_N_S_I_B_L_E_ _A_U_T_O_M_A_T_I_O_N_ _P_L_A_T_F_O_R_M", "Ansible Galaxy/Automation Hub API Token": "A_N_S_I_B_L_E_ _G_A_L_A_X_Y_/_A_U_T_O_M_A_T_I_O_N_ _H_U_B_ _A_P_I_ _T_O_K_E_N", "Ansible node instances dedicated for a particular purpose indicated by node type": "A_N_S_I_B_L_E_ _N_O_D_E_ _I_N_S_T_A_N_C_E_S_ _D_E_D_I_C_A_T_E_D_ _F_O_R_ _A_ _P_A_R_T_I_C_U_L_A_R_ _P_U_R_P_O_S_E_ _I_N_D_I_C_A_T_E_D_ _B_Y_ _N_O_D_E_ _T_Y_P_E_.", "Ansible works against multiple managed nodes or “hosts” in your infrastructure at the same time, using a list or group of lists known as inventory": { @@ -90,21 +118,46 @@ "Approve": "A_P_P_R_O_V_E", "Approve collections": "A_P_P_R_O_V_E_ _C_O_L_L_E_C_T_I_O_N_S", "Approved": "A_P_P_R_O_V_E_D", + "Are you sure you want to disable the rulebook activation below?": "A_R_E_ _Y_O_U_ _S_U_R_E_ _Y_O_U_ _W_A_N_T_ _T_O_ _D_I_S_A_B_L_E_ _T_H_E_ _R_U_L_E_B_O_O_K_ _A_C_T_I_V_A_T_I_O_N_ _B_E_L_O_W_?", + "Are you sure you want to disable the rulebook below?": "A_R_E_ _Y_O_U_ _S_U_R_E_ _Y_O_U_ _W_A_N_T_ _T_O_ _D_I_S_A_B_L_E_ _T_H_E_ _R_U_L_E_B_O_O_K_ _B_E_L_O_W_?", + "Are you sure you want to disable the ruleset below?": "A_R_E_ _Y_O_U_ _S_U_R_E_ _Y_O_U_ _W_A_N_T_ _T_O_ _D_I_S_A_B_L_E_ _T_H_E_ _R_U_L_E_S_E_T_ _B_E_L_O_W_?", + "Are you sure you want to enable the rulebook below?": "A_R_E_ _Y_O_U_ _S_U_R_E_ _Y_O_U_ _W_A_N_T_ _T_O_ _E_N_A_B_L_E_ _T_H_E_ _R_U_L_E_B_O_O_K_ _B_E_L_O_W_?", + "Are you sure you want to enable the ruleset below?": "A_R_E_ _Y_O_U_ _S_U_R_E_ _Y_O_U_ _W_A_N_T_ _T_O_ _E_N_A_B_L_E_ _T_H_E_ _R_U_L_E_S_E_T_ _B_E_L_O_W_?", + "Are you sure you want to launch the action below?": "A_R_E_ _Y_O_U_ _S_U_R_E_ _Y_O_U_ _W_A_N_T_ _T_O_ _L_A_U_N_C_H_ _T_H_E_ _A_C_T_I_O_N_ _B_E_L_O_W_?", + "Are you sure you want to relaunch the rulebook activation below?": "A_R_E_ _Y_O_U_ _S_U_R_E_ _Y_O_U_ _W_A_N_T_ _T_O_ _R_E_L_A_U_N_C_H_ _T_H_E_ _R_U_L_E_B_O_O_K_ _A_C_T_I_V_A_T_I_O_N_ _B_E_L_O_W_?", + "Are you sure you want to restart the rulebook activation below?": "A_R_E_ _Y_O_U_ _S_U_R_E_ _Y_O_U_ _W_A_N_T_ _T_O_ _R_E_S_T_A_R_T_ _T_H_E_ _R_U_L_E_B_O_O_K_ _A_C_T_I_V_A_T_I_O_N_ _B_E_L_O_W_?", + "Auditor": "A_U_D_I_T_O_R", "Auto": "A_U_T_O", "Automation Content": "A_U_T_O_M_A_T_I_O_N_ _C_O_N_T_E_N_T", - "Automation controller": "A_U_T_O_M_A_T_I_O_N_ _C_O_N_T_R_O_L_L_E_R", - "Automation controllers": "A_U_T_O_M_A_T_I_O_N_ _C_O_N_T_R_O_L_L_E_R_S", - "Automation hub": "A_U_T_O_M_A_T_I_O_N_ _H_U_B", - "Automation hubs": "A_U_T_O_M_A_T_I_O_N_ _H_U_B_S", "Automation server": "A_U_T_O_M_A_T_I_O_N_ _S_E_R_V_E_R", - "Automation servers": "A_U_T_O_M_A_T_I_O_N_ _S_E_R_V_E_R_S", "Automation Servers": "A_U_T_O_M_A_T_I_O_N_ _S_E_R_V_E_R_S", "Automation type": "A_U_T_O_M_A_T_I_O_N_ _T_Y_P_E", + "AWX Ansible server": "A_W_X_ _A_N_S_I_B_L_E_ _S_E_R_V_E_R", "Being a team member grants the user all the permissions of the team": "B_E_I_N_G_ _A_ _T_E_A_M_ _M_E_M_B_E_R_ _G_R_A_N_T_S_ _T_H_E_ _U_S_E_R_ _A_L_L_ _T_H_E_ _P_E_R_M_I_S_S_I_O_N_S_ _O_F_ _T_H_E_ _T_E_A_M_.", "Browse all certified collections": "B_R_O_W_S_E_ _A_L_L_ _C_E_R_T_I_F_I_E_D_ _C_O_L_L_E_C_T_I_O_N_S", + "Browse available execution environments": "B_R_O_W_S_E_ _A_V_A_I_L_A_B_L_E_ _E_X_E_C_U_T_I_O_N_ _E_N_V_I_R_O_N_M_E_N_T_S", "by": "B_Y", + "Cache Timeout": "C_A_C_H_E_ _T_I_M_E_O_U_T", + "Can approve or deny a workflow approval node": "C_A_N_ _A_P_P_R_O_V_E_ _O_R_ _D_E_N_Y_ _A_ _W_O_R_K_F_L_O_W_ _A_P_P_R_O_V_A_L_ _N_O_D_E", "can edit, change, and update any inventory or automation definition": "C_A_N_ _E_D_I_T_,_ _C_H_A_N_G_E_,_ _A_N_D_ _U_P_D_A_T_E_ _A_N_Y_ _I_N_V_E_N_T_O_R_Y_ _O_R_ _A_U_T_O_M_A_T_I_O_N_ _D_E_F_I_N_I_T_I_O_N", + "Can manage all aspects of the credential": "C_A_N_ _M_A_N_A_G_E_ _A_L_L_ _A_S_P_E_C_T_S_ _O_F_ _T_H_E_ _C_R_E_D_E_N_T_I_A_L", + "Can manage all aspects of the inventory": "C_A_N_ _M_A_N_A_G_E_ _A_L_L_ _A_S_P_E_C_T_S_ _O_F_ _T_H_E_ _I_N_V_E_N_T_O_R_Y", + "Can manage all aspects of the job template": "C_A_N_ _M_A_N_A_G_E_ _A_L_L_ _A_S_P_E_C_T_S_ _O_F_ _T_H_E_ _J_O_B_ _T_E_M_P_L_A_T_E", + "Can manage all aspects of the organization": "C_A_N_ _M_A_N_A_G_E_ _A_L_L_ _A_S_P_E_C_T_S_ _O_F_ _T_H_E_ _O_R_G_A_N_I_Z_A_T_I_O_N", + "Can manage all aspects of the project": "C_A_N_ _M_A_N_A_G_E_ _A_L_L_ _A_S_P_E_C_T_S_ _O_F_ _T_H_E_ _P_R_O_J_E_C_T", + "Can manage all aspects of the workflow job template": "C_A_N_ _M_A_N_A_G_E_ _A_L_L_ _A_S_P_E_C_T_S_ _O_F_ _T_H_E_ _W_O_R_K_F_L_O_W_ _J_O_B_ _T_E_M_P_L_A_T_E", + "Can manage all credentials of the organization": "C_A_N_ _M_A_N_A_G_E_ _A_L_L_ _C_R_E_D_E_N_T_I_A_L_S_ _O_F_ _T_H_E_ _O_R_G_A_N_I_Z_A_T_I_O_N", + "Can manage all execution environments of the organization": "C_A_N_ _M_A_N_A_G_E_ _A_L_L_ _E_X_E_C_U_T_I_O_N_ _E_N_V_I_R_O_N_M_E_N_T_S_ _O_F_ _T_H_E_ _O_R_G_A_N_I_Z_A_T_I_O_N", + "Can manage all inventories of the organization": "C_A_N_ _M_A_N_A_G_E_ _A_L_L_ _I_N_V_E_N_T_O_R_I_E_S_ _O_F_ _T_H_E_ _O_R_G_A_N_I_Z_A_T_I_O_N", + "Can manage all job templates of the organization": "C_A_N_ _M_A_N_A_G_E_ _A_L_L_ _J_O_B_ _T_E_M_P_L_A_T_E_S_ _O_F_ _T_H_E_ _O_R_G_A_N_I_Z_A_T_I_O_N", + "Can manage all notifications of the organization": "C_A_N_ _M_A_N_A_G_E_ _A_L_L_ _N_O_T_I_F_I_C_A_T_I_O_N_S_ _O_F_ _T_H_E_ _O_R_G_A_N_I_Z_A_T_I_O_N", + "Can manage all projects of the organization": "C_A_N_ _M_A_N_A_G_E_ _A_L_L_ _P_R_O_J_E_C_T_S_ _O_F_ _T_H_E_ _O_R_G_A_N_I_Z_A_T_I_O_N", + "Can manage all workflows of the organization": "C_A_N_ _M_A_N_A_G_E_ _A_L_L_ _W_O_R_K_F_L_O_W_S_ _O_F_ _T_H_E_ _O_R_G_A_N_I_Z_A_T_I_O_N", "can see all aspects of the systems automation, but has no permission to run or change automation": "C_A_N_ _S_E_E_ _A_L_L_ _A_S_P_E_C_T_S_ _O_F_ _T_H_E_ _S_Y_S_T_E_M_S_ _A_U_T_O_M_A_T_I_O_N_,_ _B_U_T_ _H_A_S_ _N_O_ _P_E_R_M_I_S_S_I_O_N_ _T_O_ _R_U_N_ _O_R_ _C_H_A_N_G_E_ _A_U_T_O_M_A_T_I_O_N", + "Can use the credential in a job template": "C_A_N_ _U_S_E_ _T_H_E_ _C_R_E_D_E_N_T_I_A_L_ _I_N_ _A_ _J_O_B_ _T_E_M_P_L_A_T_E", + "Can use the inventory in a job template": "C_A_N_ _U_S_E_ _T_H_E_ _I_N_V_E_N_T_O_R_Y_ _I_N_ _A_ _J_O_B_ _T_E_M_P_L_A_T_E", + "Can use the project in a job template": "C_A_N_ _U_S_E_ _T_H_E_ _P_R_O_J_E_C_T_ _I_N_ _A_ _J_O_B_ _T_E_M_P_L_A_T_E", + "Can view all aspects of the organization": "C_A_N_ _V_I_E_W_ _A_L_L_ _A_S_P_E_C_T_S_ _O_F_ _T_H_E_ _O_R_G_A_N_I_Z_A_T_I_O_N", "Cancel": "C_A_N_C_E_L", "Cancel job": "C_A_N_C_E_L_ _J_O_B", "Cancel jobs_one": "C_A_N_C_E_L_ _J_O_B_S", @@ -117,6 +170,7 @@ "Choices": "C_H_O_I_C_E_S", "Clear all filters": "C_L_E_A_R_ _A_L_L_ _F_I_L_T_E_R_S", "Close": "C_L_O_S_E", + "Cloud": "C_L_O_U_D", "Collection": "C_O_L_L_E_C_T_I_O_N", "Collection approval": "C_O_L_L_E_C_T_I_O_N_ _A_P_P_R_O_V_A_L", "Collection approvals": "C_O_L_L_E_C_T_I_O_N_ _A_P_P_R_O_V_A_L_S", @@ -128,9 +182,13 @@ "Comments": "C_O_M_M_E_N_T_S", "Community": "C_O_M_M_U_N_I_T_Y", "Completed": "C_O_M_P_L_E_T_E_D", + "Concurrent Jobs": "C_O_N_C_U_R_R_E_N_T_ _J_O_B_S", + "Conditions": "C_O_N_D_I_T_I_O_N_S", "Configure repository": "C_O_N_F_I_G_U_R_E_ _R_E_P_O_S_I_T_O_R_Y", "Confirm": "C_O_N_F_I_R_M", + "Confirm delete": "C_O_N_F_I_R_M_ _D_E_L_E_T_E", "Confirm password": "C_O_N_F_I_R_M_ _P_A_S_S_W_O_R_D", + "Connect intelligence, analytics and service requests to enable more responsive and resilient automation": "C_O_N_N_E_C_T_ _I_N_T_E_L_L_I_G_E_N_C_E_,_ _A_N_A_L_Y_T_I_C_S_ _A_N_D_ _S_E_R_V_I_C_E_ _R_E_Q_U_E_S_T_S_ _T_O_ _E_N_A_B_L_E_ _M_O_R_E_ _R_E_S_P_O_N_S_I_V_E_ _A_N_D_ _R_E_S_I_L_I_E_N_T_ _A_U_T_O_M_A_T_I_O_N_.", "Container group": "C_O_N_T_A_I_N_E_R_ _G_R_O_U_P", "Contents": "C_O_N_T_E_N_T_S", "Control": "C_O_N_T_R_O_L", @@ -138,9 +196,11 @@ "control nodes run project and inventory updates and system jobs, but not regular jobs": { " Execution capabilities are disabled on these nodes": "C_O_N_T_R_O_L_ _N_O_D_E_S_ _R_U_N_ _P_R_O_J_E_C_T_ _A_N_D_ _I_N_V_E_N_T_O_R_Y_ _U_P_D_A_T_E_S_ _A_N_D_ _S_Y_S_T_E_M_ _J_O_B_S_,_ _B_U_T_ _N_O_T_ _R_E_G_U_L_A_R_ _J_O_B_S_._ _E_X_E_C_U_T_I_O_N_ _C_A_P_A_B_I_L_I_T_I_E_S_ _A_R_E_ _D_I_S_A_B_L_E_D_ _O_N_ _T_H_E_S_E_ _N_O_D_E_S_." }, + "Copy project": "C_O_P_Y_ _P_R_O_J_E_C_T", "Copy this token now": { " This is the only time you will ever see it": "C_O_P_Y_ _T_H_I_S_ _T_O_K_E_N_ _N_O_W_._ _T_H_I_S_ _I_S_ _T_H_E_ _O_N_L_Y_ _T_I_M_E_ _Y_O_U_ _W_I_L_L_ _E_V_E_R_ _S_E_E_ _I_T_." }, + "Create an inventory": "C_R_E_A_T_E_ _A_N_ _I_N_V_E_N_T_O_R_Y", "Create container group": "C_R_E_A_T_E_ _C_O_N_T_A_I_N_E_R_ _G_R_O_U_P", "Create credential": "C_R_E_A_T_E_ _C_R_E_D_E_N_T_I_A_L", "Create execution environment": "C_R_E_A_T_E_ _E_X_E_C_U_T_I_O_N_ _E_N_V_I_R_O_N_M_E_N_T", @@ -149,18 +209,24 @@ "Create instance": "C_R_E_A_T_E_ _I_N_S_T_A_N_C_E", "Create instance group": "C_R_E_A_T_E_ _I_N_S_T_A_N_C_E_ _G_R_O_U_P", "Create inventory": "C_R_E_A_T_E_ _I_N_V_E_N_T_O_R_Y", + "Create job template": "C_R_E_A_T_E_ _J_O_B_ _T_E_M_P_L_A_T_E", "Create Job Template": "C_R_E_A_T_E_ _J_O_B_ _T_E_M_P_L_A_T_E", + "Create or sync an execution environment": "C_R_E_A_T_E_ _O_R_ _S_Y_N_C_ _A_N_ _E_X_E_C_U_T_I_O_N_ _E_N_V_I_R_O_N_M_E_N_T", "Create organization": "C_R_E_A_T_E_ _O_R_G_A_N_I_Z_A_T_I_O_N", "Create project": "C_R_E_A_T_E_ _P_R_O_J_E_C_T", "Create rule": "C_R_E_A_T_E_ _R_U_L_E", - "Create rulebook": "C_R_E_A_T_E_ _R_U_L_E_B_O_O_K", "Create rulebook activation": "C_R_E_A_T_E_ _R_U_L_E_B_O_O_K_ _A_C_T_I_V_A_T_I_O_N", "Create team": "C_R_E_A_T_E_ _T_E_A_M", "Create template": "C_R_E_A_T_E_ _T_E_M_P_L_A_T_E", "Create user": "C_R_E_A_T_E_ _U_S_E_R", + "Create User": "C_R_E_A_T_E_ _U_S_E_R", "Create Workflow Job Template": "C_R_E_A_T_E_ _W_O_R_K_F_L_O_W_ _J_O_B_ _T_E_M_P_L_A_T_E", + "Create your first job template": "C_R_E_A_T_E_ _Y_O_U_R_ _F_I_R_S_T_ _J_O_B_ _T_E_M_P_L_A_T_E", "Created": "C_R_E_A_T_E_D", "Created by": "C_R_E_A_T_E_D_ _B_Y", + "Credential": "C_R_E_D_E_N_T_I_A_L", + "Credential Admin": "C_R_E_D_E_N_T_I_A_L_ _A_D_M_I_N", + "Credential not found": "C_R_E_D_E_N_T_I_A_L_ _N_O_T_ _F_O_U_N_D_.", "Credential type": "C_R_E_D_E_N_T_I_A_L_ _T_Y_P_E", "credentials": { "title": { @@ -169,9 +235,17 @@ } }, "Credentials": "C_R_E_D_E_N_T_I_A_L_S", + "Custom virtual environment {virtualEnvironment} must be replaced by an execution environment": { + " For more information about migrating to execution environments see <4>the documentation": { + "": "C_U_S_T_O_M_ _V_I_R_T_U_A_L_ _E_N_V_I_R_O_N_M_E_N_T_ _{_V_I_R_T_U_A_L_E_N_V_I_R_O_N_M_E_N_T_}_ _M_U_S_T_ _B_E_ _R_E_P_L_A_C_E_D_ _B_Y_ _A_N_ _E_X_E_C_U_T_I_O_N_ _E_N_V_I_R_O_N_M_E_N_T_._ _F_O_R_ _M_O_R_E_ _I_N_F_O_R_M_A_T_I_O_N_ _A_B_O_U_T_ _M_I_G_R_A_T_I_N_G_ _T_O_ _E_X_E_C_U_T_I_O_N_ _E_N_V_I_R_O_N_M_E_N_T_S_ _S_E_E_ _<_4_>_T_H_E_ _D_O_C_U_M_E_N_T_A_T_I_O_N_._<_/_4_>" + } + }, "Dashboard": "D_A_S_H_B_O_A_R_D", "Debug": "D_E_B_U_G", + "Default execution environment": "D_E_F_A_U_L_T_ _E_X_E_C_U_T_I_O_N_ _E_N_V_I_R_O_N_M_E_N_T", + "Default Execution Environment": "D_E_F_A_U_L_T_ _E_X_E_C_U_T_I_O_N_ _E_N_V_I_R_O_N_M_E_N_T", "Define, operate, scale, and delegate automation across your enterprise": "D_E_F_I_N_E_,_ _O_P_E_R_A_T_E_,_ _S_C_A_L_E_,_ _A_N_D_ _D_E_L_E_G_A_T_E_ _A_U_T_O_M_A_T_I_O_N_ _A_C_R_O_S_S_ _Y_O_U_R_ _E_N_T_E_R_P_R_I_S_E_.", + "Delete": "D_E_L_E_T_E", "Delete collections_one": "D_E_L_E_T_E_ _C_O_L_L_E_C_T_I_O_N_S", "Delete collections_many": "D_E_L_E_T_E_ _C_O_L_L_E_C_T_I_O_N_S", "Delete collections_other": "D_E_L_E_T_E_ _C_O_L_L_E_C_T_I_O_N_S", @@ -215,18 +289,10 @@ "Delete projects_one": "D_E_L_E_T_E_ _P_R_O_J_E_C_T_S", "Delete projects_many": "D_E_L_E_T_E_ _P_R_O_J_E_C_T_S", "Delete projects_other": "D_E_L_E_T_E_ _P_R_O_J_E_C_T_S", - "Delete rule": "D_E_L_E_T_E_ _R_U_L_E", - "Delete rulebook": "D_E_L_E_T_E_ _R_U_L_E_B_O_O_K", "Delete rulebookActivation": "D_E_L_E_T_E_ _R_U_L_E_B_O_O_K_A_C_T_I_V_A_T_I_O_N", "Delete rulebookActivations_one": "D_E_L_E_T_E_ _R_U_L_E_B_O_O_K_A_C_T_I_V_A_T_I_O_N_S", "Delete rulebookActivations_many": "D_E_L_E_T_E_ _R_U_L_E_B_O_O_K_A_C_T_I_V_A_T_I_O_N_S", "Delete rulebookActivations_other": "D_E_L_E_T_E_ _R_U_L_E_B_O_O_K_A_C_T_I_V_A_T_I_O_N_S", - "Delete rulebooks_one": "D_E_L_E_T_E_ _R_U_L_E_B_O_O_K_S", - "Delete rulebooks_many": "D_E_L_E_T_E_ _R_U_L_E_B_O_O_K_S", - "Delete rulebooks_other": "D_E_L_E_T_E_ _R_U_L_E_B_O_O_K_S", - "Delete rules_one": "D_E_L_E_T_E_ _R_U_L_E_S", - "Delete rules_many": "D_E_L_E_T_E_ _R_U_L_E_S", - "Delete rules_other": "D_E_L_E_T_E_ _R_U_L_E_S", "Delete selected collections": "D_E_L_E_T_E_ _S_E_L_E_C_T_E_D_ _C_O_L_L_E_C_T_I_O_N_S", "Delete selected credentials": "D_E_L_E_T_E_ _S_E_L_E_C_T_E_D_ _C_R_E_D_E_N_T_I_A_L_S", "Delete selected execution environments": "D_E_L_E_T_E_ _S_E_L_E_C_T_E_D_ _E_X_E_C_U_T_I_O_N_ _E_N_V_I_R_O_N_M_E_N_T_S", @@ -237,10 +303,9 @@ "Delete selected organizations": "D_E_L_E_T_E_ _S_E_L_E_C_T_E_D_ _O_R_G_A_N_I_Z_A_T_I_O_N_S", "Delete selected projects": "D_E_L_E_T_E_ _S_E_L_E_C_T_E_D_ _P_R_O_J_E_C_T_S", "Delete selected rulebook activations": "D_E_L_E_T_E_ _S_E_L_E_C_T_E_D_ _R_U_L_E_B_O_O_K_ _A_C_T_I_V_A_T_I_O_N_S", - "Delete selected rulebooks": "D_E_L_E_T_E_ _S_E_L_E_C_T_E_D_ _R_U_L_E_B_O_O_K_S", - "Delete selected rules": "D_E_L_E_T_E_ _S_E_L_E_C_T_E_D_ _R_U_L_E_S", "Delete selected teams": "D_E_L_E_T_E_ _S_E_L_E_C_T_E_D_ _T_E_A_M_S", "Delete selected users": "D_E_L_E_T_E_ _S_E_L_E_C_T_E_D_ _U_S_E_R_S", + "Delete selected Users": "D_E_L_E_T_E_ _S_E_L_E_C_T_E_D_ _U_S_E_R_S", "Delete servers_one": "D_E_L_E_T_E_ _S_E_R_V_E_R_S", "Delete servers_many": "D_E_L_E_T_E_ _S_E_R_V_E_R_S", "Delete servers_other": "D_E_L_E_T_E_ _S_E_R_V_E_R_S", @@ -248,21 +313,31 @@ "Delete teams_one": "D_E_L_E_T_E_ _T_E_A_M_S", "Delete teams_many": "D_E_L_E_T_E_ _T_E_A_M_S", "Delete teams_other": "D_E_L_E_T_E_ _T_E_A_M_S", + "Delete template": "D_E_L_E_T_E_ _T_E_M_P_L_A_T_E", "Delete template_one": "D_E_L_E_T_E_ _T_E_M_P_L_A_T_E", "Delete template_many": "D_E_L_E_T_E_ _T_E_M_P_L_A_T_E", "Delete template_other": "D_E_L_E_T_E_ _T_E_M_P_L_A_T_E", "Delete Template": "D_E_L_E_T_E_ _T_E_M_P_L_A_T_E", "Delete user": "D_E_L_E_T_E_ _U_S_E_R", + "Delete User": "D_E_L_E_T_E_ _U_S_E_R", "Delete users_one": "D_E_L_E_T_E_ _U_S_E_R_S", "Delete users_many": "D_E_L_E_T_E_ _U_S_E_R_S", "Delete users_other": "D_E_L_E_T_E_ _U_S_E_R_S", + "Delete Users_one": "D_E_L_E_T_E_ _U_S_E_R_S", + "Delete Users_many": "D_E_L_E_T_E_ _U_S_E_R_S", + "Delete Users_other": "D_E_L_E_T_E_ _U_S_E_R_S", + "Delete workflow template": "D_E_L_E_T_E_ _W_O_R_K_F_L_O_W_ _T_E_M_P_L_A_T_E", "Deny collections": "D_E_N_Y_ _C_O_L_L_E_C_T_I_O_N_S", "Dependencies": "D_E_P_E_N_D_E_N_C_I_E_S", "Deprecate selected collections": "D_E_P_R_E_C_A_T_E_ _S_E_L_E_C_T_E_D_ _C_O_L_L_E_C_T_I_O_N_S", "Description": "D_E_S_C_R_I_P_T_I_O_N", "Details": "D_E_T_A_I_L_S", + "Disable": "D_I_S_A_B_L_E", + "Disable activation": "D_I_S_A_B_L_E_ _A_C_T_I_V_A_T_I_O_N", + "Disable rulebook": "D_I_S_A_B_L_E_ _R_U_L_E_B_O_O_K", + "Disable ruleset": "D_I_S_A_B_L_E_ _R_U_L_E_S_E_T", "Disabled": "D_I_S_A_B_L_E_D", - "Discover, publish, and manage your Ansible Collections": "D_I_S_C_O_V_E_R_,_ _P_U_B_L_I_S_H_,_ _A_N_D_ _M_A_N_A_G_E_ _Y_O_U_R_ _A_N_S_I_B_L_E_ _C_O_L_L_E_C_T_I_O_N_S_.", + "Discover, publish, and manage your Ansible collections": "D_I_S_C_O_V_E_R_,_ _P_U_B_L_I_S_H_,_ _A_N_D_ _M_A_N_A_G_E_ _Y_O_U_R_ _A_N_S_I_B_L_E_ _C_O_L_L_E_C_T_I_O_N_S_.", "Documentation": "D_O_C_U_M_E_N_T_A_T_I_O_N", "Download key": "D_O_W_N_L_O_A_D_ _K_E_Y", "Duration": "D_U_R_A_T_I_O_N", @@ -274,39 +349,47 @@ "Edit host": "E_D_I_T_ _H_O_S_T", "Edit instance": "E_D_I_T_ _I_N_S_T_A_N_C_E", "Edit instance group": "E_D_I_T_ _I_N_S_T_A_N_C_E_ _G_R_O_U_P", - "Edit inventory": "E_D_I_T_ _I_N_V_E_N_T_O_R_Y", + "Edit job template": "E_D_I_T_ _J_O_B_ _T_E_M_P_L_A_T_E", "Edit organization": "E_D_I_T_ _O_R_G_A_N_I_Z_A_T_I_O_N", "Edit project": "E_D_I_T_ _P_R_O_J_E_C_T", "Edit repository": "E_D_I_T_ _R_E_P_O_S_I_T_O_R_Y", "Edit rule": "E_D_I_T_ _R_U_L_E", - "Edit rulebook": "E_D_I_T_ _R_U_L_E_B_O_O_K", - "Edit rulebook activation": "E_D_I_T_ _R_U_L_E_B_O_O_K_ _A_C_T_I_V_A_T_I_O_N", - "Edit rulebookActivation": "E_D_I_T_ _R_U_L_E_B_O_O_K_A_C_T_I_V_A_T_I_O_N", "Edit team": "E_D_I_T_ _T_E_A_M", + "Edit template": "E_D_I_T_ _T_E_M_P_L_A_T_E", "Edit Template": "E_D_I_T_ _T_E_M_P_L_A_T_E", "Edit user": "E_D_I_T_ _U_S_E_R", + "Edit User": "E_D_I_T_ _U_S_E_R", + "Edit workflow template": "E_D_I_T_ _W_O_R_K_F_L_O_W_ _T_E_M_P_L_A_T_E", "Email": "E_M_A_I_L", + "Enable": "E_N_A_B_L_E", + "Enable rulebook": "E_N_A_B_L_E_ _R_U_L_E_B_O_O_K", + "Enable ruleset": "E_N_A_B_L_E_ _R_U_L_E_S_E_T", "Enabled": "E_N_A_B_L_E_D", + "Enabled options": "E_N_A_B_L_E_D_ _O_P_T_I_O_N_S", "Enter a friendly name for the automation server": "E_N_T_E_R_ _A_ _F_R_I_E_N_D_L_Y_ _N_A_M_E_ _F_O_R_ _T_H_E_ _A_U_T_O_M_A_T_I_O_N_ _S_E_R_V_E_R", "Enter collection": "E_N_T_E_R_ _C_O_L_L_E_C_T_I_O_N", "Enter description": "E_N_T_E_R_ _D_E_S_C_R_I_P_T_I_O_N", - "Enter inventory": "E_N_T_E_R_ _I_N_V_E_N_T_O_R_Y", + "Enter email": "E_N_T_E_R_ _E_M_A_I_L", + "Enter first name": "E_N_T_E_R_ _F_I_R_S_T_ _N_A_M_E", "Enter keywords": "E_N_T_E_R_ _K_E_Y_W_O_R_D_S", + "Enter last name": "E_N_T_E_R_ _L_A_S_T_ _N_A_M_E", "Enter name": "E_N_T_E_R_ _N_A_M_E", "Enter namespace": "E_N_T_E_R_ _N_A_M_E_S_P_A_C_E", "Enter password": "E_N_T_E_R_ _P_A_S_S_W_O_R_D", "Enter tags": "E_N_T_E_R_ _T_A_G_S", "Enter the name": "E_N_T_E_R_ _T_H_E_ _N_A_M_E", - "Enter the organization": "E_N_T_E_R_ _T_H_E_ _O_R_G_A_N_I_Z_A_T_I_O_N", "Enter the URL": "E_N_T_E_R_ _T_H_E_ _U_R_L", "Enter the url of the automation server": "E_N_T_E_R_ _T_H_E_ _U_R_L_ _O_F_ _T_H_E_ _A_U_T_O_M_A_T_I_O_N_ _S_E_R_V_E_R", "Enter username": "E_N_T_E_R_ _U_S_E_R_N_A_M_E", "Error": "E_R_R_O_R", + "Error loading actions": "E_R_R_O_R_ _L_O_A_D_I_N_G_ _A_C_T_I_O_N_S", + "Error loading activations": "E_R_R_O_R_ _L_O_A_D_I_N_G_ _A_C_T_I_V_A_T_I_O_N_S", "Error loading approvals": "E_R_R_O_R_ _L_O_A_D_I_N_G_ _A_P_P_R_O_V_A_L_S", "Error loading automation servers": "E_R_R_O_R_ _L_O_A_D_I_N_G_ _A_U_T_O_M_A_T_I_O_N_ _S_E_R_V_E_R_S", "Error loading collections": "E_R_R_O_R_ _L_O_A_D_I_N_G_ _C_O_L_L_E_C_T_I_O_N_S", "Error loading credentials": "E_R_R_O_R_ _L_O_A_D_I_N_G_ _C_R_E_D_E_N_T_I_A_L_S", "Error loading execution environments": "E_R_R_O_R_ _L_O_A_D_I_N_G_ _E_X_E_C_U_T_I_O_N_ _E_N_V_I_R_O_N_M_E_N_T_S", + "Error loading history": "E_R_R_O_R_ _L_O_A_D_I_N_G_ _H_I_S_T_O_R_Y", "Error loading hosts": "E_R_R_O_R_ _L_O_A_D_I_N_G_ _H_O_S_T_S", "Error loading instance groups": "E_R_R_O_R_ _L_O_A_D_I_N_G_ _I_N_S_T_A_N_C_E_ _G_R_O_U_P_S", "Error loading instances": "E_R_R_O_R_ _L_O_A_D_I_N_G_ _I_N_S_T_A_N_C_E_S", @@ -315,22 +398,38 @@ "Error loading namespaces": "E_R_R_O_R_ _L_O_A_D_I_N_G_ _N_A_M_E_S_P_A_C_E_S", "Error loading organizations": "E_R_R_O_R_ _L_O_A_D_I_N_G_ _O_R_G_A_N_I_Z_A_T_I_O_N_S", "Error loading projects": "E_R_R_O_R_ _L_O_A_D_I_N_G_ _P_R_O_J_E_C_T_S", + "Error loading recent actions": "E_R_R_O_R_ _L_O_A_D_I_N_G_ _R_E_C_E_N_T_ _A_C_T_I_O_N_S", + "Error loading recently changed hosts": "E_R_R_O_R_ _L_O_A_D_I_N_G_ _R_E_C_E_N_T_L_Y_ _C_H_A_N_G_E_D_ _H_O_S_T_S", "Error loading remote registries": "E_R_R_O_R_ _L_O_A_D_I_N_G_ _R_E_M_O_T_E_ _R_E_G_I_S_T_R_I_E_S", "Error loading repositories": "E_R_R_O_R_ _L_O_A_D_I_N_G_ _R_E_P_O_S_I_T_O_R_I_E_S", "Error loading roles": "E_R_R_O_R_ _L_O_A_D_I_N_G_ _R_O_L_E_S", "Error loading rulebook activations": "E_R_R_O_R_ _L_O_A_D_I_N_G_ _R_U_L_E_B_O_O_K_ _A_C_T_I_V_A_T_I_O_N_S", "Error loading rulebooks": "E_R_R_O_R_ _L_O_A_D_I_N_G_ _R_U_L_E_B_O_O_K_S", "Error loading rules": "E_R_R_O_R_ _L_O_A_D_I_N_G_ _R_U_L_E_S", + "Error loading rulesets": "E_R_R_O_R_ _L_O_A_D_I_N_G_ _R_U_L_E_S_E_T_S", "Error loading signature keys": "E_R_R_O_R_ _L_O_A_D_I_N_G_ _S_I_G_N_A_T_U_R_E_ _K_E_Y_S", "Error loading tasks": "E_R_R_O_R_ _L_O_A_D_I_N_G_ _T_A_S_K_S", "Error loading teams": "E_R_R_O_R_ _L_O_A_D_I_N_G_ _T_E_A_M_S", "Error loading templates": "E_R_R_O_R_ _L_O_A_D_I_N_G_ _T_E_M_P_L_A_T_E_S", "Error loading users": "E_R_R_O_R_ _L_O_A_D_I_N_G_ _U_S_E_R_S", - "Event driven": "E_V_E_N_T_ _D_R_I_V_E_N", - "Event driven automation": "E_V_E_N_T_ _D_R_I_V_E_N_ _A_U_T_O_M_A_T_I_O_N", + "Error querying execution environments": "E_R_R_O_R_ _Q_U_E_R_Y_I_N_G_ _E_X_E_C_U_T_I_O_N_ _E_N_V_I_R_O_N_M_E_N_T_S_.", + "Error querying hosts": "E_R_R_O_R_ _Q_U_E_R_Y_I_N_G_ _H_O_S_T_S_.", + "Error querying inventories": "E_R_R_O_R_ _Q_U_E_R_Y_I_N_G_ _I_N_V_E_N_T_O_R_I_E_S_.", + "Error querying projects": "E_R_R_O_R_ _Q_U_E_R_Y_I_N_G_ _P_R_O_J_E_C_T_S_.", + "Error querying unified jobs": "E_R_R_O_R_ _Q_U_E_R_Y_I_N_G_ _U_N_I_F_I_E_D_ _J_O_B_S_.", + "Error validating organization": { + " Please reload the page": "E_R_R_O_R_ _V_A_L_I_D_A_T_I_N_G_ _O_R_G_A_N_I_Z_A_T_I_O_N_._ _P_L_E_A_S_E_ _R_E_L_O_A_D_ _T_H_E_ _P_A_G_E_." + }, + "Event-driven Ansible server": "E_V_E_N_T_-_D_R_I_V_E_N_ _A_N_S_I_B_L_E_ _S_E_R_V_E_R", "Examples": "E_X_A_M_P_L_E_S", + "Execute": "E_X_E_C_U_T_E", "Execution": "E_X_E_C_U_T_I_O_N", "Execution environment": "E_X_E_C_U_T_I_O_N_ _E_N_V_I_R_O_N_M_E_N_T", + "Execution Environment": "E_X_E_C_U_T_I_O_N_ _E_N_V_I_R_O_N_M_E_N_T", + "Execution Environment Admin": "E_X_E_C_U_T_I_O_N_ _E_N_V_I_R_O_N_M_E_N_T_ _A_D_M_I_N", + "Execution environment is missing or deleted": "E_X_E_C_U_T_I_O_N_ _E_N_V_I_R_O_N_M_E_N_T_ _I_S_ _M_I_S_S_I_N_G_ _O_R_ _D_E_L_E_T_E_D_.", + "Execution Environment Missing": "E_X_E_C_U_T_I_O_N_ _E_N_V_I_R_O_N_M_E_N_T_ _M_I_S_S_I_N_G", + "Execution environment not found": "E_X_E_C_U_T_I_O_N_ _E_N_V_I_R_O_N_M_E_N_T_ _N_O_T_ _F_O_U_N_D_.", "Execution environments": "E_X_E_C_U_T_I_O_N_ _E_N_V_I_R_O_N_M_E_N_T_S", "Execution Environments": "E_X_E_C_U_T_I_O_N_ _E_N_V_I_R_O_N_M_E_N_T_S", "Execution node": "E_X_E_C_U_T_I_O_N_ _N_O_D_E", @@ -346,8 +445,13 @@ } }, "ExecutionEnvironments": "E_X_E_C_U_T_I_O_N_E_N_V_I_R_O_N_M_E_N_T_S", + "Extra vars": "E_X_T_R_A_ _V_A_R_S", + "Fact Storage": "F_A_C_T_ _S_T_O_R_A_G_E", "Failed": "F_A_I_L_E_D", + "Failed to copy project": "F_A_I_L_E_D_ _T_O_ _C_O_P_Y_ _P_R_O_J_E_C_T", "Failed to relaunch job": "F_A_I_L_E_D_ _T_O_ _R_E_L_A_U_N_C_H_ _J_O_B", + "Failed to remove role": "F_A_I_L_E_D_ _T_O_ _R_E_M_O_V_E_ _R_O_L_E", + "Failed to sync project": "F_A_I_L_E_D_ _T_O_ _S_Y_N_C_ _P_R_O_J_E_C_T", "Featured Collections": "F_E_A_T_U_R_E_D_ _C_O_L_L_E_C_T_I_O_N_S", "Filter By Job Type": "F_I_L_T_E_R_ _B_Y_ _J_O_B_ _T_Y_P_E", "Filter by name": "F_I_L_T_E_R_ _B_Y_ _N_A_M_E", @@ -355,40 +459,77 @@ "Find content": "F_I_N_D_ _C_O_N_T_E_N_T", "Fingerprint": "F_I_N_G_E_R_P_R_I_N_T", "Finished": "F_I_N_I_S_H_E_D", + "Fire count": "F_I_R_E_ _C_O_U_N_T", + "Fired date": "F_I_R_E_D_ _D_A_T_E", "First name": "F_I_R_S_T_ _N_A_M_E", - "Galaxy credentials": "G_A_L_A_X_Y_ _C_R_E_D_E_N_T_I_A_L_S", + "For instance, permissions may be granted to a whole Team rather than each user on the Team": "F_O_R_ _I_N_S_T_A_N_C_E_,_ _P_E_R_M_I_S_S_I_O_N_S_ _M_A_Y_ _B_E_ _G_R_A_N_T_E_D_ _T_O_ _A_ _W_H_O_L_E_ _T_E_A_M_ _R_A_T_H_E_R_ _T_H_A_N_ _E_A_C_H_ _U_S_E_R_ _O_N_ _T_H_E_ _T_E_A_M_.", + "Forks": "F_O_R_K_S", + "Galaxy Ansible server": "G_A_L_A_X_Y_ _A_N_S_I_B_L_E_ _S_E_R_V_E_R", + "Galaxy Credentials": "G_A_L_A_X_Y_ _C_R_E_D_E_N_T_I_A_L_S", "Generate token": "G_E_N_E_R_A_T_E_ _T_O_K_E_N", "Generating a new token will delete your old token": "G_E_N_E_R_A_T_I_N_G_ _A_ _N_E_W_ _T_O_K_E_N_ _W_I_L_L_ _D_E_L_E_T_E_ _Y_O_U_R_ _O_L_D_ _T_O_K_E_N_.", "Git": "G_I_T", + "Git hash": "G_I_T_ _H_A_S_H", + "GitHub": "G_I_T_H_U_B", + "GitLab": "G_I_T_L_A_B", + "Go to Projects": "G_O_ _T_O_ _P_R_O_J_E_C_T_S", + "Go to Rulebook Activations": "G_O_ _T_O_ _R_U_L_E_B_O_O_K_ _A_C_T_I_V_A_T_I_O_N_S", + "GPG Public Key": "G_P_G_ _P_U_B_L_I_C_ _K_E_Y", + "Groups": "G_R_O_U_P_S", + "Has all the permissons of the team": "H_A_S_ _A_L_L_ _T_H_E_ _P_E_R_M_I_S_S_O_N_S_ _O_F_ _T_H_E_ _T_E_A_M", "has read and write access limited to the resources (such as inventory, projects, and job templates) for which that user has been granted the appropriate roles and privileges": "H_A_S_ _R_E_A_D_ _A_N_D_ _W_R_I_T_E_ _A_C_C_E_S_S_ _L_I_M_I_T_E_D_ _T_O_ _T_H_E_ _R_E_S_O_U_R_C_E_S_ _(_S_U_C_H_ _A_S_ _I_N_V_E_N_T_O_R_Y_,_ _P_R_O_J_E_C_T_S_,_ _A_N_D_ _J_O_B_ _T_E_M_P_L_A_T_E_S_)_ _F_O_R_ _W_H_I_C_H_ _T_H_A_T_ _U_S_E_R_ _H_A_S_ _B_E_E_N_ _G_R_A_N_T_E_D_ _T_H_E_ _A_P_P_R_O_P_R_I_A_T_E_ _R_O_L_E_S_ _A_N_D_ _P_R_I_V_I_L_E_G_E_S", "Health check failed": "H_E_A_L_T_H_ _C_H_E_C_K_ _F_A_I_L_E_D", "Health check running": "H_E_A_L_T_H_ _C_H_E_C_K_ _R_U_N_N_I_N_G", "Health check success": "H_E_A_L_T_H_ _C_H_E_C_K_ _S_U_C_C_E_S_S", "Healthy": "H_E_A_L_T_H_Y", + "History": "H_I_S_T_O_R_Y", "Hop": "H_O_P", "HOP node": "H_O_P_ _N_O_D_E", + "Host config key": "H_O_S_T_ _C_O_N_F_I_G_ _K_E_Y", "Hosts": "H_O_S_T_S", + "Hosts recently changed": "H_O_S_T_S_ _R_E_C_E_N_T_L_Y_ _C_H_A_N_G_E_D", "Hybrid": "H_Y_B_R_I_D", - "Hybrid is the default node type for control plane nodes, responsible for automation controller runtime functions like project updates, management jobs and ansible-runner task operations": { - " Hybrid nodes are also used for automation execution": "H_Y_B_R_I_D_ _I_S_ _T_H_E_ _D_E_F_A_U_L_T_ _N_O_D_E_ _T_Y_P_E_ _F_O_R_ _C_O_N_T_R_O_L_ _P_L_A_N_E_ _N_O_D_E_S_,_ _R_E_S_P_O_N_S_I_B_L_E_ _F_O_R_ _A_U_T_O_M_A_T_I_O_N_ _C_O_N_T_R_O_L_L_E_R_ _R_U_N_T_I_M_E_ _F_U_N_C_T_I_O_N_S_ _L_I_K_E_ _P_R_O_J_E_C_T_ _U_P_D_A_T_E_S_,_ _M_A_N_A_G_E_M_E_N_T_ _J_O_B_S_ _A_N_D_ _A_N_S_I_B_L_E_-_R_U_N_N_E_R_ _T_A_S_K_ _O_P_E_R_A_T_I_O_N_S_._ _H_Y_B_R_I_D_ _N_O_D_E_S_ _A_R_E_ _A_L_S_O_ _U_S_E_D_ _F_O_R_ _A_U_T_O_M_A_T_I_O_N_ _E_X_E_C_U_T_I_O_N_." + "Hybrid is the default node type for control plane nodes, responsible for runtime functions like project updates, management jobs and ansible-runner task operations": { + " Hybrid nodes are also used for automation execution": "H_Y_B_R_I_D_ _I_S_ _T_H_E_ _D_E_F_A_U_L_T_ _N_O_D_E_ _T_Y_P_E_ _F_O_R_ _C_O_N_T_R_O_L_ _P_L_A_N_E_ _N_O_D_E_S_,_ _R_E_S_P_O_N_S_I_B_L_E_ _F_O_R_ _R_U_N_T_I_M_E_ _F_U_N_C_T_I_O_N_S_ _L_I_K_E_ _P_R_O_J_E_C_T_ _U_P_D_A_T_E_S_,_ _M_A_N_A_G_E_M_E_N_T_ _J_O_B_S_ _A_N_D_ _A_N_S_I_B_L_E_-_R_U_N_N_E_R_ _T_A_S_K_ _O_P_E_R_A_T_I_O_N_S_._ _H_Y_B_R_I_D_ _N_O_D_E_S_ _A_R_E_ _A_L_S_O_ _U_S_E_D_ _F_O_R_ _A_U_T_O_M_A_T_I_O_N_ _E_X_E_C_U_T_I_O_N_." }, "Hybrid node": "H_Y_B_R_I_D_ _N_O_D_E", + "Id": "I_D", "ID": "I_D", + "If you only want to remove access for this particular user, please remove them from the team": "I_F_ _Y_O_U_ _O_N_L_Y_ _W_A_N_T_ _T_O_ _R_E_M_O_V_E_ _A_C_C_E_S_S_ _F_O_R_ _T_H_I_S_ _P_A_R_T_I_C_U_L_A_R_ _U_S_E_R_,_ _P_L_E_A_S_E_ _R_E_M_O_V_E_ _T_H_E_M_ _F_R_O_M_ _T_H_E_ _T_E_A_M_.", "Image": "I_M_A_G_E", "Import log": "I_M_P_O_R_T_ _L_O_G", + "Insert description here": "I_N_S_E_R_T_ _D_E_S_C_R_I_P_T_I_O_N_ _H_E_R_E", + "Insert description here ": "I_N_S_E_R_T_ _D_E_S_C_R_I_P_T_I_O_N_ _H_E_R_E_ ", + "Insert execution environment here": "I_N_S_E_R_T_ _E_X_E_C_U_T_I_O_N_ _E_N_V_I_R_O_N_M_E_N_T_ _H_E_R_E", + "Insert name here": "I_N_S_E_R_T_ _N_A_M_E_ _H_E_R_E", + "Insert token here": "I_N_S_E_R_T_ _T_O_K_E_N_ _H_E_R_E", + "Insert working directory here": "I_N_S_E_R_T_ _W_O_R_K_I_N_G_ _D_I_R_E_C_T_O_R_Y_ _H_E_R_E", "Install": "I_N_S_T_A_L_L", "Installation": "I_N_S_T_A_L_L_A_T_I_O_N", "Instance group": "I_N_S_T_A_N_C_E_ _G_R_O_U_P", + "Instance group is required": "I_N_S_T_A_N_C_E_ _G_R_O_U_P_ _I_S_ _R_E_Q_U_I_R_E_D_.", "Instance groups": "I_N_S_T_A_N_C_E_ _G_R_O_U_P_S", + "Instance Groups": "I_N_S_T_A_N_C_E_ _G_R_O_U_P_S", "Instances": "I_N_S_T_A_N_C_E_S", "Invalid username or password": { " Please try again": "I_N_V_A_L_I_D_ _U_S_E_R_N_A_M_E_ _O_R_ _P_A_S_S_W_O_R_D_._ _P_L_E_A_S_E_ _T_R_Y_ _A_G_A_I_N_." }, "Inventories": "I_N_V_E_N_T_O_R_I_E_S", "Inventory": "I_N_V_E_N_T_O_R_Y", + "Inventory Admin": "I_N_V_E_N_T_O_R_Y_ _A_D_M_I_N", + "Inventory not found": "I_N_V_E_N_T_O_R_Y_ _N_O_T_ _F_O_U_N_D_.", "Inventory Sync": "I_N_V_E_N_T_O_R_Y_ _S_Y_N_C", + "Job project not found": "J_O_B_ _P_R_O_J_E_C_T_ _N_O_T_ _F_O_U_N_D_.", "Job relaunched": "J_O_B_ _R_E_L_A_U_N_C_H_E_D", + "Job runs in the last 30 days": "J_O_B_ _R_U_N_S_ _I_N_ _T_H_E_ _L_A_S_T_ _3_0_ _D_A_Y_S", + "Job slicing": "J_O_B_ _S_L_I_C_I_N_G", + "Job template": "J_O_B_ _T_E_M_P_L_A_T_E", + "Job Template": "J_O_B_ _T_E_M_P_L_A_T_E", + "Job Template Admin": "J_O_B_ _T_E_M_P_L_A_T_E_ _A_D_M_I_N", + "Job template not found": "J_O_B_ _T_E_M_P_L_A_T_E_ _N_O_T_ _F_O_U_N_D_.", "Job templates": "J_O_B_ _T_E_M_P_L_A_T_E_S", + "Job Templates": "J_O_B_ _T_E_M_P_L_A_T_E_S", + "Job type": "J_O_B_ _T_Y_P_E", "Job Type": "J_O_B_ _T_Y_P_E", "jobs": { "title": { @@ -400,10 +541,17 @@ "Key": "K_E_Y", "Keywords": "K_E_Y_W_O_R_D_S", "Label Name": "L_A_B_E_L_ _N_A_M_E", + "Last fired": "L_A_S_T_ _F_I_R_E_D", + "Last fired date": "L_A_S_T_ _F_I_R_E_D_ _D_A_T_E", "Last health check": "L_A_S_T_ _H_E_A_L_T_H_ _C_H_E_C_K", + "Last Job Status": "L_A_S_T_ _J_O_B_ _S_T_A_T_U_S", "Last modified": "L_A_S_T_ _M_O_D_I_F_I_E_D", "Last name": "L_A_S_T_ _N_A_M_E", + "Last restarted": "L_A_S_T_ _R_E_S_T_A_R_T_E_D", "Last sync": "L_A_S_T_ _S_Y_N_C", + "Launch": "L_A_U_N_C_H", + "Launch action": "L_A_U_N_C_H_ _A_C_T_I_O_N", + "Launch template": "L_A_U_N_C_H_ _T_E_M_P_L_A_T_E", "Launched By (Username)": "L_A_U_N_C_H_E_D_ _B_Y_ _(_U_S_E_R_N_A_M_E_)", "License": "L_I_C_E_N_S_E", "Limit": "L_I_M_I_T", @@ -411,14 +559,27 @@ "Log In": "L_O_G_ _I_N", "Logout": "L_O_G_O_U_T", "Machine": "M_A_C_H_I_N_E", - "Manage automation servers": "M_A_N_A_G_E_ _A_U_T_O_M_A_T_I_O_N_ _S_E_R_V_E_R_S", "Management Job": "M_A_N_A_G_E_M_E_N_T_ _J_O_B", "Manual": "M_A_N_U_A_L", + "May run ad hoc commands on the inventory": "M_A_Y_ _R_U_N_ _A_D_ _H_O_C_ _C_O_M_M_A_N_D_S_ _O_N_ _T_H_E_ _I_N_V_E_N_T_O_R_Y", + "May run any executable resources in the organization": "M_A_Y_ _R_U_N_ _A_N_Y_ _E_X_E_C_U_T_A_B_L_E_ _R_E_S_O_U_R_C_E_S_ _I_N_ _T_H_E_ _O_R_G_A_N_I_Z_A_T_I_O_N", + "May run the job template": "M_A_Y_ _R_U_N_ _T_H_E_ _J_O_B_ _T_E_M_P_L_A_T_E", + "May run the workflow job template": "M_A_Y_ _R_U_N_ _T_H_E_ _W_O_R_K_F_L_O_W_ _J_O_B_ _T_E_M_P_L_A_T_E", + "May update the inventory": "M_A_Y_ _U_P_D_A_T_E_ _T_H_E_ _I_N_V_E_N_T_O_R_Y", + "May update the project": "M_A_Y_ _U_P_D_A_T_E_ _T_H_E_ _P_R_O_J_E_C_T", + "May view settings for the credential": "M_A_Y_ _V_I_E_W_ _S_E_T_T_I_N_G_S_ _F_O_R_ _T_H_E_ _C_R_E_D_E_N_T_I_A_L", + "May view settings for the inventory": "M_A_Y_ _V_I_E_W_ _S_E_T_T_I_N_G_S_ _F_O_R_ _T_H_E_ _I_N_V_E_N_T_O_R_Y", + "May view settings for the job template": "M_A_Y_ _V_I_E_W_ _S_E_T_T_I_N_G_S_ _F_O_R_ _T_H_E_ _J_O_B_ _T_E_M_P_L_A_T_E", + "May view settings for the organization": "M_A_Y_ _V_I_E_W_ _S_E_T_T_I_N_G_S_ _F_O_R_ _T_H_E_ _O_R_G_A_N_I_Z_A_T_I_O_N", + "May view settings for the project": "M_A_Y_ _V_I_E_W_ _S_E_T_T_I_N_G_S_ _F_O_R_ _T_H_E_ _P_R_O_J_E_C_T", + "Member": "M_E_M_B_E_R", "Members": "M_E_M_B_E_R_S", "Memory": "M_E_M_O_R_Y", + "Missing resource": "M_I_S_S_I_N_G_ _R_E_S_O_U_R_C_E", "Modified": "M_O_D_I_F_I_E_D", "Modified by": "M_O_D_I_F_I_E_D_ _B_Y", "Modules": "M_O_D_U_L_E_S", + "More information`": "M_O_R_E_ _I_N_F_O_R_M_A_T_I_O_N_`", "My namespaces": "M_Y_ _N_A_M_E_S_P_A_C_E_S", "Name": "N_A_M_E", "Namespace": "N_A_M_E_S_P_A_C_E", @@ -426,6 +587,12 @@ "Needs review": "N_E_E_D_S_ _R_E_V_I_E_W", "Never updated": "N_E_V_E_R_ _U_P_D_A_T_E_D", "New": "N_E_W", + "No actions": "N_O_ _A_C_T_I_O_N_S", + "No actions for this rulebook activation": "N_O_ _A_C_T_I_O_N_S_ _F_O_R_ _T_H_I_S_ _R_U_L_E_B_O_O_K_ _A_C_T_I_V_A_T_I_O_N", + "No actions history": "N_O_ _A_C_T_I_O_N_S_ _H_I_S_T_O_R_Y", + "No actions history for this rulebook activation": "N_O_ _A_C_T_I_O_N_S_ _H_I_S_T_O_R_Y_ _ _F_O_R_ _T_H_I_S_ _R_U_L_E_B_O_O_K_ _A_C_T_I_V_A_T_I_O_N", + "No actions yet": "N_O_ _A_C_T_I_O_N_S_ _Y_E_T", + "No activations yet": "N_O_ _A_C_T_I_V_A_T_I_O_N_S_ _Y_E_T", "No approvals yet": "N_O_ _A_P_P_R_O_V_A_L_S_ _Y_E_T", "No collections yet": "N_O_ _C_O_L_L_E_C_T_I_O_N_S_ _Y_E_T", "No credentials yet": "N_O_ _C_R_E_D_E_N_T_I_A_L_S_ _Y_E_T", @@ -438,15 +605,19 @@ "No namespaces yet": "N_O_ _N_A_M_E_S_P_A_C_E_S_ _Y_E_T", "No organizations yet": "N_O_ _O_R_G_A_N_I_Z_A_T_I_O_N_S_ _Y_E_T", "No projects yet": "N_O_ _P_R_O_J_E_C_T_S_ _Y_E_T", + "No recent actions": "N_O_ _R_E_C_E_N_T_ _A_C_T_I_O_N_S", + "No recently changed hosts": "N_O_ _R_E_C_E_N_T_L_Y_ _C_H_A_N_G_E_D_ _H_O_S_T_S", "No remote registries yet": "N_O_ _R_E_M_O_T_E_ _R_E_G_I_S_T_R_I_E_S_ _Y_E_T", "No repositories yet": "N_O_ _R_E_P_O_S_I_T_O_R_I_E_S_ _Y_E_T", "No results found": "N_O_ _R_E_S_U_L_T_S_ _F_O_U_N_D", "No results match this filter criteria": { - " Adjust your filters and try again": "N_O_ _R_E_S_U_L_T_S_ _M_A_T_C_H_ _T_H_I_S_ _F_I_L_T_E_R_ _C_R_I_T_E_R_I_A_._ _A_D_J_U_S_T_ _Y_O_U_R_ _F_I_L_T_E_R_S_ _A_N_D_ _T_R_Y_ _A_G_A_I_N_." + " Clear all filters and try again": "N_O_ _R_E_S_U_L_T_S_ _M_A_T_C_H_ _T_H_I_S_ _F_I_L_T_E_R_ _C_R_I_T_E_R_I_A_._ _C_L_E_A_R_ _A_L_L_ _F_I_L_T_E_R_S_ _A_N_D_ _T_R_Y_ _A_G_A_I_N_." }, + "No rule sets in this rulebook": "N_O_ _R_U_L_E_ _S_E_T_S_ _I_N_ _T_H_I_S_ _R_U_L_E_B_O_O_K", "No rulebook activations yet": "N_O_ _R_U_L_E_B_O_O_K_ _A_C_T_I_V_A_T_I_O_N_S_ _Y_E_T", "No rulebooks yet": "N_O_ _R_U_L_E_B_O_O_K_S_ _Y_E_T", "No rules yet": "N_O_ _R_U_L_E_S_ _Y_E_T", + "No rulesets yet": "N_O_ _R_U_L_E_S_E_T_S_ _Y_E_T", "No signature keys yet": "N_O_ _S_I_G_N_A_T_U_R_E_ _K_E_Y_S_ _Y_E_T", "No tasks yet": "N_O_ _T_A_S_K_S_ _Y_E_T", "No teams yet": "N_O_ _T_E_A_M_S_ _Y_E_T", @@ -456,7 +627,12 @@ "Node type": "N_O_D_E_ _T_Y_P_E", "Normal user": "N_O_R_M_A_L_ _U_S_E_R", "Notes": "N_O_T_E_S", + "Notification Admin": "N_O_T_I_F_I_C_A_T_I_O_N_ _A_D_M_I_N", "Notifications": "N_O_T_I_F_I_C_A_T_I_O_N_S", + "Number of rule sets": "N_U_M_B_E_R_ _O_F_ _R_U_L_E_ _S_E_T_S", + "Number of Rules": "N_U_M_B_E_R_ _O_F_ _R_U_L_E_S", + "Off": "O_F_F", + "On": "O_N", "Organization": "O_R_G_A_N_I_Z_A_T_I_O_N", "Organization not found": "O_R_G_A_N_I_Z_A_T_I_O_N_ _N_O_T_ _F_O_U_N_D", "organizations": { @@ -491,6 +667,7 @@ "Permanently delete inventories_many": "P_E_R_M_A_N_E_N_T_L_Y_ _D_E_L_E_T_E_ _I_N_V_E_N_T_O_R_I_E_S", "Permanently delete inventories_other": "P_E_R_M_A_N_E_N_T_L_Y_ _D_E_L_E_T_E_ _I_N_V_E_N_T_O_R_I_E_S", "Permanently delete inventory": "P_E_R_M_A_N_E_N_T_L_Y_ _D_E_L_E_T_E_ _I_N_V_E_N_T_O_R_Y", + "Permanently delete job template": "P_E_R_M_A_N_E_N_T_L_Y_ _D_E_L_E_T_E_ _J_O_B_ _T_E_M_P_L_A_T_E", "Permanently delete jobs_one": "P_E_R_M_A_N_E_N_T_L_Y_ _D_E_L_E_T_E_ _J_O_B_S", "Permanently delete jobs_many": "P_E_R_M_A_N_E_N_T_L_Y_ _D_E_L_E_T_E_ _J_O_B_S", "Permanently delete jobs_other": "P_E_R_M_A_N_E_N_T_L_Y_ _D_E_L_E_T_E_ _J_O_B_S", @@ -502,39 +679,55 @@ "Permanently delete rulebookActivations_one": "P_E_R_M_A_N_E_N_T_L_Y_ _D_E_L_E_T_E_ _R_U_L_E_B_O_O_K_A_C_T_I_V_A_T_I_O_N_S", "Permanently delete rulebookActivations_many": "P_E_R_M_A_N_E_N_T_L_Y_ _D_E_L_E_T_E_ _R_U_L_E_B_O_O_K_A_C_T_I_V_A_T_I_O_N_S", "Permanently delete rulebookActivations_other": "P_E_R_M_A_N_E_N_T_L_Y_ _D_E_L_E_T_E_ _R_U_L_E_B_O_O_K_A_C_T_I_V_A_T_I_O_N_S", - "Permanently delete rulebooks_one": "P_E_R_M_A_N_E_N_T_L_Y_ _D_E_L_E_T_E_ _R_U_L_E_B_O_O_K_S", - "Permanently delete rulebooks_many": "P_E_R_M_A_N_E_N_T_L_Y_ _D_E_L_E_T_E_ _R_U_L_E_B_O_O_K_S", - "Permanently delete rulebooks_other": "P_E_R_M_A_N_E_N_T_L_Y_ _D_E_L_E_T_E_ _R_U_L_E_B_O_O_K_S", - "Permanently delete rules_one": "P_E_R_M_A_N_E_N_T_L_Y_ _D_E_L_E_T_E_ _R_U_L_E_S", - "Permanently delete rules_many": "P_E_R_M_A_N_E_N_T_L_Y_ _D_E_L_E_T_E_ _R_U_L_E_S", - "Permanently delete rules_other": "P_E_R_M_A_N_E_N_T_L_Y_ _D_E_L_E_T_E_ _R_U_L_E_S", "Permanently delete servers_one": "P_E_R_M_A_N_E_N_T_L_Y_ _D_E_L_E_T_E_ _S_E_R_V_E_R_S", "Permanently delete servers_many": "P_E_R_M_A_N_E_N_T_L_Y_ _D_E_L_E_T_E_ _S_E_R_V_E_R_S", "Permanently delete servers_other": "P_E_R_M_A_N_E_N_T_L_Y_ _D_E_L_E_T_E_ _S_E_R_V_E_R_S", "Permanently delete teams_one": "P_E_R_M_A_N_E_N_T_L_Y_ _D_E_L_E_T_E_ _T_E_A_M_S", "Permanently delete teams_many": "P_E_R_M_A_N_E_N_T_L_Y_ _D_E_L_E_T_E_ _T_E_A_M_S", "Permanently delete teams_other": "P_E_R_M_A_N_E_N_T_L_Y_ _D_E_L_E_T_E_ _T_E_A_M_S", - "Permanently delete template": "P_E_R_M_A_N_E_N_T_L_Y_ _D_E_L_E_T_E_ _T_E_M_P_L_A_T_E", "Permanently delete templates": "P_E_R_M_A_N_E_N_T_L_Y_ _D_E_L_E_T_E_ _T_E_M_P_L_A_T_E_S", "Permanently delete users_one": "P_E_R_M_A_N_E_N_T_L_Y_ _D_E_L_E_T_E_ _U_S_E_R_S", "Permanently delete users_many": "P_E_R_M_A_N_E_N_T_L_Y_ _D_E_L_E_T_E_ _U_S_E_R_S", "Permanently delete users_other": "P_E_R_M_A_N_E_N_T_L_Y_ _D_E_L_E_T_E_ _U_S_E_R_S", + "Permanently delete Users_one": "P_E_R_M_A_N_E_N_T_L_Y_ _D_E_L_E_T_E_ _U_S_E_R_S", + "Permanently delete Users_many": "P_E_R_M_A_N_E_N_T_L_Y_ _D_E_L_E_T_E_ _U_S_E_R_S", + "Permanently delete Users_other": "P_E_R_M_A_N_E_N_T_L_Y_ _D_E_L_E_T_E_ _U_S_E_R_S", + "Permanently delete workflow job template": "P_E_R_M_A_N_E_N_T_L_Y_ _D_E_L_E_T_E_ _W_O_R_K_F_L_O_W_ _J_O_B_ _T_E_M_P_L_A_T_E", + "Permissions": "P_E_R_M_I_S_S_I_O_N_S", + "Playbook": "P_L_A_Y_B_O_O_K", "Playbook Check": "P_L_A_Y_B_O_O_K_ _C_H_E_C_K", + "Playbook Directory": "P_L_A_Y_B_O_O_K_ _D_I_R_E_C_T_O_R_Y", "Playbook Run": "P_L_A_Y_B_O_O_K_ _R_U_N", + "Please add a project by using the button below": "P_L_E_A_S_E_ _A_D_D_ _A_ _P_R_O_J_E_C_T_ _B_Y_ _U_S_I_N_G_ _T_H_E_ _B_U_T_T_O_N_ _B_E_L_O_W", + "Please add a team by using the button below": "P_L_E_A_S_E_ _A_D_D_ _A_ _T_E_A_M_ _B_Y_ _U_S_I_N_G_ _T_H_E_ _B_U_T_T_O_N_ _B_E_L_O_W_.", + "Please contact your Organization Administrator if there is an issue with your access": "P_L_E_A_S_E_ _C_O_N_T_A_C_T_ _Y_O_U_R_ _O_R_G_A_N_I_Z_A_T_I_O_N_ _A_D_M_I_N_I_S_T_R_A_T_O_R_ _I_F_ _T_H_E_R_E_ _I_S_ _A_N_ _I_S_S_U_E_ _W_I_T_H_ _Y_O_U_R_ _A_C_C_E_S_S_.", + "Please create a team by using the button below": "P_L_E_A_S_E_ _C_R_E_A_T_E_ _A_ _T_E_A_M_ _B_Y_ _U_S_I_N_G_ _T_H_E_ _B_U_T_T_O_N_ _B_E_L_O_W_.", "Please run a job to populate this list": "P_L_E_A_S_E_ _R_U_N_ _A_ _J_O_B_ _T_O_ _P_O_P_U_L_A_T_E_ _T_H_I_S_ _L_I_S_T_.", "Plugins": "P_L_U_G_I_N_S", "Policy type": "P_O_L_I_C_Y_ _T_Y_P_E", + "Prevent instance group fallback": "P_R_E_V_E_N_T_ _I_N_S_T_A_N_C_E_ _G_R_O_U_P_ _F_A_L_L_B_A_C_K", + "Prevent Instance Group Fallback": "P_R_E_V_E_N_T_ _I_N_S_T_A_N_C_E_ _G_R_O_U_P_ _F_A_L_L_B_A_C_K", + "Privilege Escalation": "P_R_I_V_I_L_E_G_E_ _E_S_C_A_L_A_T_I_O_N", "Project": "P_R_O_J_E_C_T", + "Project Admin": "P_R_O_J_E_C_T_ _A_D_M_I_N", "Projects": "P_R_O_J_E_C_T_S", + "Provisioning callback URL": "P_R_O_V_I_S_I_O_N_I_N_G_ _C_A_L_L_B_A_C_K_ _U_R_L", + "Provisioning Callbacks": "P_R_O_V_I_S_I_O_N_I_N_G_ _C_A_L_L_B_A_C_K_S", "Public key": "P_U_B_L_I_C_ _K_E_Y", "Published": "P_U_B_L_I_S_H_E_D", + "Read": "R_E_A_D", "Readme": "R_E_A_D_M_E", - "Red Hat": "R_E_D_ _H_A_T", + "Ready": "R_E_A_D_Y", + "Recent actions": "R_E_C_E_N_T_ _A_C_T_I_O_N_S", + "Recently changed hosts": "R_E_C_E_N_T_L_Y_ _C_H_A_N_G_E_D_ _H_O_S_T_S", "Red Hat certified": "R_E_D_ _H_A_T_ _C_E_R_T_I_F_I_E_D", "Red Hat insights": "R_E_D_ _H_A_T_ _I_N_S_I_G_H_T_S", + "Refresh": "R_E_F_R_E_S_H", "Registry URL": "R_E_G_I_S_T_R_Y_ _U_R_L", "Reject": "R_E_J_E_C_T", "Rejected": "R_E_J_E_C_T_E_D", + "Relaunch": "R_E_L_A_U_N_C_H", + "Relaunch activation": "R_E_L_A_U_N_C_H_ _A_C_T_I_V_A_T_I_O_N", "Relaunch job": "R_E_L_A_U_N_C_H_ _J_O_B", "Relaunch on all hosts": "R_E_L_A_U_N_C_H_ _O_N_ _A_L_L_ _H_O_S_T_S", "Relaunch on failed hosts": "R_E_L_A_U_N_C_H_ _O_N_ _F_A_I_L_E_D_ _H_O_S_T_S", @@ -545,20 +738,25 @@ "Remote registries": "R_E_M_O_T_E_ _R_E_G_I_S_T_R_I_E_S", "Remove": "R_E_M_O_V_E", "Remove automation server": "R_E_M_O_V_E_ _A_U_T_O_M_A_T_I_O_N_ _S_E_R_V_E_R", + "Remove role from team": "R_E_M_O_V_E_ _R_O_L_E_ _F_R_O_M_ _T_E_A_M", "Remove role from user": "R_E_M_O_V_E_ _R_O_L_E_ _F_R_O_M_ _U_S_E_R", "Remove roles": "R_E_M_O_V_E_ _R_O_L_E_S", - "Remove selected automation servers": "R_E_M_O_V_E_ _S_E_L_E_C_T_E_D_ _A_U_T_O_M_A_T_I_O_N_ _S_E_R_V_E_R_S", + "Remove selected roles from team": "R_E_M_O_V_E_ _S_E_L_E_C_T_E_D_ _R_O_L_E_S_ _F_R_O_M_ _T_E_A_M", "Remove selected roles from user": "R_E_M_O_V_E_ _S_E_L_E_C_T_E_D_ _R_O_L_E_S_ _F_R_O_M_ _U_S_E_R", "Remove selected users": "R_E_M_O_V_E_ _S_E_L_E_C_T_E_D_ _U_S_E_R_S", "Remove selected users from organizations": "R_E_M_O_V_E_ _S_E_L_E_C_T_E_D_ _U_S_E_R_S_ _F_R_O_M_ _O_R_G_A_N_I_Z_A_T_I_O_N_S", "Remove selected users from teams": "R_E_M_O_V_E_ _S_E_L_E_C_T_E_D_ _U_S_E_R_S_ _F_R_O_M_ _T_E_A_M_S", "Remove user": "R_E_M_O_V_E_ _U_S_E_R", + "Remove user_one": "R_E_M_O_V_E_ _U_S_E_R", + "Remove user_many": "R_E_M_O_V_E_ _U_S_E_R", + "Remove user_other": "R_E_M_O_V_E_ _U_S_E_R", "Remove user from organization": "R_E_M_O_V_E_ _U_S_E_R_ _F_R_O_M_ _O_R_G_A_N_I_Z_A_T_I_O_N", "Remove user from organizations": "R_E_M_O_V_E_ _U_S_E_R_ _F_R_O_M_ _O_R_G_A_N_I_Z_A_T_I_O_N_S", "Remove user from selected organizations": "R_E_M_O_V_E_ _U_S_E_R_ _F_R_O_M_ _S_E_L_E_C_T_E_D_ _O_R_G_A_N_I_Z_A_T_I_O_N_S", "Remove user from selected teams": "R_E_M_O_V_E_ _U_S_E_R_ _F_R_O_M_ _S_E_L_E_C_T_E_D_ _T_E_A_M_S", "Remove user from team": "R_E_M_O_V_E_ _U_S_E_R_ _F_R_O_M_ _T_E_A_M", "Remove user from teams": "R_E_M_O_V_E_ _U_S_E_R_ _F_R_O_M_ _T_E_A_M_S", + "Remove users": "R_E_M_O_V_E_ _U_S_E_R_S", "Remove users from organization": "R_E_M_O_V_E_ _U_S_E_R_S_ _F_R_O_M_ _O_R_G_A_N_I_Z_A_T_I_O_N", "Remove users from organizations_one": "R_E_M_O_V_E_ _U_S_E_R_S_ _F_R_O_M_ _O_R_G_A_N_I_Z_A_T_I_O_N_S", "Remove users from organizations_many": "R_E_M_O_V_E_ _U_S_E_R_S_ _F_R_O_M_ _O_R_G_A_N_I_Z_A_T_I_O_N_S", @@ -605,57 +803,107 @@ "Repository": "R_E_P_O_S_I_T_O_R_Y", "Repository management": "R_E_P_O_S_I_T_O_R_Y_ _M_A_N_A_G_E_M_E_N_T", "Requires": "R_E_Q_U_I_R_E_S", + "Resource": "R_E_S_O_U_R_C_E", "Resource name": "R_E_S_O_U_R_C_E_ _N_A_M_E", "Resource type": "R_E_S_O_U_R_C_E_ _T_Y_P_E", "Resources": "R_E_S_O_U_R_C_E_S", + "Restart": "R_E_S_T_A_R_T", + "Restart activation": "R_E_S_T_A_R_T_ _A_C_T_I_V_A_T_I_O_N", + "Restart policy": "R_E_S_T_A_R_T_ _P_O_L_I_C_Y", + "Restarted count": "R_E_S_T_A_R_T_E_D_ _C_O_U_N_T", + "Return to home page": "R_E_T_U_R_N_ _T_O_ _H_O_M_E_ _P_A_G_E", + "Return to previous page": "R_E_T_U_R_N_ _T_O_ _P_R_E_V_I_O_U_S_ _P_A_G_E", "Returned": "R_E_T_U_R_N_E_D", "Returns": "R_E_T_U_R_N_S", "Revision": "R_E_V_I_S_I_O_N", "Role": "R_O_L_E", "Roles": "R_O_L_E_S", "Rule": "R_U_L_E", + "Rule set": "R_U_L_E_ _S_E_T", + "Rule Sets": "R_U_L_E_ _S_E_T_S", + "Rule type": "R_U_L_E_ _T_Y_P_E", "Rulebook": "R_U_L_E_B_O_O_K", "Rulebook activation": "R_U_L_E_B_O_O_K_ _A_C_T_I_V_A_T_I_O_N", + "Rulebook activation enabled?": "R_U_L_E_B_O_O_K_ _A_C_T_I_V_A_T_I_O_N_ _E_N_A_B_L_E_D_?", + "Rulebook activation history": "R_U_L_E_B_O_O_K_ _A_C_T_I_V_A_T_I_O_N_ _H_I_S_T_O_R_Y", "Rulebook activations": "R_U_L_E_B_O_O_K_ _A_C_T_I_V_A_T_I_O_N_S", + "Rulebook Activations": "R_U_L_E_B_O_O_K_ _A_C_T_I_V_A_T_I_O_N_S", "RulebookActivations": "R_U_L_E_B_O_O_K_A_C_T_I_V_A_T_I_O_N_S", "Rulebooks": "R_U_L_E_B_O_O_K_S", "Rules": "R_U_L_E_S", + "Rules fired": "R_U_L_E_S_ _F_I_R_E_D", + "Rules over time": "R_U_L_E_S_ _O_V_E_R_ _T_I_M_E", "Run health check": "R_U_N_ _H_E_A_L_T_H_ _C_H_E_C_K", "Running": "R_U_N_N_I_N_G", "Running jobs": "R_U_N_N_I_N_G_ _J_O_B_S", "Save execution environment": "S_A_V_E_ _E_X_E_C_U_T_I_O_N_ _E_N_V_I_R_O_N_M_E_N_T", "Save instance": "S_A_V_E_ _I_N_S_T_A_N_C_E", - "Save inventory": "S_A_V_E_ _I_N_V_E_N_T_O_R_Y", + "Save job template": "S_A_V_E_ _J_O_B_ _T_E_M_P_L_A_T_E", "Save organization": "S_A_V_E_ _O_R_G_A_N_I_Z_A_T_I_O_N", "Save project": "S_A_V_E_ _P_R_O_J_E_C_T", "Save rule": "S_A_V_E_ _R_U_L_E", - "Save rulebook": "S_A_V_E_ _R_U_L_E_B_O_O_K", - "Save rulebook activation": "S_A_V_E_ _R_U_L_E_B_O_O_K_ _A_C_T_I_V_A_T_I_O_N", "Save team": "S_A_V_E_ _T_E_A_M", "Save user": "S_A_V_E_ _U_S_E_R", + "Save User": "S_A_V_E_ _U_S_E_R", + "Schedules": "S_C_H_E_D_U_L_E_S", + "SCM token": "S_C_M_ _T_O_K_E_N", + "SCM type": "S_C_M_ _T_Y_P_E", + "SCM URL": "S_C_M_ _U_R_L", + "Select a restart policy": "S_E_L_E_C_T_ _ _A_ _R_E_S_T_A_R_T_ _P_O_L_I_C_Y", + "Select a credential": "S_E_L_E_C_T_ _A_ _C_R_E_D_E_N_T_I_A_L", + "Select a job template": "S_E_L_E_C_T_ _A_ _J_O_B_ _T_E_M_P_L_A_T_E", + "Select a organization": "S_E_L_E_C_T_ _A_ _O_R_G_A_N_I_Z_A_T_I_O_N", + "Select a workflow job template": "S_E_L_E_C_T_ _A_ _W_O_R_K_F_L_O_W_ _J_O_B_ _T_E_M_P_L_A_T_E", + "Select an execution environment": "S_E_L_E_C_T_ _A_N_ _E_X_E_C_U_T_I_O_N_ _E_N_V_I_R_O_N_M_E_N_T", + "Select an instance groups": "S_E_L_E_C_T_ _A_N_ _I_N_S_T_A_N_C_E_ _G_R_O_U_P_S", + "Select an inventory": "S_E_L_E_C_T_ _A_N_ _I_N_V_E_N_T_O_R_Y", "Select an organization": "S_E_L_E_C_T_ _A_N_ _O_R_G_A_N_I_Z_A_T_I_O_N", + "Select an project": "S_E_L_E_C_T_ _A_N_ _P_R_O_J_E_C_T", "Select automation server": "S_E_L_E_C_T_ _A_U_T_O_M_A_T_I_O_N_ _S_E_R_V_E_R", "Select automation type": "S_E_L_E_C_T_ _A_U_T_O_M_A_T_I_O_N_ _T_Y_P_E", + "Select extra vars": "S_E_L_E_C_T_ _E_X_T_R_A_ _V_A_R_S", + "Select from the list of directories found in the Project Base Path": { + " Together the base path and the playbook directory provide the full path used to locate playbooks": "S_E_L_E_C_T_ _F_R_O_M_ _T_H_E_ _L_I_S_T_ _O_F_ _D_I_R_E_C_T_O_R_I_E_S_ _F_O_U_N_D_ _I_N_ _T_H_E_ _P_R_O_J_E_C_T_ _B_A_S_E_ _P_A_T_H_._ _T_O_G_E_T_H_E_R_ _T_H_E_ _B_A_S_E_ _P_A_T_H_ _A_N_D_ _T_H_E_ _P_L_A_Y_B_O_O_K_ _D_I_R_E_C_T_O_R_Y_ _P_R_O_V_I_D_E_ _T_H_E_ _F_U_L_L_ _P_A_T_H_ _U_S_E_D_ _T_O_ _L_O_C_A_T_E_ _P_L_A_Y_B_O_O_K_S" + }, + "Select inventory": "S_E_L_E_C_T_ _I_N_V_E_N_T_O_R_Y", + "Select playbook": "S_E_L_E_C_T_ _P_L_A_Y_B_O_O_K", + "Select project": "S_E_L_E_C_T_ _P_R_O_J_E_C_T", "Select repository": "S_E_L_E_C_T_ _R_E_P_O_S_I_T_O_R_Y", + "Select rulebook": "S_E_L_E_C_T_ _R_U_L_E_B_O_O_K", "Select signature": "S_E_L_E_C_T_ _S_I_G_N_A_T_U_R_E", "Select statuses": "S_E_L_E_C_T_ _S_T_A_T_U_S_E_S", "Select type": "S_E_L_E_C_T_ _T_Y_P_E", "Select types": "S_E_L_E_C_T_ _T_Y_P_E_S", + "Select user type": "S_E_L_E_C_T_ _U_S_E_R_ _T_Y_P_E", "Selected": "S_E_L_E_C_T_E_D", + "Show changes": "S_H_O_W_ _C_H_A_N_G_E_S", + "show graph toggle": "S_H_O_W_ _G_R_A_P_H_ _T_O_G_G_L_E", + "Show less": "S_H_O_W_ _L_E_S_S", "Signature": "S_I_G_N_A_T_U_R_E", "Signature keys": "S_I_G_N_A_T_U_R_E_ _K_E_Y_S", - "SignatureKeys": "S_I_G_N_A_T_U_R_E_K_E_Y_S", + "Signature Keys": "S_I_G_N_A_T_U_R_E_ _K_E_Y_S", "Signed": "S_I_G_N_E_D", "Signed state": "S_I_G_N_E_D_ _S_T_A_T_E", "similar to a jump host, hop nodes will route traffic to other execution nodes": { " Hop nodes cannot execute automation": "S_I_M_I_L_A_R_ _T_O_ _A_ _J_U_M_P_ _H_O_S_T_,_ _H_O_P_ _N_O_D_E_S_ _W_I_L_L_ _R_O_U_T_E_ _T_R_A_F_F_I_C_ _T_O_ _O_T_H_E_R_ _E_X_E_C_U_T_I_O_N_ _N_O_D_E_S_._ _H_O_P_ _N_O_D_E_S_ _C_A_N_N_O_T_ _E_X_E_C_U_T_E_ _A_U_T_O_M_A_T_I_O_N_." }, + "Source control branch": "S_O_U_R_C_E_ _C_O_N_T_R_O_L_ _B_R_A_N_C_H", + "Source Control Branch": "S_O_U_R_C_E_ _C_O_N_T_R_O_L_ _B_R_A_N_C_H", + "Source Control Revision": "S_O_U_R_C_E_ _C_O_N_T_R_O_L_ _R_E_V_I_S_I_O_N", + "Source Control Type": "S_O_U_R_C_E_ _C_O_N_T_R_O_L_ _T_Y_P_E", "Source Control Update": "S_O_U_R_C_E_ _C_O_N_T_R_O_L_ _U_P_D_A_T_E", + "Source Control URL": "S_O_U_R_C_E_ _C_O_N_T_R_O_L_ _U_R_L", + "Source of Inventory": "S_O_U_R_C_E_ _O_F_ _I_N_V_E_N_T_O_R_Y", + "sourceControlURLHelpBlock": "S_O_U_R_C_E_C_O_N_T_R_O_L_U_R_L_H_E_L_P_B_L_O_C_K", "Started": "S_T_A_R_T_E_D", "Status": "S_T_A_T_U_S", + "Submit": "S_U_B_M_I_T", "Subversion": "S_U_B_V_E_R_S_I_O_N", "Successful": "S_U_C_C_E_S_S_F_U_L", "Sync": "S_Y_N_C", + "Sync failures": "S_Y_N_C_ _F_A_I_L_U_R_E_S", + "Sync from the available execution environments or create your own": "S_Y_N_C_ _F_R_O_M_ _T_H_E_ _A_V_A_I_L_A_B_L_E_ _E_X_E_C_U_T_I_O_N_ _E_N_V_I_R_O_N_M_E_N_T_S_ _O_R_ _C_R_E_A_T_E_ _Y_O_U_R_ _O_W_N_.", + "Sync project": "S_Y_N_C_ _P_R_O_J_E_C_T", "Sync repository": "S_Y_N_C_ _R_E_P_O_S_I_T_O_R_Y", "Sync status": "S_Y_N_C_ _S_T_A_T_U_S", "Synced": "S_Y_N_C_E_D", @@ -663,37 +911,51 @@ "System administrator": "S_Y_S_T_E_M_ _A_D_M_I_N_I_S_T_R_A_T_O_R", "System administrators have unrestricted access to all resources": "S_Y_S_T_E_M_ _A_D_M_I_N_I_S_T_R_A_T_O_R_S_ _H_A_V_E_ _U_N_R_E_S_T_R_I_C_T_E_D_ _A_C_C_E_S_S_ _T_O_ _A_L_L_ _R_E_S_O_U_R_C_E_S_.", "System auditor": "S_Y_S_T_E_M_ _A_U_D_I_T_O_R", + "System auditor have unrestricted access to all resources": "S_Y_S_T_E_M_ _A_U_D_I_T_O_R_ _H_A_V_E_ _U_N_R_E_S_T_R_I_C_T_E_D_ _A_C_C_E_S_S_ _T_O_ _A_L_L_ _R_E_S_O_U_R_C_E_S_.", + "System auditors have read access to all resources": "S_Y_S_T_E_M_ _A_U_D_I_T_O_R_S_ _H_A_V_E_ _R_E_A_D_ _A_C_C_E_S_S_ _T_O_ _A_L_L_ _R_E_S_O_U_R_C_E_S_.", "Tags": "T_A_G_S", "Task": "T_A_S_K", "Task management": "T_A_S_K_ _M_A_N_A_G_E_M_E_N_T", "Task name": "T_A_S_K_ _N_A_M_E", "Tasks": "T_A_S_K_S", "Team": "T_E_A_M", - "teams": { - "title": { - "description": "T_E_A_M_S_._T_I_T_L_E_._D_E_S_C_R_I_P_T_I_O_N", - "help": "T_E_A_M_S_._T_I_T_L_E_._H_E_L_P" - } - }, + "Team does not have any roles": "T_E_A_M_ _D_O_E_S_ _N_O_T_ _H_A_V_E_ _A_N_Y_ _R_O_L_E_S_.", + "Team roles": "T_E_A_M_ _R_O_L_E_S", "Teams": "T_E_A_M_S", + "Teams provide a means to implement role-based access control schemes and delegate responsibilities across organizations": "T_E_A_M_S_ _P_R_O_V_I_D_E_ _A_ _M_E_A_N_S_ _T_O_ _I_M_P_L_E_M_E_N_T_ _R_O_L_E_-_B_A_S_E_D_ _A_C_C_E_S_S_ _C_O_N_T_R_O_L_ _S_C_H_E_M_E_S_ _A_N_D_ _D_E_L_E_G_A_T_E_ _R_E_S_P_O_N_S_I_B_I_L_I_T_I_E_S_ _A_C_R_O_S_S_ _O_R_G_A_N_I_Z_A_T_I_O_N_S_.", "Templates": "T_E_M_P_L_A_T_E_S", "The collection cannot be imported": { " Please create namespace before importing": "T_H_E_ _C_O_L_L_E_C_T_I_O_N_ _C_A_N_N_O_T_ _B_E_ _I_M_P_O_R_T_E_D_._ _P_L_E_A_S_E_ _C_R_E_A_T_E_ _N_A_M_E_S_P_A_C_E_ _B_E_F_O_R_E_ _I_M_P_O_R_T_I_N_G_." }, + "The execution environment that will be used for jobs\n inside of this organization": { + " This will be used a fallback when\n an execution environment has not been explicitly assigned at the\n project, job template or workflow level": "T_H_E_ _E_X_E_C_U_T_I_O_N_ _E_N_V_I_R_O_N_M_E_N_T_ _T_H_A_T_ _W_I_L_L_ _B_E_ _U_S_E_D_ _F_O_R_ _J_O_B_S_\n_ _ _ _ _ _ _ _ _ _ _I_N_S_I_D_E_ _O_F_ _T_H_I_S_ _O_R_G_A_N_I_Z_A_T_I_O_N_._ _T_H_I_S_ _W_I_L_L_ _B_E_ _U_S_E_D_ _A_ _F_A_L_L_B_A_C_K_ _W_H_E_N_\n_ _ _ _ _ _ _ _ _ _ _A_N_ _E_X_E_C_U_T_I_O_N_ _E_N_V_I_R_O_N_M_E_N_T_ _H_A_S_ _N_O_T_ _B_E_E_N_ _E_X_P_L_I_C_I_T_L_Y_ _A_S_S_I_G_N_E_D_ _A_T_ _T_H_E_\n_ _ _ _ _ _ _ _ _ _ _P_R_O_J_E_C_T_,_ _J_O_B_ _T_E_M_P_L_A_T_E_ _O_R_ _W_O_R_K_F_L_O_W_ _L_E_V_E_L_." + }, + "The Instance Groups for this Organization to run on": "T_H_E_ _I_N_S_T_A_N_C_E_ _G_R_O_U_P_S_ _F_O_R_ _T_H_I_S_ _O_R_G_A_N_I_Z_A_T_I_O_N_ _T_O_ _R_U_N_ _O_N_.", "The job cannot be canceled because it is not running": "T_H_E_ _J_O_B_ _C_A_N_N_O_T_ _B_E_ _C_A_N_C_E_L_E_D_ _B_E_C_A_U_S_E_ _I_T_ _I_S_ _N_O_T_ _R_U_N_N_I_N_G", "The job cannot be canceled due to insufficient permission": "T_H_E_ _J_O_B_ _C_A_N_N_O_T_ _B_E_ _C_A_N_C_E_L_E_D_ _D_U_E_ _T_O_ _I_N_S_U_F_F_I_C_I_E_N_T_ _P_E_R_M_I_S_S_I_O_N", "The job cannot be deleted due to a running job status": "T_H_E_ _J_O_B_ _C_A_N_N_O_T_ _B_E_ _D_E_L_E_T_E_D_ _D_U_E_ _T_O_ _A_ _R_U_N_N_I_N_G_ _J_O_B_ _S_T_A_T_U_S", "The job cannot be deleted due to insufficient permission": "T_H_E_ _J_O_B_ _C_A_N_N_O_T_ _B_E_ _D_E_L_E_T_E_D_ _D_U_E_ _T_O_ _I_N_S_U_F_F_I_C_I_E_N_T_ _P_E_R_M_I_S_S_I_O_N", + "The project cannot be copied due to insufficient permission": "T_H_E_ _P_R_O_J_E_C_T_ _C_A_N_N_O_T_ _B_E_ _C_O_P_I_E_D_ _D_U_E_ _T_O_ _I_N_S_U_F_F_I_C_I_E_N_T_ _P_E_R_M_I_S_S_I_O_N", + "The project cannot be deleted due to insufficient permission": "T_H_E_ _P_R_O_J_E_C_T_ _C_A_N_N_O_T_ _B_E_ _D_E_L_E_T_E_D_ _D_U_E_ _T_O_ _I_N_S_U_F_F_I_C_I_E_N_T_ _P_E_R_M_I_S_S_I_O_N", + "The project cannot be edited due to insufficient permission": "T_H_E_ _P_R_O_J_E_C_T_ _C_A_N_N_O_T_ _B_E_ _E_D_I_T_E_D_ _D_U_E_ _T_O_ _I_N_S_U_F_F_I_C_I_E_N_T_ _P_E_R_M_I_S_S_I_O_N", + "The project cannot be synced due to insufficient permission": "T_H_E_ _P_R_O_J_E_C_T_ _C_A_N_N_O_T_ _B_E_ _S_Y_N_C_E_D_ _D_U_E_ _T_O_ _I_N_S_U_F_F_I_C_I_E_N_T_ _P_E_R_M_I_S_S_I_O_N", + "The team cannot be deleted due to insufficient permission": "T_H_E_ _T_E_A_M_ _C_A_N_N_O_T_ _B_E_ _D_E_L_E_T_E_D_ _D_U_E_ _T_O_ _I_N_S_U_F_F_I_C_I_E_N_T_ _P_E_R_M_I_S_S_I_O_N", + "The team cannot be deleted due to insufficient permissions": "T_H_E_ _T_E_A_M_ _C_A_N_N_O_T_ _B_E_ _D_E_L_E_T_E_D_ _D_U_E_ _T_O_ _I_N_S_U_F_F_I_C_I_E_N_T_ _P_E_R_M_I_S_S_I_O_N_S_.", + "The team cannot be edited due to insufficient permission": "T_H_E_ _T_E_A_M_ _C_A_N_N_O_T_ _B_E_ _E_D_I_T_E_D_ _D_U_E_ _T_O_ _I_N_S_U_F_F_I_C_I_E_N_T_ _P_E_R_M_I_S_S_I_O_N", + "The user cannot be deleted due to insufficient permissions": "T_H_E_ _U_S_E_R_ _C_A_N_N_O_T_ _B_E_ _D_E_L_E_T_E_D_ _D_U_E_ _T_O_ _I_N_S_U_F_F_I_C_I_E_N_T_ _P_E_R_M_I_S_S_I_O_N_S_.", + "There are currently no teams added to your organization": "T_H_E_R_E_ _A_R_E_ _C_U_R_R_E_N_T_L_Y_ _N_O_ _T_E_A_M_S_ _A_D_D_E_D_ _T_O_ _Y_O_U_R_ _O_R_G_A_N_I_Z_A_T_I_O_N_.", "This is the description of the collection": "T_H_I_S_ _I_S_ _T_H_E_ _D_E_S_C_R_I_P_T_I_O_N_ _O_F_ _T_H_E_ _C_O_L_L_E_C_T_I_O_N_.", - "To get started, add an automation server": "T_O_ _G_E_T_ _S_T_A_R_T_E_D_,_ _A_D_D_ _A_N_ _A_U_T_O_M_A_T_I_O_N_ _S_E_R_V_E_R_.", + "This user currently does not belong to any teams": "T_H_I_S_ _U_S_E_R_ _C_U_R_R_E_N_T_L_Y_ _D_O_E_S_ _N_O_T_ _B_E_L_O_N_G_ _T_O_ _A_N_Y_ _T_E_A_M_S_.", + "Throttle": "T_H_R_O_T_T_L_E", + "Time": "T_I_M_E", + "Timeout": "T_I_M_E_O_U_T", + "To get started, add roles to the team": "T_O_ _G_E_T_ _S_T_A_R_T_E_D_,_ _A_D_D_ _R_O_L_E_S_ _T_O_ _T_H_E_ _T_E_A_M_.", "To get started, add roles to the user": "T_O_ _G_E_T_ _S_T_A_R_T_E_D_,_ _A_D_D_ _R_O_L_E_S_ _T_O_ _T_H_E_ _U_S_E_R_.", - "To get started, add the user to a team": "T_O_ _G_E_T_ _S_T_A_R_T_E_D_,_ _A_D_D_ _T_H_E_ _U_S_E_R_ _T_O_ _A_ _T_E_A_M_.", "To get started, add the user to an organization": "T_O_ _G_E_T_ _S_T_A_R_T_E_D_,_ _A_D_D_ _T_H_E_ _U_S_E_R_ _T_O_ _A_N_ _O_R_G_A_N_I_Z_A_T_I_O_N_.", + "To get started, add your Ansible automation servers": "T_O_ _G_E_T_ _S_T_A_R_T_E_D_,_ _A_D_D_ _Y_O_U_R_ _A_N_S_I_B_L_E_ _A_U_T_O_M_A_T_I_O_N_ _S_E_R_V_E_R_S_.", "To get started, create a execution evironment": "T_O_ _G_E_T_ _S_T_A_R_T_E_D_,_ _C_R_E_A_T_E_ _A_ _E_X_E_C_U_T_I_O_N_ _E_V_I_R_O_N_M_E_N_T_.", "To get started, create a inventory": "T_O_ _G_E_T_ _S_T_A_R_T_E_D_,_ _C_R_E_A_T_E_ _A_ _I_N_V_E_N_T_O_R_Y_.", "To get started, create a project": "T_O_ _G_E_T_ _S_T_A_R_T_E_D_,_ _C_R_E_A_T_E_ _A_ _P_R_O_J_E_C_T_.", - "To get started, create a rule": "T_O_ _G_E_T_ _S_T_A_R_T_E_D_,_ _C_R_E_A_T_E_ _A_ _R_U_L_E_.", - "To get started, create a rulebook": "T_O_ _G_E_T_ _S_T_A_R_T_E_D_,_ _C_R_E_A_T_E_ _A_ _R_U_L_E_B_O_O_K_.", "To get started, create a rulebook activation": "T_O_ _G_E_T_ _S_T_A_R_T_E_D_,_ _C_R_E_A_T_E_ _A_ _R_U_L_E_B_O_O_K_ _A_C_T_I_V_A_T_I_O_N_.", "To get started, create a team": "T_O_ _G_E_T_ _S_T_A_R_T_E_D_,_ _C_R_E_A_T_E_ _A_ _T_E_A_M_.", "To get started, create a template": "T_O_ _G_E_T_ _S_T_A_R_T_E_D_,_ _C_R_E_A_T_E_ _A_ _T_E_M_P_L_A_T_E_.", @@ -707,31 +969,41 @@ "To get started, create an namespace": "T_O_ _G_E_T_ _S_T_A_R_T_E_D_,_ _C_R_E_A_T_E_ _A_N_ _N_A_M_E_S_P_A_C_E_.", "To get started, create an organization": "T_O_ _G_E_T_ _S_T_A_R_T_E_D_,_ _C_R_E_A_T_E_ _A_N_ _O_R_G_A_N_I_Z_A_T_I_O_N_.", "To get started, create an project": "T_O_ _G_E_T_ _S_T_A_R_T_E_D_,_ _C_R_E_A_T_E_ _A_N_ _P_R_O_J_E_C_T_.", + "To get started, create your first job template": "T_O_ _G_E_T_ _S_T_A_R_T_E_D_,_ _C_R_E_A_T_E_ _Y_O_U_R_ _F_I_R_S_T_ _J_O_B_ _T_E_M_P_L_A_T_E_.", "To get started, upload a collection": "T_O_ _G_E_T_ _S_T_A_R_T_E_D_,_ _U_P_L_O_A_D_ _A_ _C_O_L_L_E_C_T_I_O_N_.", - "Topology view": "T_O_P_O_L_O_G_Y_ _V_I_E_W", + "toggle show graph": "T_O_G_G_L_E_ _S_H_O_W_ _G_R_A_P_H", "Total jobs": "T_O_T_A_L_ _J_O_B_S", "Type": "T_Y_P_E", "Under development": "U_N_D_E_R_ _D_E_V_E_L_O_P_M_E_N_T", "Unknown": "U_N_K_N_O_W_N", + "Unknown error": "U_N_K_N_O_W_N_ _E_R_R_O_R", "Unsigned": "U_N_S_I_G_N_E_D", "Unsynced": "U_N_S_Y_N_C_E_D", + "Update": "U_P_D_A_T_E", "Updated": "U_P_D_A_T_E_D", "Upload collection": "U_P_L_O_A_D_ _C_O_L_L_E_C_T_I_O_N", "Upload new version": "U_P_L_O_A_D_ _N_E_W_ _V_E_R_S_I_O_N", "Url": "U_R_L", "URL": "U_R_L", + "Url must be a valid URL": "U_R_L_ _M_U_S_T_ _B_E_ _A_ _V_A_L_I_D_ _U_R_L_.", + "Use": "U_S_E", "Use namespaces to organize the collections created by automation developers in your organization": { " Create namespaces, upload collections and add additional information and resources that help your end users in their automation tasks": "U_S_E_ _N_A_M_E_S_P_A_C_E_S_ _T_O_ _O_R_G_A_N_I_Z_E_ _T_H_E_ _C_O_L_L_E_C_T_I_O_N_S_ _C_R_E_A_T_E_D_ _B_Y_ _A_U_T_O_M_A_T_I_O_N_ _D_E_V_E_L_O_P_E_R_S_ _I_N_ _Y_O_U_R_ _O_R_G_A_N_I_Z_A_T_I_O_N_._ _C_R_E_A_T_E_ _N_A_M_E_S_P_A_C_E_S_,_ _U_P_L_O_A_D_ _C_O_L_L_E_C_T_I_O_N_S_ _A_N_D_ _A_D_D_ _A_D_D_I_T_I_O_N_A_L_ _I_N_F_O_R_M_A_T_I_O_N_ _A_N_D_ _R_E_S_O_U_R_C_E_S_ _T_H_A_T_ _H_E_L_P_ _Y_O_U_R_ _E_N_D_ _U_S_E_R_S_ _I_N_ _T_H_E_I_R_ _A_U_T_O_M_A_T_I_O_N_ _T_A_S_K_S_." }, "Used capacity": "U_S_E_D_ _C_A_P_A_C_I_T_Y", "User": "U_S_E_R", + "User Access": "U_S_E_R_ _A_C_C_E_S_S", "User details": "U_S_E_R_ _D_E_T_A_I_L_S", "User does not have any roles": "U_S_E_R_ _D_O_E_S_ _N_O_T_ _H_A_V_E_ _A_N_Y_ _R_O_L_E_S_.", + "User is a member of the organization": "U_S_E_R_ _I_S_ _A_ _M_E_M_B_E_R_ _O_F_ _T_H_E_ _O_R_G_A_N_I_Z_A_T_I_O_N", "User is not a member of any organizations": "U_S_E_R_ _I_S_ _N_O_T_ _A_ _M_E_M_B_E_R_ _O_F_ _A_N_Y_ _O_R_G_A_N_I_Z_A_T_I_O_N_S_.", - "User is not a member of any teams": "U_S_E_R_ _I_S_ _N_O_T_ _A_ _M_E_M_B_E_R_ _O_F_ _A_N_Y_ _T_E_A_M_S_.", - "User role": "U_S_E_R_ _R_O_L_E", + "User roles": "U_S_E_R_ _R_O_L_E_S", "User type": "U_S_E_R_ _T_Y_P_E", + "User/Team": "U_S_E_R_/_T_E_A_M", "Username": "U_S_E_R_N_A_M_E", + "Username may contain only letters, numbers, and @": { + "+-_ characters": "U_S_E_R_N_A_M_E_ _M_A_Y_ _C_O_N_T_A_I_N_ _O_N_L_Y_ _L_E_T_T_E_R_S_,_ _N_U_M_B_E_R_S_,_ _A_N_D_ _@_._+_-___ _C_H_A_R_A_C_T_E_R_S_." + }, "users": { "title": { "description": "U_S_E_R_S_._T_I_T_L_E_._D_E_S_C_R_I_P_T_I_O_N", @@ -740,12 +1012,27 @@ }, "Users": "U_S_E_R_S", "Validated": "V_A_L_I_D_A_T_E_D", + "Variables template": "V_A_R_I_A_B_L_E_S_ _T_E_M_P_L_A_T_E", + "Verbosity": "V_E_R_B_O_S_I_T_Y", "Version": "V_E_R_S_I_O_N", + "View activity stream": "V_I_E_W_ _A_C_T_I_V_I_T_Y_ _S_T_R_E_A_M", "Views": "V_I_E_W_S", + "Visualizer": "V_I_S_U_A_L_I_Z_E_R", "Waiting": "W_A_I_T_I_N_G", - "Welcome to the": "W_E_L_C_O_M_E_ _T_O_ _T_H_E", - "Welcome to the ansible automation platform": "W_E_L_C_O_M_E_ _T_O_ _T_H_E_ _A_N_S_I_B_L_E_ _A_U_T_O_M_A_T_I_O_N_ _P_L_A_T_F_O_R_M", + "We could not find that page": "W_E_ _C_O_U_L_D_ _N_O_T_ _F_I_N_D_ _T_H_A_T_ _P_A_G_E", + "Webhook credential": "W_E_B_H_O_O_K_ _C_R_E_D_E_N_T_I_A_L", + "Webhook service": "W_E_B_H_O_O_K_ _S_E_R_V_I_C_E", + "Webhooks": "W_E_B_H_O_O_K_S", + "Welcome to": "W_E_L_C_O_M_E_ _T_O", + "Welcome to Ansible": "W_E_L_C_O_M_E_ _T_O_ _A_N_S_I_B_L_E", + "Welcome to AWX": "W_E_L_C_O_M_E_ _T_O_ _A_W_X", + "Welcome to Event Driven Automation": "W_E_L_C_O_M_E_ _T_O_ _E_V_E_N_T_ _D_R_I_V_E_N_ _A_U_T_O_M_A_T_I_O_N", + "Workflow Admin": "W_O_R_K_F_L_O_W_ _A_D_M_I_N", "Workflow Job": "W_O_R_K_F_L_O_W_ _J_O_B", + "Workflow job template": "W_O_R_K_F_L_O_W_ _J_O_B_ _T_E_M_P_L_A_T_E", + "Workflow Job Template": "W_O_R_K_F_L_O_W_ _J_O_B_ _T_E_M_P_L_A_T_E", + "Workflow job template not found": "W_O_R_K_F_L_O_W_ _J_O_B_ _T_E_M_P_L_A_T_E_ _N_O_T_ _F_O_U_N_D_.", + "Working directory": "W_O_R_K_I_N_G_ _D_I_R_E_C_T_O_R_Y", "Yes, I confirm that I want to cancel these {{count}} jobs": { "_one": "Y_E_S_,_ _I_ _C_O_N_F_I_R_M_ _T_H_A_T_ _I_ _W_A_N_T_ _T_O_ _C_A_N_C_E_L_ _T_H_E_S_E_ _{{count}}_ _J_O_B_S_.", "_many": "Y_E_S_,_ _I_ _C_O_N_F_I_R_M_ _T_H_A_T_ _I_ _W_A_N_T_ _T_O_ _C_A_N_C_E_L_ _T_H_E_S_E_ _{{count}}_ _J_O_B_S_.", @@ -801,16 +1088,6 @@ "_many": "Y_E_S_,_ _I_ _C_O_N_F_I_R_M_ _T_H_A_T_ _I_ _W_A_N_T_ _T_O_ _D_E_L_E_T_E_ _T_H_E_S_E_ _{{count}}_ _R_U_L_E_B_O_O_K_A_C_T_I_V_A_T_I_O_N_S_.", "_other": "Y_E_S_,_ _I_ _C_O_N_F_I_R_M_ _T_H_A_T_ _I_ _W_A_N_T_ _T_O_ _D_E_L_E_T_E_ _T_H_E_S_E_ _{{count}}_ _R_U_L_E_B_O_O_K_A_C_T_I_V_A_T_I_O_N_S_." }, - "Yes, I confirm that I want to delete these {{count}} rulebooks": { - "_one": "Y_E_S_,_ _I_ _C_O_N_F_I_R_M_ _T_H_A_T_ _I_ _W_A_N_T_ _T_O_ _D_E_L_E_T_E_ _T_H_E_S_E_ _{{count}}_ _R_U_L_E_B_O_O_K_S_.", - "_many": "Y_E_S_,_ _I_ _C_O_N_F_I_R_M_ _T_H_A_T_ _I_ _W_A_N_T_ _T_O_ _D_E_L_E_T_E_ _T_H_E_S_E_ _{{count}}_ _R_U_L_E_B_O_O_K_S_.", - "_other": "Y_E_S_,_ _I_ _C_O_N_F_I_R_M_ _T_H_A_T_ _I_ _W_A_N_T_ _T_O_ _D_E_L_E_T_E_ _T_H_E_S_E_ _{{count}}_ _R_U_L_E_B_O_O_K_S_." - }, - "Yes, I confirm that I want to delete these {{count}} rules": { - "_one": "Y_E_S_,_ _I_ _C_O_N_F_I_R_M_ _T_H_A_T_ _I_ _W_A_N_T_ _T_O_ _D_E_L_E_T_E_ _T_H_E_S_E_ _{{count}}_ _R_U_L_E_S_.", - "_many": "Y_E_S_,_ _I_ _C_O_N_F_I_R_M_ _T_H_A_T_ _I_ _W_A_N_T_ _T_O_ _D_E_L_E_T_E_ _T_H_E_S_E_ _{{count}}_ _R_U_L_E_S_.", - "_other": "Y_E_S_,_ _I_ _C_O_N_F_I_R_M_ _T_H_A_T_ _I_ _W_A_N_T_ _T_O_ _D_E_L_E_T_E_ _T_H_E_S_E_ _{{count}}_ _R_U_L_E_S_." - }, "Yes, I confirm that I want to delete these {{count}} servers": { "_one": "Y_E_S_,_ _I_ _C_O_N_F_I_R_M_ _T_H_A_T_ _I_ _W_A_N_T_ _T_O_ _D_E_L_E_T_E_ _T_H_E_S_E_ _{{count}}_ _S_E_R_V_E_R_S_.", "_many": "Y_E_S_,_ _I_ _C_O_N_F_I_R_M_ _T_H_A_T_ _I_ _W_A_N_T_ _T_O_ _D_E_L_E_T_E_ _T_H_E_S_E_ _{{count}}_ _S_E_R_V_E_R_S_.", @@ -830,5 +1107,23 @@ "_one": "Y_E_S_,_ _I_ _C_O_N_F_I_R_M_ _T_H_A_T_ _I_ _W_A_N_T_ _T_O_ _D_E_L_E_T_E_ _T_H_E_S_E_ _{{count}}_ _U_S_E_R_S_.", "_many": "Y_E_S_,_ _I_ _C_O_N_F_I_R_M_ _T_H_A_T_ _I_ _W_A_N_T_ _T_O_ _D_E_L_E_T_E_ _T_H_E_S_E_ _{{count}}_ _U_S_E_R_S_.", "_other": "Y_E_S_,_ _I_ _C_O_N_F_I_R_M_ _T_H_A_T_ _I_ _W_A_N_T_ _T_O_ _D_E_L_E_T_E_ _T_H_E_S_E_ _{{count}}_ _U_S_E_R_S_." - } + }, + "Yes, I confirm that I want to delete these {{count}} Users": { + "_one": "Y_E_S_,_ _I_ _C_O_N_F_I_R_M_ _T_H_A_T_ _I_ _W_A_N_T_ _T_O_ _D_E_L_E_T_E_ _T_H_E_S_E_ _{{count}}_ _U_S_E_R_S_.", + "_many": "Y_E_S_,_ _I_ _C_O_N_F_I_R_M_ _T_H_A_T_ _I_ _W_A_N_T_ _T_O_ _D_E_L_E_T_E_ _T_H_E_S_E_ _{{count}}_ _U_S_E_R_S_.", + "_other": "Y_E_S_,_ _I_ _C_O_N_F_I_R_M_ _T_H_A_T_ _I_ _W_A_N_T_ _T_O_ _D_E_L_E_T_E_ _T_H_E_S_E_ _{{count}}_ _U_S_E_R_S_." + }, + "Yes, I confirm that I want to remove these {{count}} users": { + "_one": "Y_E_S_,_ _I_ _C_O_N_F_I_R_M_ _T_H_A_T_ _I_ _W_A_N_T_ _T_O_ _R_E_M_O_V_E_ _T_H_E_S_E_ _{{count}}_ _U_S_E_R_S_.", + "_many": "Y_E_S_,_ _I_ _C_O_N_F_I_R_M_ _T_H_A_T_ _I_ _W_A_N_T_ _T_O_ _R_E_M_O_V_E_ _T_H_E_S_E_ _{{count}}_ _U_S_E_R_S_.", + "_other": "Y_E_S_,_ _I_ _C_O_N_F_I_R_M_ _T_H_A_T_ _I_ _W_A_N_T_ _T_O_ _R_E_M_O_V_E_ _T_H_E_S_E_ _{{count}}_ _U_S_E_R_S_." + }, + "You do not have permission to add users": { + " Please contact your Organization Administrator if there is an issue with your access": "Y_O_U_ _D_O_ _N_O_T_ _H_A_V_E_ _P_E_R_M_I_S_S_I_O_N_ _T_O_ _A_D_D_ _U_S_E_R_S_._ _P_L_E_A_S_E_ _C_O_N_T_A_C_T_ _Y_O_U_R_ _O_R_G_A_N_I_Z_A_T_I_O_N_ _A_D_M_I_N_I_S_T_R_A_T_O_R_ _I_F_ _T_H_E_R_E_ _I_S_ _A_N_ _I_S_S_U_E_ _W_I_T_H_ _Y_O_U_R_ _A_C_C_E_S_S_." + }, + "You do not have permission to create a team": "Y_O_U_ _D_O_ _N_O_T_ _H_A_V_E_ _P_E_R_M_I_S_S_I_O_N_ _T_O_ _C_R_E_A_T_E_ _A_ _T_E_A_M", + "You do not have permission to remove users": { + " Please contact your Organization Administrator if there is an issue with your access": "Y_O_U_ _D_O_ _N_O_T_ _H_A_V_E_ _P_E_R_M_I_S_S_I_O_N_ _T_O_ _R_E_M_O_V_E_ _U_S_E_R_S_._ _P_L_E_A_S_E_ _C_O_N_T_A_C_T_ _Y_O_U_R_ _O_R_G_A_N_I_Z_A_T_I_O_N_ _A_D_M_I_N_I_S_T_R_A_T_O_R_ _I_F_ _T_H_E_R_E_ _I_S_ _A_N_ _I_S_S_U_E_ _W_I_T_H_ _Y_O_U_R_ _A_C_C_E_S_S_." + }, + "You do not have permissions to add this user to a team": "Y_O_U_ _D_O_ _N_O_T_ _H_A_V_E_ _P_E_R_M_I_S_S_I_O_N_S_ _T_O_ _A_D_D_ _T_H_I_S_ _U_S_E_R_ _T_O_ _A_ _T_E_A_M_." } diff --git a/package.json b/package.json index c09c3b4b50..5e850fcb7b 100644 --- a/package.json +++ b/package.json @@ -13,14 +13,14 @@ "scripts": { "start": "concurrently npm:frontend npm:proxy --prefix-colors cyan,green", "frontend": "webpack serve --mode development", - "frontend:controller": "webpack serve --mode development --env controller", + "frontend:awx": "webpack serve --mode development --env awx", "frontend:hub": "webpack serve --mode development --env hub", "frontend:eda": "webpack serve --mode development --env eda", "proxy": "NODE_ENV=development PORT=3001 nodemon --watch './proxy/**/*.ts' --exec 'node --experimental-specifier-resolution=node --loader ts-node/esm/transpile-only' proxy/main.ts | pino-zen", "build": "npm run clean && concurrently --kill-others-on-fail npm:build:frontend npm:build:proxy --prefix-colors cyan,green,blue,magenta,gray", "build:proxy": "cd proxy && rollup --config rollup.config.ts --configPlugin typescript", "build:frontend": "webpack --mode production --env pwa", - "build:controller": "webpack --mode production --env controller --output-path build/controller && mv build/controller/index.html build/controller/index_controller.html", + "build:awx": "webpack --mode production --env awx --output-path build/awx && mv build/awx/index.html build/awx/index_awx.html", "build:hub": "webpack --mode production --env hub --output-path build/hub", "build:eda": "webpack --mode production --env eda --output-path build/eda", "clean": "rm -rf build coverage .nyc_output", diff --git a/scripts/controller.sh b/scripts/awx.sh similarity index 96% rename from scripts/controller.sh rename to scripts/awx.sh index c08cd86a68..9af898af85 100755 --- a/scripts/controller.sh +++ b/scripts/awx.sh @@ -5,7 +5,7 @@ cd $SCRIPT_DIR export SERVER='' export TOKEN='' -OUT="../frontend/controller/interfaces" +OUT="../frontend/awx/interfaces" mkdir -p $OUT # ./api2ts.sh User /api/v2/users/ .results $OUT/User.ts # ./api2ts.sh Organization /api/v2/organizations/ .results $OUT/Organization.ts diff --git a/webpack.config.cjs b/webpack.config.cjs index 3140b32905..4c3968a33a 100644 --- a/webpack.config.cjs +++ b/webpack.config.cjs @@ -67,7 +67,7 @@ module.exports = function (_env, argv) { ? JSON.stringify('') : JSON.stringify(process.env.DELAY ?? ''), 'process.env.PWA': _env.pwa ? JSON.stringify('true') : JSON.stringify(''), - 'process.env.CONTROLLER': _env.controller ? JSON.stringify('true') : JSON.stringify(''), + 'process.env.AWX': _env.awx ? JSON.stringify('true') : JSON.stringify(''), 'process.env.HUB': _env.hub ? JSON.stringify('true') : JSON.stringify(''), 'process.env.EDA': _env.eda ? JSON.stringify('true') : JSON.stringify(''), }), @@ -100,7 +100,7 @@ module.exports = function (_env, argv) { clean: true, filename: isProduction ? '[contenthash].js' : undefined, path: path.resolve(__dirname, 'build/public'), - publicPath: _env.controller ? '/static/controller/' : '/', + publicPath: _env.awx ? '/static/awx/' : '/', }, optimization: { minimizer: [