Skip to content

Commit 48213bf

Browse files
authored
feat: Provide documentation to the script to upload agreements into an Integration Account (#266)
1 parent afb37ed commit 48213bf

1 file changed

Lines changed: 226 additions & 3 deletions

File tree

docs/preview/02-Features/powershell/azure-integration-account.md

Lines changed: 226 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ layout: default
88
This module provides the following capabilities:
99
- [Uploading schemas into an Azure Integration Account](#uploading-schemas-into-an-azure-integration-account)
1010
- [Uploading maps into an Azure Integration Account](#uploading-maps-into-an-azure-integration-account)
11+
- [Uploading assemblies into an Azure Integration Account#](#uploading-assemblies-into-an-azure-integration-account)
12+
- [Uploading certificates into an Azure Integration Account#](#uploading-certificates-into-an-azure-integration-account)
13+
- [Uploading partners into an Azure Integration Account#](#uploading-partners-into-an-azure-integration-account)
14+
- [Uploading agreements into an Azure Integration Account#](#uploading-agreements-into-an-azure-integration-account)
1115

1216
## Installation
1317

@@ -325,8 +329,12 @@ PS> Set-AzIntegrationAccountPartners -ResourceGroupName 'my-resource-group' -Nam
325329

326330
**Partner JSON Example**
327331
The partner definition is the JSON representation of your partner, this JSON definition can also be viewed in the Azure Portal using https://docs.microsoft.com/en-us/azure/logic-apps/logic-apps-enterprise-integration-partners#edit-a-partner and clicking on `Edit as JSON`.
328-
An example of this file:
329-
```
332+
333+
<details>
334+
335+
<summary>An example of this file</summary>
336+
337+
```json
330338
{
331339
"name": "MyPartner",
332340
"properties": {
@@ -347,4 +355,219 @@ An example of this file:
347355
}
348356
}
349357
}
350-
```
358+
```
359+
360+
</details>
361+
362+
363+
## Uploading agreements into an Azure Integration Account
364+
365+
Upload/update a single, or multiple agreements into an Azure Integration Account.
366+
367+
| Parameter | Mandatory | Description |
368+
| ---------------------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
369+
| `ResourceGroupName` | yes | The name of the Azure resource group where the Azure Integration Account is located. |
370+
| `Name` | yes | The name of the Azure Integration Account into which the agreements are to be uploaded/updated. |
371+
| `AgreementFilePath` | conditional | The full path of a agreement that should be uploaded/updated. (_Mandatory if `AgreementsFolder` has not been specified_). |
372+
| `AgreementsFolder` | conditional | The path to a directory containing all agreements that should be uploaded/updated. (_Mandatory if `AgreementFilePath` has not been specified_). |
373+
| `ArtifactsPrefix` | no | The prefix, if any, that should be added to the agreements before uploading/updating. |
374+
375+
**Example**
376+
377+
Uploading a *single agreement* into an Integration Account.
378+
```powershell
379+
PS> Set-AzIntegrationAccountAgreements -ResourceGroupName 'my-resource-group' -Name 'my-integration-account' -AgreementFilePath "C:\Agreements\MyAgreement.json"
380+
# Uploading agreement 'MyAgreement' into the Azure Integration Account 'my-integration-account'
381+
# Agreement 'MyAgreement' has been uploaded into the Azure Integration Account 'my-integration-account'
382+
```
383+
384+
Uploading a *single agreement* into an Integration Account and set add a prefix to the name of the agreement within the Integration Account.
385+
```powershell
386+
PS> Set-AzIntegrationAccountAgreements -ResourceGroupName 'my-resource-group' -Name 'my-integration-account' -AgreementFilePath "C:\Agreements\MyAgreement.json" -ArtifactsPrefix 'dev-'
387+
# Uploading agreement 'dev-MyAgreement' into the Azure Integration Account 'my-integration-account'
388+
# Agreement 'dev-MyAgreement' has been uploaded into the Azure Integration Account 'my-integration-account'
389+
```
390+
391+
Uploading *all agreements* located in a specific folder into an Integration Account.
392+
```powershell
393+
PS> Set-AzIntegrationAccountAgreements -ResourceGroupName 'my-resource-group' -Name 'my-integration-account' -AgreementsFolder "C:\Agreements"
394+
# Uploading agreement 'MyFirstAgreement' into the Azure Integration Account 'my-integration-account'
395+
# Agreement 'MyFirstAgreement' has been uploaded into the Azure Integration Account 'my-integration-account'
396+
# ----------
397+
# Uploading agreement 'MySecondAgreement' into the Azure Integration Account 'my-integration-account'
398+
# Agreement 'MySecondAgreement' has been uploaded into the Azure Integration Account 'my-integration-account'
399+
# ----------
400+
```
401+
402+
Uploading *all agreements* located in a specific folder into an Integration Account and set add a prefix to the name of the agreements.
403+
```powershell
404+
PS> Set-AzIntegrationAccountAgreements -ResourceGroupName 'my-resource-group' -Name 'my-integration-account' -AgreementsFolder "C:\Agreements" -ArtifactsPrefix 'dev-'
405+
# Uploading agreement 'dev-MyFirstAgreement' into the Azure Integration Account 'my-integration-account'
406+
# Agreement 'dev-MyFirstAgreement' has been uploaded into the Azure Integration Account 'my-integration-account'
407+
# ----------
408+
# Uploading agreement 'dev-MySecondAgreement' into the Azure Integration Account 'my-integration-account'
409+
# Agreement 'dev-MySecondAgreement' has been uploaded into the Azure Integration Account 'my-integration-account'
410+
# ----------
411+
```
412+
413+
**Agreement JSON Example**
414+
The agreement definition is the JSON representation of your agreement, this JSON definition can also be viewed in the Azure Portal using https://docs.microsoft.com/en-us/azure/logic-apps/logic-apps-enterprise-integration-agreements#edit-an-agreement and clicking on `Edit as JSON`.
415+
416+
<details>
417+
418+
<summary>An example of this file</summary>
419+
420+
```json
421+
{
422+
"name": "MyAgreement",
423+
"properties": {
424+
"hostPartner": "Partner1",
425+
"guestPartner": "Partner2",
426+
"hostIdentity": {
427+
"qualifier": "1",
428+
"value": "12345"
429+
},
430+
"guestIdentity": {
431+
"qualifier": "1",
432+
"value": "98765"
433+
},
434+
"agreementType": "AS2",
435+
"content": {
436+
"aS2": {
437+
"receiveAgreement": {
438+
"protocolSettings": {
439+
"messageConnectionSettings": {
440+
"ignoreCertificateNameMismatch": false,
441+
"supportHttpStatusCodeContinue": true,
442+
"keepHttpConnectionAlive": true,
443+
"unfoldHttpHeaders": true
444+
},
445+
"acknowledgementConnectionSettings": {
446+
"ignoreCertificateNameMismatch": false,
447+
"supportHttpStatusCodeContinue": false,
448+
"keepHttpConnectionAlive": false,
449+
"unfoldHttpHeaders": false
450+
},
451+
"mdnSettings": {
452+
"needMDN": false,
453+
"signMDN": false,
454+
"sendMDNAsynchronously": false,
455+
"dispositionNotificationTo": "http://localhost",
456+
"signOutboundMDNIfOptional": false,
457+
"sendInboundMDNToMessageBox": true,
458+
"micHashingAlgorithm": "SHA1"
459+
},
460+
"securitySettings": {
461+
"overrideGroupSigningCertificate": false,
462+
"enableNRRForInboundEncodedMessages": false,
463+
"enableNRRForInboundDecodedMessages": false,
464+
"enableNRRForOutboundMDN": false,
465+
"enableNRRForOutboundEncodedMessages": false,
466+
"enableNRRForOutboundDecodedMessages": false,
467+
"enableNRRForInboundMDN": false
468+
},
469+
"validationSettings": {
470+
"overrideMessageProperties": false,
471+
"encryptMessage": false,
472+
"signMessage": false,
473+
"compressMessage": false,
474+
"checkDuplicateMessage": false,
475+
"interchangeDuplicatesValidityDays": 5,
476+
"checkCertificateRevocationListOnSend": false,
477+
"checkCertificateRevocationListOnReceive": false,
478+
"encryptionAlgorithm": "DES3",
479+
"signingAlgorithm": "Default"
480+
},
481+
"envelopeSettings": {
482+
"messageContentType": "text/plain",
483+
"transmitFileNameInMimeHeader": false,
484+
"fileNameTemplate": "%FILE().ReceivedFileName%",
485+
"suspendMessageOnFileNameGenerationError": true,
486+
"autogenerateFileName": false
487+
},
488+
"errorSettings": {
489+
"suspendDuplicateMessage": false,
490+
"resendIfMDNNotReceived": false
491+
}
492+
},
493+
"senderBusinessIdentity": {
494+
"qualifier": "1",
495+
"value": "9876"
496+
},
497+
"receiverBusinessIdentity": {
498+
"qualifier": "1",
499+
"value": "1234"
500+
}
501+
},
502+
"sendAgreement": {
503+
"protocolSettings": {
504+
"messageConnectionSettings": {
505+
"ignoreCertificateNameMismatch": false,
506+
"supportHttpStatusCodeContinue": true,
507+
"keepHttpConnectionAlive": true,
508+
"unfoldHttpHeaders": true
509+
},
510+
"acknowledgementConnectionSettings": {
511+
"ignoreCertificateNameMismatch": false,
512+
"supportHttpStatusCodeContinue": false,
513+
"keepHttpConnectionAlive": false,
514+
"unfoldHttpHeaders": false
515+
},
516+
"mdnSettings": {
517+
"needMDN": false,
518+
"signMDN": false,
519+
"sendMDNAsynchronously": false,
520+
"dispositionNotificationTo": "http://localhost",
521+
"signOutboundMDNIfOptional": false,
522+
"sendInboundMDNToMessageBox": true,
523+
"micHashingAlgorithm": "SHA1"
524+
},
525+
"securitySettings": {
526+
"overrideGroupSigningCertificate": false,
527+
"enableNRRForInboundEncodedMessages": false,
528+
"enableNRRForInboundDecodedMessages": false,
529+
"enableNRRForOutboundMDN": false,
530+
"enableNRRForOutboundEncodedMessages": false,
531+
"enableNRRForOutboundDecodedMessages": false,
532+
"enableNRRForInboundMDN": false
533+
},
534+
"validationSettings": {
535+
"overrideMessageProperties": false,
536+
"encryptMessage": false,
537+
"signMessage": false,
538+
"compressMessage": false,
539+
"checkDuplicateMessage": false,
540+
"interchangeDuplicatesValidityDays": 5,
541+
"checkCertificateRevocationListOnSend": false,
542+
"checkCertificateRevocationListOnReceive": false,
543+
"encryptionAlgorithm": "DES3",
544+
"signingAlgorithm": "Default"
545+
},
546+
"envelopeSettings": {
547+
"messageContentType": "text/plain",
548+
"transmitFileNameInMimeHeader": false,
549+
"fileNameTemplate": "%FILE().ReceivedFileName%",
550+
"suspendMessageOnFileNameGenerationError": true,
551+
"autogenerateFileName": false
552+
},
553+
"errorSettings": {
554+
"suspendDuplicateMessage": false,
555+
"resendIfMDNNotReceived": false
556+
}
557+
},
558+
"senderBusinessIdentity": {
559+
"qualifier": "1",
560+
"value": "1234"
561+
},
562+
"receiverBusinessIdentity": {
563+
"qualifier": "1",
564+
"value": "9876"
565+
}
566+
}
567+
}
568+
}
569+
}
570+
}
571+
```
572+
573+
</details>

0 commit comments

Comments
 (0)