Cameron Perera
9fec047506
Icu 12060 move rose filterable dropdown to core ( #2048 )
...
* feat: 🎸 generate new dropdown component in core
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12060
* feat: 🎸 add template and class code to new dropdown component
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12060
* chore: 🤖 add lodash package to core addon
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12060
* test: 💍 add tests for core/dropdown component
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12060
* refactor: 💡 use new core/dropdown in targets list screen
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12060
* refactor: 💡 remove rose/filterabledropdown
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12060
* feat: 🎸 add maxHeight to core/dropdown component
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12060
* style: 💄 fix lint errors in dropdown/index-tests
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12060
* refactor: 💡 update height to match designs
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12060
* chore: 🤖 remove lodash from ui/admin
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12060
* chore: 🤖 remove lodash from ui/desktop
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12060
* chore: 🤖 move lodash to devDep in core
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12060
* chore: 🤖 add lodash as core dependency
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12060
* test: 💍 use waitUntil & findAll instead of setTimeout
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12060
* chore: 🤖 add lodash as peerDependency for core
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12060
* refactor: 💡 update waitUntil with suggestion from PR
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12060
2024-01-16 10:17:46 -05:00
Zhihe Li
916b261cdf
refactor: 💡 Optimize the retrieval of targets for scopes filter ( #2047 )
2024-01-16 10:17:46 -05:00
Zhihe Li
15da4ea69f
fix: 🐛 Fix failing tests from rebase onto main ( #2045 )
2024-01-16 10:17:46 -05:00
Lisbet Alvarez
f801f595f7
Icu 11915 add session in progress field to the table and populate it ( #2028 )
...
* initial support for sessions in targets list view
2024-01-16 10:17:46 -05:00
Cameron Perera
7af8e71a2d
Icu 11802 filter targets by project scope ( #2022 )
...
* feat: 🎸 add ability to filter targets by scope
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802
* refactor: 💡 update model hook signature comment
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802
* refactor: 💡 remove await from cancel session route transition
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802
* refactor: 💡 add comments to new controller methods
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802
* refactor: 💡 add options to query for all targets
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802
* refactor: 💡 handle ESC key press for dropdown
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802
* feat: 🎸 add searching within scope dropdown list
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802
* refactor: 💡 set pushToStore to false for all target query
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802
* refactor: 💡 handle scopes not having names
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802
* refactor: 💡 move fetch allTargets to controller
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802
* refactor: 💡 fix rebase conflicts
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802
* test: 💍 fix test
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802
* refactor: 💡 update allTargets query to have empty query
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802
* refactor: 💡 change let to const
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802
* refactor: 💡 add replace: true to scopes query param
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802
* refactor: 💡 add allTargets fetch back to model hook
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802
* refactor: 💡 change on search to on input to trigger action
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802
* test: 💍 fix test by adding more target returns to stub
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802
* feat: 🎸 create filterable-dropdown rose component
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802
* feat: 🎸 finish Rose::FilterableDropdown component
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802
* feat: 🎸 use FilterableDropdown in targets table
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802
* refactor: 🤖 move methods comment
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802
* refactor: 💡 render Rose::FilterableDropdown correctly in test
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802
* test: 💍 remove generated comments from tests
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802
* refactor: 💡 improve readability of itemOptions getter
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802
* refactor: 💡 change block parameters to uppercase
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802
* test: 💍 skip generated tests until adding more
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802
2024-01-16 10:17:46 -05:00
Zhihe Li
15d815c271
feat: 🎸 Add pagination component to targets ( #2023 )
...
* feat: 🎸 Add pagination component to targets
* test: 💍 Fix tests and add helper for client daemon search
* refactor: 💡 Update the returns from client daemon
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11905
2024-01-16 10:17:45 -05:00
Zhihe Li
50e4a2adbc
feat: 🎸 Do not stop client daemon if it was already started ( #2021 )
...
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11932
2024-01-16 10:17:45 -05:00
Zhihe Li
7bc2ccb5ae
refactor: 💡 Use a native class for the client daemon handler ( #2026 )
2024-01-16 10:17:45 -05:00
Zhihe Li
3f11019ef0
feat: 🎸 Add pagination support to client daemon handler ( #2016 )
...
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11743
2024-01-16 10:17:45 -05:00
Zhihe Li
1135f88cb7
feat: 🎸 Add debouncing for the search bar ( #2008 )
...
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11851
2024-01-16 10:17:45 -05:00
221ab1f7bd
Icu 11748 add free search for targets ( #1995 )
...
* refactor: 💡 fix how we access socket_address from status call
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11748
* feat: 🎸 add free search capability to targets list
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11748
* test: 💍 update test asserts to look for hds appl state title
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11748
* refactor: 💡 remove filtering for yes, no, & narrow-results
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11748
* refactor: 💡 add aria-label to dropdown search input
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11748
* refactor: 💡 add to handleInput signature comment
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11748
* refactor: 💡 move buildQuery to client daemon handler
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11748
* refactor: 💡 Add new parser for MQL expressions
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11748
* refactor: 💡 use queryParams for searching
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11748
* fix: 🐛 Fix some MQL expressions not being properly filtered
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11748
* style: 💄 update handleSearchInput comment signature
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11748
* Update addons/api/addon/utils/mqlQuery.js
Co-authored-by: Lisbet Alvarez <107949262+lisbet-alvarez@users.noreply.github.com >
---------
Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com >
Co-authored-by: Lisbet Alvarez <107949262+lisbet-alvarez@users.noreply.github.com >
2024-01-16 10:17:45 -05:00
Zhihe Li
4bf1a88764
feat: 🎸 Add handler to make search requests to client daemon ( #1989 )
...
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11691
2024-01-16 10:17:45 -05:00
Zhihe Li
b8b970ce4d
feat: 🎸 Add initial setup for client daemon integration ( #1987 )
...
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11702
2024-01-16 10:17:45 -05:00
Lisbet Alvarez and Zhihe Li
550dee9ae0
Icu 11861 add sorting to session recording ( #2005 )
...
* refactor: 💡 add sorting to session recordings & sessions
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11861
* Update ui/admin/app/routes/scopes/scope/session-recordings.js
Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com >
---------
Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com >
2024-01-16 10:17:45 -05:00
Lisbet Alvarez
776c46f129
refactor: 💡 replace store.findAll with store.query ( #2002 )
...
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11825
2024-01-16 10:17:45 -05:00
Lisbet Alvarez
6ae3067dd9
refactor: 💡 remove unnecessary sorting due to pagination change ( #1996 )
...
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11787
2024-01-16 10:17:45 -05:00
Zhihe Li
7dbd581a37
feat: 🎸 Add setup for api handlers
2024-01-16 10:17:45 -05:00
Carlos Alcaide Corvo
b51c8203ee
chore: 🤖 Upgrade eslint-plugin-qunit ( #2011 )
...
* chore: 🤖 Upgrade eslint-plugin-qunit
* Delete unnecessary assert.expect from tests
2023-12-08 12:56:00 -08:00
Kristin Bradley and Dharini Jeeva
77f8235ebf
Replace Rose::CodeEditor with Hds::CodeBlock within Desktop client (HDS-2827) ( #2020 )
...
* HDS-2827 Replace Rose::CodeEditor with Hds::CodeBlock on Create New Worker page
* HDS-2827 Replace Rose::CodeEditor with Hds::CodeBlock in credentials panel
* HDS-2827 Remove un-needed getters, fix formatting errors
* HDS-2827 Revert instances of Hds::CodeBlock added to create workers page
* HDS-2827 Fix failing test
* Apply suggestions from code review
* HDS-2827 Delete old unused css
* HDS-2827 Delete old css
---------
Co-authored-by: Dharini Jeeva <dharini@hashicorp.com >
2023-12-08 12:03:47 -05:00
9782f7e243
feat: 🎸 Implement time-remaining helper into desktop UI ( #2018 )
...
* feat: 🎸 implement helper
Implement `time-remainig` helper to display duration of a session for
desktop app.
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-10487
* refactor: 💡 Refactored scenarios
Refactored `ipc.js` scenario to include `expiration_time` for a new
session.
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-10487
* fix: 🐛 Fix add expiration_time when user has no grants to read (#2024 )
* refactor: 💡 refactor styles
Removed `div` and added `Hds::Badge` to `h1` element. Condensed and
renamed styling for title to `session-details-info`
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-10487
* Refactored `projects/targets` controller to return the correct `expiration_time` field returned from CLI. Cleaned up CSS for `session-details-info` attribute and wrapped `@model.displayname` in span tag.
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-10487
* Update ui/desktop/app/controllers/scopes/scope/projects/targets/index.js
mixed naming expiration field on payload to store
Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com >
* refactor: 💡 refactored page header
Refactored `sessions` header to use `<Hds::Text::Dislpay/>` instead of a
span.
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-10487
* refactor: 💡 refactor cli response
Refactor `expiration` field from CLI response to be the correct
definition
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-10487
* refactor: 💡 refactor sessions layout
Removed span as parent of header information, and pushed styles to
yielded page.header. Fixed stub in test
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-10487
---------
Co-authored-by: Carlos Alcaide Corvo <ccorvo@hashicorp.com >
Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com >
2023-12-07 16:01:57 -05:00
Carlos Alcaide Corvo
66eca93f56
chore: 🤖 Upgrade electron-forge ( #2031 )
...
Upgrade electron-forge to the latest version
2023-12-05 14:11:02 -08:00
Carlos Alcaide Corvo
99cf4c8d81
chore: 🤖 Update DC main element padding ( #2009 )
...
Update Desktop Client main element padding to look like app-frame HDS implementation within cloud-ui.
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-10497
2023-12-04 14:06:45 -08:00
Carlos Alcaide Corvo
02a89bd7ba
Chore upgrade eslint and deps ( #2010 )
...
* chore: 🤖 Upgrade eslint
* chore: 🤖 Upgrade eslint-config-prettier
* chore: 🤖 Upgrade eslint-plugin-ember
* chore: 🤖 Upgrade eslint-plugin-n
2023-11-27 15:31:39 -08:00
Devon Anderson
019b3e7390
chore: 🤖 Update stylelint config dependency ( #2000 )
...
* chore: 🤖 Update dependency
Updated `styelint-config-standard-scss` to fix incorrect peer dependency
warning for `styelint`
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11818
* Update _notify.scss
remove test for media query
* refactor: 💡 refactor media queries
Refactor all media queries to include `context` notation.
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11818
2023-11-22 15:42:24 -05:00
Zhihe Li
bcf004b8a4
Reformat codebase with trailing commas in functions ( #2006 )
...
* style: 💄 Update trailing commas in API
* style: 💄 Update trailing commas in core
* style: 💄 Update trailing commas in rose
* style: 💄 Update trailing commas in admin
* style: 💄 Update trailing commas in desktop
2023-11-22 14:07:41 -05:00
Carlos Alcaide Corvo
cb3a9e3bdc
chore: 🤖 Add custom key handler for windows ( #2001 )
...
* chore: 🤖 Add custom key handler for windows
Add custom key handler only for Windows OS so we achieve Ctrl+C to copy
within the embedded terminal
* Await for clipboard promise to complete
2023-11-22 09:21:25 -08:00
Devon Anderson
a7bf9a1071
fix: 🐛 testing upgrading ember-electron ( #1997 )
...
This is a test to see if upgrading ember-electron will fix issues with
`yarn start:desktop` build failures
2023-11-17 12:38:53 -05:00
Devon Anderson
3b3a00e1ee
Upgrade desktop UI to Ember 4.12.2 ( #1990 )
...
* Upgrade desktop UI to Ember 4.12.2
* refactor: 💡 refactor scripts
Refactor concurrently scripts, and removed duplicate entries in
`eslintrc.js`
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11747
* refactor: 💡 peer dependencies
Revert changes to `peerDependencies`.
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11747
* refactor: 💡 revert config back before upgrade
Revert `styelint-standard-config-scss` back to 6.0.0 so that it can be
put into seperate ticket.
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11747
* Update _notify.scss
fix misspelling
* refactor: 💡 revert dependency
Revert `stylelint-config-standard-scss` back to original version
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11747
2023-11-15 11:29:24 -05:00
Carlos Alcaide Corvo
222f0c35b8
Upgrade playwright within desktop as blocker to run node 18 within gh runners ( #1993 )
2023-11-10 17:10:26 -08:00
Zhihe Li
666491548d
fix: 🐛 Fix broken hot reloading for desktop client ( #1992 )
2023-11-10 14:23:32 -05:00
Lisbet Alvarez and Zhihe Li
f593e6a8b1
chore: 🤖 update cli version & changelog in desktop ( #1985 )
...
* chore: 🤖 update cli version in desktop
* docs: ✏️ update changelog
* Update ui/desktop/CHANGELOG.md
Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com >
---------
Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com >
2023-11-03 16:03:07 -07:00
Cameron Perera and Dharini Jeeva
f54d48c380
refactor: 💡 allow target connection even with no read ability ( #1984 )
...
* refactor: 💡 allow target connection even with no read ability
* Update ui/desktop/tests/acceptance/projects/targets/index-test.js
Co-authored-by: Dharini Jeeva <dharini@hashicorp.com >
* refactor: 💡 remove unneeded await from transitionTo
---------
Co-authored-by: Dharini Jeeva <dharini@hashicorp.com >
2023-11-03 16:01:51 -05:00
Zhihe Li
7317ca2ff5
fix: 🐛 Fix issue with brokered credentials that overflow ( #1982 )
...
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11368
2023-11-02 15:16:22 -04:00
Zhihe Li
1ddabf4980
feat: 🎸 Add checks for cancel permissions in desktop sessions ( #1980 )
...
* feat: 🎸 Add checks for cancel permissions in desktop sessions
* chore: 🤖 Move model hook from session to session.index
2023-11-02 13:42:51 -04:00
Cameron Perera
861562201b
refactor: 💡 remove unused target/sessions controller ( #1979 )
2023-11-01 13:54:36 -05:00
Dharini Jeeva
e2487b7e98
Fix electron clipboard action ( #1976 )
...
* fix: 🐛 allow clipboard write action
2023-11-01 10:06:03 -07:00
Cameron Perera
f879bbb1ec
Session permissions issue ( #1975 )
...
* refactor: 💡 session isCancelable to isAvailable
* refactor: 💡 check for target info for showing target details
* refactor: 💡 add fallback for session data from connect command
* refactor: 💡 remove extra divs
* refactor: 💡 remove await from peekRecord of a session
* test: 💍 add test for no read permission for sessions
* test: 💍 reset global qunit after test is done
2023-11-01 11:22:18 -05:00
Zhihe Li
933e272764
fix: 🐛 Add read:self permission for sessions in ability check ( #1974 )
2023-11-01 12:06:40 -04:00
Zhihe Li
4a3d8eee63
feat: 🎸 Allow auto connect to SSH targets on windows ( #1971 )
2023-10-30 18:16:40 -04:00
Carlos Alcaide Corvo and cameronperera
3f8e39d0e1
Host set permission issue ( #1968 )
...
* refactor: 💡 allow for graceful error handling when connecting
to a target where host-sets cannot be fetched
* refactor: 💡 update for loop to for...of loop
* Move fetching host from target to session domain
* Decouple getting target host-sets and getting hosts from the host-sets, now this code is extracted in 2 methods. Now if the user does not have permissions to fetch host or host-sets we do not show an error and we allow for quick-connect approach
* Fix a check within getHostsFromHostSets
* Change a for loop for Promise.all within getTargetHostSets
* Change a for loop for Promise.All within getHostsFromHostSets
* Delete unnecessary condition
* Delete unnecessary condition
* chore: 🤖 remove host sources from target mirage factory
by default it uses address when using 'withAssociations'
* test: 💍 update target address tests to use 'withOneHost'
* test: 💍 remove connect tests from scopes acceptance tests
* refactor: 💡 remove can initiate connect target ability
and associated code and tests
* refactor: 💡 update target model afterModel hook, and preconnect
* refactor: 💡 revert 'withAssociations' mirage change
* test: 💍 add tests for permissions issues for host-sets and host
* test: 💍 visiting session without permissions to read hosts
---------
Co-authored-by: cameronperera <cameron.perera@hashicorp.com >
2023-10-30 12:54:37 -05:00
hashicorp-copywrite[bot]
297db470bd
[COMPLIANCE] Add Copyright and License Headers ( #1953 )
...
Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
2023-10-16 13:29:31 -04:00
Zhihe Li
2e7399f293
fix: 🐛 Fix electron not inheriting path variable in production ( #1948 )
2023-10-10 20:16:34 -04:00
Cameron Perera
b3c976bf19
chore: 🤖 add post-connection workflow to desktop CHANGELOG ( #1923 )
...
* chore: 🤖 add post-connection workflow to desktop CHANGELOG
✅ Closes: ICU-11079
* chore: 🤖 remove electron upgrade entry
* chore: 🤖 update CLI version to 0.14.0
* chore: 🤖 update desktop release date
2023-10-10 15:31:26 -05:00
dependabot[bot]
9017f8b74f
chore(deps-dev): bump electron in /ui/desktop/electron-app ( #1940 )
...
Bumps [electron](https://github.com/electron/electron ) from 26.2.1 to 26.2.4.
- [Release notes](https://github.com/electron/electron/releases )
- [Changelog](https://github.com/electron/electron/blob/main/docs/breaking-changes.md )
- [Commits](https://github.com/electron/electron/compare/v26.2.1...v26.2.4 )
---
updated-dependencies:
- dependency-name: electron
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-05 15:05:22 -04:00
Zhihe Li
262df46fac
fix: 🐛 Fix edge case with showing host modal ( #1939 )
...
✅ Closes: ICU-11285
2023-10-04 18:57:17 -04:00
Lisbet Alvarez
bac3593b97
fix: 🐛 host modal renders whenever there is an error during connection ( #1936 )
...
* fix: 🐛 host modal renders whenever there is an error
✅ Closes: ICU-11231
* test: 💍 add test case to make sure fix is working properly
* fix: 🐛 toggle flag back to false and remove @tracked
* fix: 🐛 host modal should also close after host connection error
* refactor: 💡 change toggle to toggleModal
* test: 💍 rename toggle in test cases
2023-10-02 07:26:10 -05:00
Zhihe Li
4de41763b7
fix: 🐛 Fix polyfill not working correctly ( #1932 )
...
✅ Closes: ICU-11211
2023-09-27 17:45:53 -04:00
Lisbet Alvarez
db4a693951
fix: 🐛 add polyfill for randomUUID ( #1926 )
2023-09-26 14:21:20 -07:00
Zhihe Li
f6e7529b38
fix: 🐛 Stop sending ssh command when session initiated in CLI ( #1925 )
...
✅ Closes: ICU-11209
2023-09-26 16:36:13 -04:00
hashicorp-copywrite[bot]
2fd45c552f
[COMPLIANCE] Add Copyright and License Headers ( #1920 )
...
Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
2023-09-25 14:22:44 -04:00