]> git.proxmox.com Git - ceph.git/blob - ceph/src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/rgw.module.ts
bump version to 18.2.2-pve1
[ceph.git] / ceph / src / pybind / mgr / dashboard / frontend / src / app / ceph / rgw / rgw.module.ts
1 import { CommonModule } from '@angular/common';
2 import { NgModule } from '@angular/core';
3 import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4 import { RouterModule, Routes } from '@angular/router';
5
6 import { NgbNavModule, NgbPopoverModule, NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap';
7 import { NgxPipeFunctionModule } from 'ngx-pipe-function';
8
9 import { ActionLabels, URLVerbs } from '~/app/shared/constants/app.constants';
10 import { CRUDTableComponent } from '~/app/shared/datatable/crud-table/crud-table.component';
11
12 import { SharedModule } from '~/app/shared/shared.module';
13 import { PerformanceCounterModule } from '../performance-counter/performance-counter.module';
14 import { RgwBucketDetailsComponent } from './rgw-bucket-details/rgw-bucket-details.component';
15 import { RgwBucketFormComponent } from './rgw-bucket-form/rgw-bucket-form.component';
16 import { RgwBucketListComponent } from './rgw-bucket-list/rgw-bucket-list.component';
17 import { RgwConfigModalComponent } from './rgw-config-modal/rgw-config-modal.component';
18 import { RgwDaemonDetailsComponent } from './rgw-daemon-details/rgw-daemon-details.component';
19 import { RgwDaemonListComponent } from './rgw-daemon-list/rgw-daemon-list.component';
20 import { RgwUserCapabilityModalComponent } from './rgw-user-capability-modal/rgw-user-capability-modal.component';
21 import { RgwUserDetailsComponent } from './rgw-user-details/rgw-user-details.component';
22 import { RgwUserFormComponent } from './rgw-user-form/rgw-user-form.component';
23 import { RgwUserListComponent } from './rgw-user-list/rgw-user-list.component';
24 import { RgwUserS3KeyModalComponent } from './rgw-user-s3-key-modal/rgw-user-s3-key-modal.component';
25 import { RgwUserSubuserModalComponent } from './rgw-user-subuser-modal/rgw-user-subuser-modal.component';
26 import { RgwUserSwiftKeyModalComponent } from './rgw-user-swift-key-modal/rgw-user-swift-key-modal.component';
27 import { RgwUserTabsComponent } from './rgw-user-tabs/rgw-user-tabs.component';
28 import { CrudFormComponent } from '~/app/shared/forms/crud-form/crud-form.component';
29 import { RgwMultisiteDetailsComponent } from './rgw-multisite-details/rgw-multisite-details.component';
30 import { TreeModule } from '@circlon/angular-tree-component';
31 import { DataTableModule } from '~/app/shared/datatable/datatable.module';
32 import { RgwMultisiteRealmFormComponent } from './rgw-multisite-realm-form/rgw-multisite-realm-form.component';
33 import { RgwMultisiteZonegroupFormComponent } from './rgw-multisite-zonegroup-form/rgw-multisite-zonegroup-form.component';
34 import { RgwMultisiteZoneFormComponent } from './rgw-multisite-zone-form/rgw-multisite-zone-form.component';
35 import { RgwMultisiteZoneDeletionFormComponent } from './models/rgw-multisite-zone-deletion-form/rgw-multisite-zone-deletion-form.component';
36 import { RgwMultisiteZonegroupDeletionFormComponent } from './models/rgw-multisite-zonegroup-deletion-form/rgw-multisite-zonegroup-deletion-form.component';
37 import { RgwSystemUserComponent } from './rgw-system-user/rgw-system-user.component';
38 import { RgwMultisiteMigrateComponent } from './rgw-multisite-migrate/rgw-multisite-migrate.component';
39 import { RgwMultisiteImportComponent } from './rgw-multisite-import/rgw-multisite-import.component';
40 import { RgwMultisiteExportComponent } from './rgw-multisite-export/rgw-multisite-export.component';
41 import { CreateRgwServiceEntitiesComponent } from './create-rgw-service-entities/create-rgw-service-entities.component';
42 import { RgwOverviewDashboardComponent } from './rgw-overview-dashboard/rgw-overview-dashboard.component';
43 import { DashboardV3Module } from '../dashboard-v3/dashboard-v3.module';
44 import { RgwSyncPrimaryZoneComponent } from './rgw-sync-primary-zone/rgw-sync-primary-zone.component';
45 import { RgwSyncMetadataInfoComponent } from './rgw-sync-metadata-info/rgw-sync-metadata-info.component';
46 import { RgwSyncDataInfoComponent } from './rgw-sync-data-info/rgw-sync-data-info.component';
47
48 @NgModule({
49 imports: [
50 CommonModule,
51 SharedModule,
52 FormsModule,
53 ReactiveFormsModule,
54 PerformanceCounterModule,
55 NgbNavModule,
56 RouterModule,
57 NgbTooltipModule,
58 NgbPopoverModule,
59 NgxPipeFunctionModule,
60 TreeModule,
61 DataTableModule,
62 DashboardV3Module
63 ],
64 exports: [
65 RgwDaemonListComponent,
66 RgwDaemonDetailsComponent,
67 RgwBucketFormComponent,
68 RgwBucketListComponent,
69 RgwBucketDetailsComponent,
70 RgwUserListComponent,
71 RgwUserDetailsComponent
72 ],
73 declarations: [
74 RgwDaemonListComponent,
75 RgwDaemonDetailsComponent,
76 RgwBucketFormComponent,
77 RgwBucketListComponent,
78 RgwBucketDetailsComponent,
79 RgwUserListComponent,
80 RgwUserDetailsComponent,
81 RgwBucketFormComponent,
82 RgwUserFormComponent,
83 RgwUserSwiftKeyModalComponent,
84 RgwUserS3KeyModalComponent,
85 RgwUserCapabilityModalComponent,
86 RgwUserSubuserModalComponent,
87 RgwConfigModalComponent,
88 RgwUserTabsComponent,
89 RgwMultisiteDetailsComponent,
90 RgwMultisiteRealmFormComponent,
91 RgwMultisiteZonegroupFormComponent,
92 RgwMultisiteZoneFormComponent,
93 RgwMultisiteZoneDeletionFormComponent,
94 RgwMultisiteZonegroupDeletionFormComponent,
95 RgwSystemUserComponent,
96 RgwMultisiteMigrateComponent,
97 RgwMultisiteImportComponent,
98 RgwMultisiteExportComponent,
99 CreateRgwServiceEntitiesComponent,
100 RgwOverviewDashboardComponent,
101 RgwSyncPrimaryZoneComponent,
102 RgwSyncMetadataInfoComponent,
103 RgwSyncDataInfoComponent
104 ]
105 })
106 export class RgwModule {}
107
108 const routes: Routes = [
109 {
110 path: '',
111 redirectTo: 'rbd',
112 pathMatch: 'full' // Required for a clean reload on daemon selection.
113 },
114 { path: 'daemon', component: RgwDaemonListComponent, data: { breadcrumbs: 'Gateways' } },
115 {
116 path: 'user',
117 data: { breadcrumbs: 'Users' },
118 children: [
119 { path: '', component: RgwUserListComponent },
120 {
121 path: URLVerbs.CREATE,
122 component: RgwUserFormComponent,
123 data: { breadcrumbs: ActionLabels.CREATE }
124 },
125 {
126 path: `${URLVerbs.EDIT}/:uid`,
127 component: RgwUserFormComponent,
128 data: { breadcrumbs: ActionLabels.EDIT }
129 }
130 ]
131 },
132 {
133 path: 'roles',
134 data: {
135 breadcrumbs: 'Roles',
136 resource: 'api.rgw.roles@1.0',
137 tabs: [
138 {
139 name: 'Users',
140 url: '/rgw/user'
141 },
142 {
143 name: 'Roles',
144 url: '/rgw/roles'
145 }
146 ]
147 },
148 children: [
149 {
150 path: '',
151 component: CRUDTableComponent
152 },
153 {
154 path: URLVerbs.CREATE,
155 component: CrudFormComponent,
156 data: {
157 breadcrumbs: ActionLabels.CREATE
158 }
159 }
160 ]
161 },
162 {
163 path: 'bucket',
164 data: { breadcrumbs: 'Buckets' },
165 children: [
166 { path: '', component: RgwBucketListComponent },
167 {
168 path: URLVerbs.CREATE,
169 component: RgwBucketFormComponent,
170 data: { breadcrumbs: ActionLabels.CREATE }
171 },
172 {
173 path: `${URLVerbs.EDIT}/:bid`,
174 component: RgwBucketFormComponent,
175 data: { breadcrumbs: ActionLabels.EDIT }
176 }
177 ]
178 },
179 {
180 path: 'overview',
181 data: { breadcrumbs: 'Overview' },
182 children: [{ path: '', component: RgwOverviewDashboardComponent }]
183 },
184 {
185 path: 'multisite',
186 children: [{ path: '', component: RgwMultisiteDetailsComponent }]
187 }
188 ];
189
190 @NgModule({
191 imports: [RgwModule, RouterModule.forChild(routes)]
192 })
193 export class RoutedRgwModule {}