[frontend] Add group AWS S3 streaming destination form
Problem Statement
Create a separate streaming destination form for AWS S3 integration. This form should allow user to input the required AWS S3 configuration data ([Backend] Set audit event destination settings ... (#333371 - closed)).
Proposed Solution
Add a new form for AWS S3 integration. This form should use GraphQL APIs being implemented in Streaming group level audit events to AWS S3 (&11324 - closed).
Design
The design is based on the updated design of Update streaming audit event UI styles
Please see the description area for the overview and Figma for the specs
-
Add streaming destination
to a dropdown, separate HTTP destination creation and 3rd party creation - Add all the filled
- Show error messages
Implementation plan
- This is only at top-group level at the moment so will need to add
v-if="!isInstance"
on all components - Update
ee/app/assets/javascripts/audit_events/components/audit_events_stream.vue
to pull in a list of AWS S3 destinations using the API and store in a new destinations variable calledAWSS3AuditEventDestinations
- Duplicate the
stream-item
component displaying the destinations - Add AWS S3 as option to dropdown items in
ee/app/assets/javascripts/audit_events/components/audit_events_stream.vue
- Duplicate
ee/app/assets/javascripts/audit_events/components/stream/stream_destination_editor.vue
into a new component calledstream_aws_s3_destination_editor.vue
- In new component update the form to use the new fields and use the new GraphQL APIs to update, create and delete
- Import new component into
ee/app/assets/javascripts/audit_events/components/stream/stream_item.vue
andee/app/assets/javascripts/audit_events/components/audit_events_stream.vue
- Create a new computed prop in both to get the destination type and switch between the
stream_destination_editor.vue
and newstream_aws_s3_destination_editor.vue
- Update delete mutation to use new API in
stream_item.vue
- Update tests
- Update documentation
Edited by Nate Rosandich