/*! Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one or more contributor license agreements. * Licensed under the Elastic License 2.0; you may not use this file except in compliance with the Elastic License 2.0. */ (window.stackConnectors_bundle_jsonpfunction=window.stackConnectors_bundle_jsonpfunction||[]).push([[4,0],{39:function(e,t,n){"use strict";n.r(t),n.d(t,"API_URL_LABEL",(function(){return a})),n.d(t,"API_URL_INVALID",(function(){return o})),n.d(t,"AUTHENTICATION_LABEL",(function(){return c})),n.d(t,"USERNAME_LABEL",(function(){return i})),n.d(t,"USERNAME_REQUIRED",(function(){return r})),n.d(t,"PASSWORD_LABEL",(function(){return l})),n.d(t,"TITLE_REQUIRED",(function(){return u})),n.d(t,"INCIDENT",(function(){return d})),n.d(t,"SECURITY_INCIDENT",(function(){return p})),n.d(t,"SHORT_DESCRIPTION_LABEL",(function(){return f})),n.d(t,"DESCRIPTION_LABEL",(function(){return b})),n.d(t,"COMMENTS_LABEL",(function(){return E})),n.d(t,"CHOICES_API_ERROR",(function(){return m})),n.d(t,"CATEGORY_LABEL",(function(){return x})),n.d(t,"SUBCATEGORY_LABEL",(function(){return _})),n.d(t,"URGENCY_LABEL",(function(){return g})),n.d(t,"SEVERITY_LABEL",(function(){return I})),n.d(t,"IMPACT_LABEL",(function(){return v})),n.d(t,"PRIORITY_LABEL",(function(){return C})),n.d(t,"API_INFO_ERROR",(function(){return k})),n.d(t,"FETCH_ERROR",(function(){return T})),n.d(t,"INSTALLATION_CALLOUT_TITLE",(function(){return N})),n.d(t,"UPDATE_SUCCESS_TOAST_TITLE",(function(){return A})),n.d(t,"UPDATE_SUCCESS_TOAST_TEXT",(function(){return O})),n.d(t,"VISIT_SN_STORE",(function(){return S})),n.d(t,"SETUP_DEV_INSTANCE",(function(){return j})),n.d(t,"SN_INSTANCE_LABEL",(function(){return L})),n.d(t,"UNKNOWN",(function(){return R})),n.d(t,"CORRELATION_ID",(function(){return w})),n.d(t,"CORRELATION_DISPLAY",(function(){return y})),n.d(t,"EVENT",(function(){return M})),n.d(t,"SOURCE",(function(){return h})),n.d(t,"EVENT_CLASS",(function(){return P})),n.d(t,"RESOURCE",(function(){return F})),n.d(t,"NODE",(function(){return D})),n.d(t,"METRIC_NAME",(function(){return U})),n.d(t,"TYPE",(function(){return V})),n.d(t,"MESSAGE_KEY",(function(){return B})),n.d(t,"SEVERITY_REQUIRED",(function(){return K})),n.d(t,"SEVERITY_REQUIRED_LABEL",(function(){return W})),n.d(t,"CLIENTID_LABEL",(function(){return q})),n.d(t,"CLIENTSECRET_LABEL",(function(){return Y})),n.d(t,"KEY_ID_LABEL",(function(){return H})),n.d(t,"USER_IDENTIFIER_LABEL",(function(){return z})),n.d(t,"PRIVATE_KEY_LABEL",(function(){return G})),n.d(t,"PRIVATE_KEY_PASSWORD_LABEL",(function(){return Q})),n.d(t,"PRIVATE_KEY_PASSWORD_HELPER_TEXT",(function(){return $})),n.d(t,"CLIENTID_REQUIRED",(function(){return J})),n.d(t,"PRIVATE_KEY_REQUIRED",(function(){return X})),n.d(t,"KEYID_REQUIRED",(function(){return Z})),n.d(t,"USER_IDENTIFIER_REQUIRED",(function(){return ee})),n.d(t,"PASSWORD_REQUIRED",(function(){return te})),n.d(t,"CLIENTSECRET_REQUIRED",(function(){return ne})),n.d(t,"IS_OAUTH",(function(){return se}));var s=n(0);const a=s.i18n.translate("xpack.stackConnectors.components.serviceNow.apiUrlTextFieldLabel",{defaultMessage:"ServiceNow instance URL"}),o=s.i18n.translate("xpack.stackConnectors.components.serviceNow.invalidApiUrlTextField",{defaultMessage:"URL is invalid."}),c=s.i18n.translate("xpack.stackConnectors.components.serviceNow.authenticationLabel",{defaultMessage:"Authentication"}),i=s.i18n.translate("xpack.stackConnectors.components.serviceNow.usernameTextFieldLabel",{defaultMessage:"Username"}),r=s.i18n.translate("xpack.stackConnectors.components.serviceNow.requiredUsernameTextField",{defaultMessage:"Username is required."}),l=s.i18n.translate("xpack.stackConnectors.components.serviceNow.passwordTextFieldLabel",{defaultMessage:"Password"}),u=s.i18n.translate("xpack.stackConnectors.components.serviceNow.requiredShortDescTextField",{defaultMessage:"Short description is required."}),d=s.i18n.translate("xpack.stackConnectors.components.serviceNow.title",{defaultMessage:"Incident"}),p=s.i18n.translate("xpack.stackConnectors.components.serviceNowSIR.title",{defaultMessage:"Security Incident"}),f=s.i18n.translate("xpack.stackConnectors.components.serviceNow.titleFieldLabel",{defaultMessage:"Short description (required)"}),b=s.i18n.translate("xpack.stackConnectors.components.serviceNow.descriptionTextAreaFieldLabel",{defaultMessage:"Description"}),E=s.i18n.translate("xpack.stackConnectors.components.serviceNow.commentsTextAreaFieldLabel",{defaultMessage:"Additional comments"}),m=s.i18n.translate("xpack.stackConnectors.components.serviceNow.unableToGetChoicesMessage",{defaultMessage:"Unable to get choices"}),x=s.i18n.translate("xpack.stackConnectors.components.serviceNow.categoryTitle",{defaultMessage:"Category"}),_=s.i18n.translate("xpack.stackConnectors.components.serviceNow.subcategoryTitle",{defaultMessage:"Subcategory"}),g=s.i18n.translate("xpack.stackConnectors.components.serviceNow.urgencySelectFieldLabel",{defaultMessage:"Urgency"}),I=s.i18n.translate("xpack.stackConnectors.components.serviceNow.severitySelectFieldLabel",{defaultMessage:"Severity"}),v=s.i18n.translate("xpack.stackConnectors.components.serviceNow.impactSelectFieldLabel",{defaultMessage:"Impact"}),C=s.i18n.translate("xpack.stackConnectors.components.serviceNow.prioritySelectFieldLabel",{defaultMessage:"Priority"}),k=e=>s.i18n.translate("xpack.stackConnectors.components.serviceNow.apiInfoError",{values:{status:e},defaultMessage:"Received status: {status} when attempting to get application information"}),T=s.i18n.translate("xpack.stackConnectors.components.serviceNow.fetchErrorMsg",{defaultMessage:"Failed to fetch. Check the URL or the CORS configuration of your ServiceNow instance."}),N=s.i18n.translate("xpack.stackConnectors.components.serviceNow.installationCalloutTitle",{defaultMessage:"To use this connector, first install the Elastic app from the ServiceNow app store."}),A=e=>s.i18n.translate("xpack.stackConnectors.components.serviceNow.updateSuccessToastTitle",{defaultMessage:"{connectorName} connector updated",values:{connectorName:e}}),O=s.i18n.translate("xpack.stackConnectors.components.serviceNow.updateCalloutText",{defaultMessage:"Connector has been updated."}),S=s.i18n.translate("xpack.stackConnectors.components.serviceNow.visitSNStore",{defaultMessage:"Visit ServiceNow app store"}),j=s.i18n.translate("xpack.stackConnectors.components.serviceNow.setupDevInstance",{defaultMessage:"setup a developer instance"}),L=s.i18n.translate("xpack.stackConnectors.components.serviceNow.snInstanceLabel",{defaultMessage:"ServiceNow instance"}),R=s.i18n.translate("xpack.stackConnectors.components.serviceNow.unknown",{defaultMessage:"UNKNOWN"}),w=s.i18n.translate("xpack.stackConnectors.components.serviceNow.correlationID",{defaultMessage:"Correlation ID (optional)"}),y=s.i18n.translate("xpack.stackConnectors.components.serviceNow.correlationDisplay",{defaultMessage:"Correlation display (optional)"}),M=s.i18n.translate("xpack.stackConnectors.components.serviceNowITOM.event",{defaultMessage:"Event"}),h=s.i18n.translate("xpack.stackConnectors.components.serviceNow.sourceTextAreaFieldLabel",{defaultMessage:"Source"}),P=s.i18n.translate("xpack.stackConnectors.components.serviceNow.eventClassTextAreaFieldLabel",{defaultMessage:"Source instance"}),F=s.i18n.translate("xpack.stackConnectors.components.serviceNow.resourceTextAreaFieldLabel",{defaultMessage:"Resource"}),D=s.i18n.translate("xpack.stackConnectors.components.serviceNow.nodeTextAreaFieldLabel",{defaultMessage:"Node"}),U=s.i18n.translate("xpack.stackConnectors.components.serviceNow.metricNameTextAreaFieldLabel",{defaultMessage:"Metric name"}),V=s.i18n.translate("xpack.stackConnectors.components.serviceNow.typeTextAreaFieldLabel",{defaultMessage:"Type"}),B=s.i18n.translate("xpack.stackConnectors.components.serviceNow.messageKeyTextAreaFieldLabel",{defaultMessage:"Message key"}),K=s.i18n.translate("xpack.stackConnectors.components.serviceNow.requiredSeverityTextField",{defaultMessage:"Severity is required."}),W=s.i18n.translate("xpack.stackConnectors.components.serviceNow.severityRequiredSelectFieldLabel",{defaultMessage:"Severity (required)"}),q=s.i18n.translate("xpack.stackConnectors.components.serviceNow.clientIdTextFieldLabel",{defaultMessage:"Client ID"}),Y=s.i18n.translate("xpack.stackConnectors.components.serviceNow.clientSecretTextFieldLabel",{defaultMessage:"Client Secret"}),H=s.i18n.translate("xpack.stackConnectors.components.serviceNow.keyIdTextFieldLabel",{defaultMessage:"JWT Verifier Key ID"}),z=s.i18n.translate("xpack.stackConnectors.components.serviceNow.userEmailTextFieldLabel",{defaultMessage:"User Identifier"}),G=s.i18n.translate("xpack.stackConnectors.components.serviceNow.privateKeyTextFieldLabel",{defaultMessage:"Private Key"}),Q=s.i18n.translate("xpack.stackConnectors.components.serviceNow.privateKeyPassTextFieldLabel",{defaultMessage:"Private Key Password"}),$=s.i18n.translate("xpack.stackConnectors.components.serviceNow.privateKeyPassLabelHelpText",{defaultMessage:"This is only required if you have set a password on your private key"}),J=s.i18n.translate("xpack.stackConnectors.components.serviceNow.requiredClientIdTextField",{defaultMessage:"Client ID is required."}),X=s.i18n.translate("xpack.stackConnectors.components.serviceNow.requiredPrivateKeyTextField",{defaultMessage:"Private Key is required."}),Z=s.i18n.translate("xpack.stackConnectors.components.serviceNow.requiredKeyIdTextField",{defaultMessage:"JWT Verifier Key ID is required."}),ee=s.i18n.translate("xpack.stackConnectors.components.serviceNow.requiredUserIdentifierTextField",{defaultMessage:"User Identifier is required."}),te=s.i18n.translate("xpack.stackConnectors.components.serviceNow.requiredPasswordTextField",{defaultMessage:"Password is required."}),ne=s.i18n.translate("xpack.stackConnectors.components.serviceNow.requiredClientSecretTextField",{defaultMessage:"Client Secret is required."}),se=s.i18n.translate("xpack.stackConnectors.components.serviceNow.useOAuth",{defaultMessage:"Use OAuth authentication"})},40:function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));const s=({connector_id:e,service_message:t,...n})=>({...n,actionId:e,...t&&{serviceMessage:t}})},41:function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));const s={".servicenow":{importSetTable:"x_elas2_inc_int_elastic_incident",appScope:"x_elas2_inc_int",table:"incident",useImportAPI:!0,commentFieldKey:"work_notes",appId:"7148dbc91bf1f450ced060a7234bcb88"},".servicenow-sir":{importSetTable:"x_elas2_sir_int_elastic_si_incident",appScope:"x_elas2_sir_int",table:"sn_si_incident",useImportAPI:!0,commentFieldKey:"work_notes",appId:"2f0746801baeb01019ae54e4604bcb0f"},".servicenow-itom":{importSetTable:"x_elas2_inc_int_elastic_incident",appScope:"x_elas2_inc_int",table:"em_event",useImportAPI:!1,commentFieldKey:"work_notes"}}},46:function(e,t,n){"use strict";n.d(t,"b",(function(){return i})),n.d(t,"a",(function(){return l}));var s=n(16),a=n(41),o=n(39),c=n(40);async function i({http:e,signal:t,connectorId:n,fields:a}){const o=await e.post(`${s.BASE_ACTION_API_PATH}/connector/${encodeURIComponent(n)}/_execute`,{body:JSON.stringify({params:{subAction:"getChoices",subActionParams:{fields:a}}}),signal:t});return Object(c.a)(o)}const r=(e,t)=>`${e}/api/${t}/elastic_api/health`;async function l({http:e,signal:t,connector:n,actionTypeId:c}){var i;const{secrets:{username:l,password:u,clientSecret:d,privateKey:p,privateKeyPassword:f},config:{isOAuth:b,apiUrl:E,clientId:m,userIdentifierValue:x,jwtKeyId:_}}=n,g=E.endsWith("/")?E.slice(0,-1):E;let I="Basic "+btoa(l+":"+u);if(b){const t=await e.post(`${s.INTERNAL_BASE_ACTION_API_PATH}/connector/_oauth_access_token`,{body:JSON.stringify({type:"jwt",options:{tokenUrl:`${g}/oauth_token.do`,config:{clientId:m,userIdentifierValue:x,jwtKeyId:_},secrets:{clientSecret:d,privateKey:p,...f&&{privateKeyPassword:f}}}})}),{accessToken:n}=t;I=n}const v=a.a[c],C=await fetch(r(g,null!==(i=v.appScope)&&void 0!==i?i:""),{method:"GET",signal:t,headers:{Authorization:I}});if(!C.ok)throw new Error(Object(o.API_INFO_ERROR)(C.status));return{...(await C.json()).result}}},52:function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var s=n(1),a=n(46),o=n(39);const c=({http:e,actionConnector:t,toastNotifications:n,fields:c,onSuccess:i})=>{const[r,l]=Object(s.useState)(!1),[u,d]=Object(s.useState)([]),p=Object(s.useRef)(!1),f=Object(s.useRef)(new AbortController),b=Object(s.useCallback)((async()=>{if(t)try{p.current=!1,f.current.abort(),f.current=new AbortController,l(!0);const r=await Object(a.b)({http:e,signal:f.current.signal,connectorId:t.id,fields:c});if(!p.current){const e=Array.isArray(r.data)?r.data:[];var s;l(!1),d(e),r.status&&"error"===r.status?n.addDanger({title:o.CHOICES_API_ERROR,text:`${null!==(s=r.serviceMessage)&&void 0!==s?s:r.message}`}):i&&i(e)}}catch(e){p.current||(l(!1),n.addDanger({title:o.CHOICES_API_ERROR,text:e.message}))}else l(!1)}),[t,e,c,i,n]);return Object(s.useEffect)((()=>(b(),()=>{p.current=!0,f.current.abort(),l(!1)})),[]),{choices:u,isLoading:r}}},61:function(e,t,n){"use strict";n.d(t,"a",(function(){return u}));var s=n(1),a=n.n(s),o=n(25),c=n(0),i=n(29),r=n(9);const l=({onMigrate:e})=>{const t=null!=e?Object(r.jsx)(o.EuiLink,{onClick:e,"data-test-subj":"update-connector-btn"},d):Object(r.jsx)("span",null,d);return Object(r.jsx)(a.a.Fragment,null,Object(r.jsx)(o.EuiCallOut,{size:"m",iconType:"warning","data-test-subj":"snDeprecatedCallout",color:"warning",title:c.i18n.translate("xpack.stackConnectors.components.serviceNow.deprecatedCalloutTitle",{defaultMessage:"This connector type is deprecated"})},Object(r.jsx)(i.FormattedMessage,{defaultMessage:"{update} {create} ",id:"xpack.stackConnectors.components.serviceNow.appInstallationInfo",values:{update:t,create:Object(r.jsx)("span",null,c.i18n.translate("xpack.stackConnectors.components.serviceNow.deprecatedCalloutCreate",{defaultMessage:"or create a new one."}))}})),Object(r.jsx)(o.EuiSpacer,{size:"m"}))},u=Object(s.memo)(l),d=c.i18n.translate("xpack.stackConnectors.components.serviceNow.deprecatedCalloutMigrate",{defaultMessage:"Update this connector,"})},95:function(e,t,n){"use strict";n.r(t),n.d(t,"default",(function(){return E}));var s=n(1),a=n.n(s),o=n(25),c=n(29),i=n(2),r=n(39),l=n(52),u=n(4),d=n(61),p=n(9);const f=["category","subcategory","priority"],b={category:[],subcategory:[],priority:[]},E=({actionConnector:e,actionParams:t,editAction:n,index:E,errors:m,messageVariables:x})=>{var _,g,I,v,C,k,T;const{docLinks:N,http:A,notifications:{toasts:O}}=Object(i.useKibana)().services,S=null==e?void 0:e.isDeprecated,j=Object(s.useRef)(null!==(_=null==e?void 0:e.id)&&void 0!==_?_:""),{incident:L,comments:R}=Object(s.useMemo)((()=>{var e;return null!==(e=t.subActionParams)&&void 0!==e?e:{incident:{},comments:[]}}),[t.subActionParams]),[w,y]=Object(s.useState)(b),M=Object(s.useCallback)(((e,t)=>{const s="comments"!==e?{incident:{...L,[e]:t},comments:R}:{incident:L,[e]:t};n("subActionParams",s,E)}),[R,n,L,E]),h=Object(s.useCallback)(((e,t)=>{M(e,[{commentId:"1",comment:t}])}),[M]),P=Object(s.useCallback)((e=>{y(e.reduce(((e,t)=>({...e,[t.element]:[...null!=e[t.element]?e[t.element]:[],t]})),b))}),[]),{isLoading:F}=Object(l.a)({http:A,toastNotifications:O,actionConnector:e,fields:f,onSuccess:P}),D=Object(s.useMemo)((()=>Object(u.b)(w.category)),[w.category]),U=Object(s.useMemo)((()=>Object(u.b)(w.priority)),[w.priority]),V=Object(s.useMemo)((()=>Object(u.b)(w.subcategory.filter((e=>e.dependent_value===L.category)))),[w.subcategory,L.category]);return Object(s.useEffect)((()=>{null!=e&&j.current!==e.id&&(j.current=e.id,n("subActionParams",{incident:{correlation_id:u.a},comments:[]},E))}),[e]),Object(s.useEffect)((()=>{t.subAction||n("subAction","pushToService",E),t.subActionParams||n("subActionParams",{incident:{correlation_id:u.a},comments:[]},E)}),[t]),Object(p.jsx)(a.a.Fragment,null,S&&Object(p.jsx)(d.a,null),Object(p.jsx)(o.EuiTitle,{size:"s"},Object(p.jsx)("h3",null,r.SECURITY_INCIDENT)),Object(p.jsx)(o.EuiSpacer,{size:"m"}),Object(p.jsx)(o.EuiFormRow,{fullWidth:!0,error:m["subActionParams.incident.short_description"],isInvalid:void 0!==m["subActionParams.incident.short_description"]&&m["subActionParams.incident.short_description"].length>0&&void 0!==L.short_description,label:r.SHORT_DESCRIPTION_LABEL},Object(p.jsx)(i.TextFieldWithMessageVariables,{index:E,editAction:M,messageVariables:x,paramsProperty:"short_description",inputTargetValue:null==L?void 0:L.short_description,errors:m["subActionParams.incident.short_description"]})),Object(p.jsx)(o.EuiSpacer,{size:"m"}),Object(p.jsx)(o.EuiFormRow,{fullWidth:!0,label:r.PRIORITY_LABEL},Object(p.jsx)(o.EuiSelect,{fullWidth:!0,"data-test-subj":"prioritySelect",hasNoInitialSelection:!0,isLoading:F,disabled:F,options:U,value:null!==(g=L.priority)&&void 0!==g?g:void 0,onChange:e=>M("priority",e.target.value)})),Object(p.jsx)(o.EuiSpacer,{size:"m"}),Object(p.jsx)(o.EuiFlexGroup,null,Object(p.jsx)(o.EuiFlexItem,null,Object(p.jsx)(o.EuiFormRow,{fullWidth:!0,label:r.CATEGORY_LABEL},Object(p.jsx)(o.EuiSelect,{fullWidth:!0,"data-test-subj":"categorySelect",hasNoInitialSelection:!0,isLoading:F,disabled:F,options:D,value:null!==(I=L.category)&&void 0!==I?I:void 0,onChange:e=>{n("subActionParams",{incident:{...L,category:e.target.value,subcategory:null},comments:R},E)}}))),Object(p.jsx)(o.EuiFlexItem,null,(null==V?void 0:V.length)>0?Object(p.jsx)(o.EuiFormRow,{fullWidth:!0,label:r.SUBCATEGORY_LABEL},Object(p.jsx)(o.EuiSelect,{fullWidth:!0,"data-test-subj":"subcategorySelect",hasNoInitialSelection:!0,isLoading:F,disabled:F,options:V,value:null!==(v=L.subcategory)&&void 0!==v?v:"",onChange:e=>M("subcategory",e.target.value)})):null)),Object(p.jsx)(o.EuiSpacer,{size:"m"}),!S&&Object(p.jsx)(a.a.Fragment,null,Object(p.jsx)(o.EuiFlexGroup,null,Object(p.jsx)(o.EuiFlexItem,null,Object(p.jsx)(o.EuiFormRow,{fullWidth:!0,label:r.CORRELATION_ID,helpText:Object(p.jsx)(o.EuiLink,{href:N.links.alerting.serviceNowSIRAction,target:"_blank"},Object(p.jsx)(c.FormattedMessage,{id:"xpack.stackConnectors.components.serviceNowSIR.correlationIDHelpLabel",defaultMessage:"Identifier for updating incidents"}))},Object(p.jsx)(i.TextFieldWithMessageVariables,{index:E,editAction:M,messageVariables:x,paramsProperty:"correlation_id",inputTargetValue:null!==(C=null==L?void 0:L.correlation_id)&&void 0!==C?C:void 0}))),Object(p.jsx)(o.EuiFlexItem,null,Object(p.jsx)(o.EuiFormRow,{fullWidth:!0,label:r.CORRELATION_DISPLAY},Object(p.jsx)(i.TextFieldWithMessageVariables,{index:E,editAction:M,messageVariables:x,paramsProperty:"correlation_display",inputTargetValue:null!==(k=null==L?void 0:L.correlation_display)&&void 0!==k?k:void 0})))),Object(p.jsx)(o.EuiSpacer,{size:"m"})),Object(p.jsx)(i.TextAreaWithMessageVariables,{index:E,editAction:M,messageVariables:x,paramsProperty:"description",inputTargetValue:null!==(T=L.description)&&void 0!==T?T:void 0,label:r.DESCRIPTION_LABEL}),Object(p.jsx)(i.TextAreaWithMessageVariables,{index:E,editAction:h,messageVariables:x,paramsProperty:"comments",inputTargetValue:R&&R.length>0?R[0].comment:void 0,label:r.COMMENTS_LABEL}),Object(p.jsx)(o.EuiSpacer,{size:"m"}))}}}]);