"use strict";(self.webpackChunkweb_app=self.webpackChunkweb_app||[]).push([[2689],{62689:(e,t,n)=>{n.r(t),n.d(t,{default:()=>_});var i=n(65043),l=n(22166),s=n(73216),r=n(89923),c=n(20649),a=n(77938),o=n(99161),d=n(64159),u=n(39947),p=n(21383),h=n(6681),b=n(72237),x=n(70579);const m=(0,b.A)(i.lazy((()=>n.e(9714).then(n.bind(n,79714))))),A=(0,b.A)(i.lazy((()=>n.e(459).then(n.bind(n,10459))))),R=(0,b.A)(i.lazy((()=>n.e(8152).then(n.bind(n,28152))))),_=()=>{const e=(0,p.jL)(),t=(0,s.g)(),n=(0,l.d4)(u.Nx),[b,_]=(0,i.useState)(!0),[j,O]=(0,i.useState)([]),[I,S]=(0,i.useState)(!1),[T,k]=(0,i.useState)(!1),[g,N]=(0,i.useState)(!1),[C,f]=(0,i.useState)(""),[y,P]=(0,i.useState)([]),[E,v]=(0,i.useState)(!1),F=t.bucketName||"",V=(0,a._)(F,[o.OV.S3_GET_REPLICATION_CONFIGURATION,o.OV.S3_GET_ACTIONS]);(0,i.useEffect)((()=>{e((0,d.ph)("bucket_detail_replication"))}),[]),(0,i.useEffect)((()=>{n&&_(!0)}),[n,_]),(0,i.useEffect)((()=>{b&&(V?c.A.invoke("GET",`/api/v1/buckets/${F}/replication`).then((e=>{const t=e.rules?e.rules:[];t.sort(((e,t)=>e.priority-t.priority)),O(t),_(!1)})).catch((t=>{e((0,d.C9)(t)),_(!1)})):_(!1))}),[b,e,F,V]);const w=function(){k(arguments.length>0&&void 0!==arguments[0]&&arguments[0])},U=(0,s.Zp)(),G=[{type:"delete",onClick:e=>{f(e.id),v(!1),S(!0)}},{type:"view",onClick:e=>{f(e.id),U(`/buckets/edit-replication?bucketName=${F}&ruleID=${e.id}`)},disableButtonFunction:!(0,a._)(F,[o.OV.S3_PUT_REPLICATION_CONFIGURATION,o.OV.S3_PUT_ACTIONS],!0)}];return(0,x.jsxs)(i.Fragment,{children:[T&&(0,x.jsx)(A,{closeModalAndRefresh:()=>{w(!1),_(!0)},open:T,bucketName:F,setReplicationRules:j}),I&&(0,x.jsx)(R,{deleteOpen:I,selectedBucket:F,closeDeleteModalAndRefresh:e=>{S(!1),e&&_(!0)},ruleToDelete:C,rulesToDelete:y,remainingRules:j.length,allSelected:j.length>0&&y.length===j.length,deleteSelectedRules:E}),g&&(0,x.jsx)(m,{closeModalAndRefresh:e=>{N(!1),e&&_(!0)},open:g,bucketName:F,ruleID:C}),(0,x.jsx)(r._xt,{separator:!0,sx:{marginBottom:15},actions:(0,x.jsxs)(r.azJ,{style:{display:"flex",gap:10},children:[(0,x.jsx)(a.R,{scopes:[o.OV.S3_PUT_REPLICATION_CONFIGURATION,o.OV.S3_PUT_ACTIONS],resource:F,matchAll:!0,errorProps:{disabled:!0},children:(0,x.jsx)(h.A,{tooltip:"Remove Selected Replication Rules",children:(0,x.jsx)(r.$nd,{id:"remove-bucket-replication-rule",onClick:()=>{f("selectedRules"),v(!0),S(!0)},label:"Remove Selected Rules",icon:(0,x.jsx)(r.ucK,{}),color:"secondary",disabled:0===y.length||0===j.length,variant:"secondary"})})}),(0,x.jsx)(a.R,{scopes:[o.OV.S3_PUT_REPLICATION_CONFIGURATION,o.OV.S3_PUT_ACTIONS],resource:F,matchAll:!0,errorProps:{disabled:!0},children:(0,x.jsx)(h.A,{tooltip:"Add Replication Rule",children:(0,x.jsx)(r.$nd,{id:"add-bucket-replication-rule",onClick:()=>{U(o.zZ.BUCKETS_ADD_REPLICATION+`?bucketName=${F}&nextPriority=${j.length+1}`)},label:"Add Replication Rule",icon:(0,x.jsx)(r.REV,{}),variant:"callAction"})})})]}),children:(0,x.jsx)(r.V7x,{content:(0,x.jsxs)(i.Fragment,{children:["MinIO"," ",(0,x.jsx)("a",{target:"blank",href:"https://min.io/docs/minio/kubernetes/upstream/administration/bucket-replication.html",children:"server-side bucket replication"})," ","is an automatic bucket-level configuration that synchronizes objects between a source and destination bucket."]}),placement:"right",children:"Replication"})}),(0,x.jsxs)(r.xA9,{container:!0,children:[(0,x.jsx)(r.xA9,{item:!0,xs:12,children:(0,x.jsx)(a.R,{scopes:[o.OV.S3_GET_REPLICATION_CONFIGURATION,o.OV.S3_GET_ACTIONS],resource:F,errorProps:{disabled:!0},children:(0,x.jsx)(r.bQt,{itemActions:G,columns:[{label:"Priority",elementKey:"priority",width:55,contentTextAlign:"center"},{label:"Destination",elementKey:"destination",renderFunction:e=>(0,x.jsx)(i.Fragment,{children:e.bucket.replace("arn:aws:s3:::","")})},{label:"Prefix",elementKey:"prefix",width:200},{label:"Tags",elementKey:"tags",renderFunction:e=>(0,x.jsx)(i.Fragment,{children:e&&""!==e.tags?"Yes":"No"}),width:60},{label:"Status",elementKey:"status",width:100}],isLoading:b,records:j,entityName:"Replication Rules",idField:"id",customPaperHeight:"400px",textSelectable:!0,selectedItems:y,onSelect:e=>(e=>{const t=e.target,n=t.value,i=t.checked;let l=[...y];return i?l.push(n):l=l.filter((e=>e!==n)),P(l),l})(e),onSelectAll:()=>{y.length!==j.length?P(j.map((e=>e.id))):P([])}})})}),(0,x.jsxs)(r.xA9,{item:!0,xs:12,children:[(0,x.jsx)("br",{}),(0,x.jsx)(r.lVp,{title:"Replication",iconComponent:(0,x.jsx)(r.brV,{}),help:(0,x.jsxs)(i.Fragment,{children:["MinIO supports server-side and client-side replication of objects between source and destination buckets.",(0,x.jsx)("br",{}),(0,x.jsx)("br",{}),"You can learn more at our"," ",(0,x.jsx)("a",{href:"https://min.io/docs/minio/linux/administration/bucket-replication.html?ref=con",target:"_blank",rel:"noopener",children:"documentation"}),"."]})})]})]})]})}}}]);
//# sourceMappingURL=2689.2888d029.chunk.js.map