Integration Account Agreement Args
data class IntegrationAccountAgreementArgs(val agreementName: Output<String>? = null, val agreementType: Output<AgreementType>? = null, val content: Output<AgreementContentArgs>? = null, val guestIdentity: Output<BusinessIdentityArgs>? = null, val guestPartner: Output<String>? = null, val hostIdentity: Output<BusinessIdentityArgs>? = null, val hostPartner: Output<String>? = null, val integrationAccountName: Output<String>? = null, val location: Output<String>? = null, val metadata: Output<Any>? = null, val resourceGroupName: Output<String>? = null, val tags: Output<Map<String, String>>? = null) : ConvertibleToJava<IntegrationAccountAgreementArgs>
The integration account agreement. Azure REST API version: 2019-05-01. Prior API version in Azure Native 1.x: 2019-05-01. Other available API versions: 2015-08-01-preview.
Example Usage
Create or update an agreement
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var integrationAccountAgreement = new AzureNative.Logic.IntegrationAccountAgreement("integrationAccountAgreement", new()
{
AgreementName = "testAgreement",
AgreementType = AzureNative.Logic.AgreementType.AS2,
Content = new AzureNative.Logic.Inputs.AgreementContentArgs
{
AS2 = new AzureNative.Logic.Inputs.AS2AgreementContentArgs
{
ReceiveAgreement = new AzureNative.Logic.Inputs.AS2OneWayAgreementArgs
{
ProtocolSettings = new AzureNative.Logic.Inputs.AS2ProtocolSettingsArgs
{
AcknowledgementConnectionSettings = new AzureNative.Logic.Inputs.AS2AcknowledgementConnectionSettingsArgs
{
IgnoreCertificateNameMismatch = true,
KeepHttpConnectionAlive = true,
SupportHttpStatusCodeContinue = true,
UnfoldHttpHeaders = true,
},
EnvelopeSettings = new AzureNative.Logic.Inputs.AS2EnvelopeSettingsArgs
{
AutogenerateFileName = true,
FileNameTemplate = "Test",
MessageContentType = "text/plain",
SuspendMessageOnFileNameGenerationError = true,
TransmitFileNameInMimeHeader = true,
},
ErrorSettings = new AzureNative.Logic.Inputs.AS2ErrorSettingsArgs
{
ResendIfMDNNotReceived = true,
SuspendDuplicateMessage = true,
},
MdnSettings = new AzureNative.Logic.Inputs.AS2MdnSettingsArgs
{
DispositionNotificationTo = "http://tempuri.org",
MdnText = "Sample",
MicHashingAlgorithm = "SHA1",
NeedMDN = true,
ReceiptDeliveryUrl = "http://tempuri.org",
SendInboundMDNToMessageBox = true,
SendMDNAsynchronously = true,
SignMDN = true,
SignOutboundMDNIfOptional = true,
},
MessageConnectionSettings = new AzureNative.Logic.Inputs.AS2MessageConnectionSettingsArgs
{
IgnoreCertificateNameMismatch = true,
KeepHttpConnectionAlive = true,
SupportHttpStatusCodeContinue = true,
UnfoldHttpHeaders = true,
},
SecuritySettings = new AzureNative.Logic.Inputs.AS2SecuritySettingsArgs
{
EnableNRRForInboundDecodedMessages = true,
EnableNRRForInboundEncodedMessages = true,
EnableNRRForInboundMDN = true,
EnableNRRForOutboundDecodedMessages = true,
EnableNRRForOutboundEncodedMessages = true,
EnableNRRForOutboundMDN = true,
OverrideGroupSigningCertificate = false,
},
ValidationSettings = new AzureNative.Logic.Inputs.AS2ValidationSettingsArgs
{
CheckCertificateRevocationListOnReceive = true,
CheckCertificateRevocationListOnSend = true,
CheckDuplicateMessage = true,
CompressMessage = true,
EncryptMessage = false,
EncryptionAlgorithm = "AES128",
InterchangeDuplicatesValidityDays = 100,
OverrideMessageProperties = true,
SignMessage = false,
},
},
ReceiverBusinessIdentity = new AzureNative.Logic.Inputs.BusinessIdentityArgs
{
Qualifier = "ZZ",
Value = "ZZ",
},
SenderBusinessIdentity = new AzureNative.Logic.Inputs.BusinessIdentityArgs
{
Qualifier = "AA",
Value = "AA",
},
},
SendAgreement = new AzureNative.Logic.Inputs.AS2OneWayAgreementArgs
{
ProtocolSettings = new AzureNative.Logic.Inputs.AS2ProtocolSettingsArgs
{
AcknowledgementConnectionSettings = new AzureNative.Logic.Inputs.AS2AcknowledgementConnectionSettingsArgs
{
IgnoreCertificateNameMismatch = true,
KeepHttpConnectionAlive = true,
SupportHttpStatusCodeContinue = true,
UnfoldHttpHeaders = true,
},
EnvelopeSettings = new AzureNative.Logic.Inputs.AS2EnvelopeSettingsArgs
{
AutogenerateFileName = true,
FileNameTemplate = "Test",
MessageContentType = "text/plain",
SuspendMessageOnFileNameGenerationError = true,
TransmitFileNameInMimeHeader = true,
},
ErrorSettings = new AzureNative.Logic.Inputs.AS2ErrorSettingsArgs
{
ResendIfMDNNotReceived = true,
SuspendDuplicateMessage = true,
},
MdnSettings = new AzureNative.Logic.Inputs.AS2MdnSettingsArgs
{
DispositionNotificationTo = "http://tempuri.org",
MdnText = "Sample",
MicHashingAlgorithm = "SHA1",
NeedMDN = true,
ReceiptDeliveryUrl = "http://tempuri.org",
SendInboundMDNToMessageBox = true,
SendMDNAsynchronously = true,
SignMDN = true,
SignOutboundMDNIfOptional = true,
},
MessageConnectionSettings = new AzureNative.Logic.Inputs.AS2MessageConnectionSettingsArgs
{
IgnoreCertificateNameMismatch = true,
KeepHttpConnectionAlive = true,
SupportHttpStatusCodeContinue = true,
UnfoldHttpHeaders = true,
},
SecuritySettings = new AzureNative.Logic.Inputs.AS2SecuritySettingsArgs
{
EnableNRRForInboundDecodedMessages = true,
EnableNRRForInboundEncodedMessages = true,
EnableNRRForInboundMDN = true,
EnableNRRForOutboundDecodedMessages = true,
EnableNRRForOutboundEncodedMessages = true,
EnableNRRForOutboundMDN = true,
OverrideGroupSigningCertificate = false,
},
ValidationSettings = new AzureNative.Logic.Inputs.AS2ValidationSettingsArgs
{
CheckCertificateRevocationListOnReceive = true,
CheckCertificateRevocationListOnSend = true,
CheckDuplicateMessage = true,
CompressMessage = true,
EncryptMessage = false,
EncryptionAlgorithm = "AES128",
InterchangeDuplicatesValidityDays = 100,
OverrideMessageProperties = true,
SignMessage = false,
},
},
ReceiverBusinessIdentity = new AzureNative.Logic.Inputs.BusinessIdentityArgs
{
Qualifier = "AA",
Value = "AA",
},
SenderBusinessIdentity = new AzureNative.Logic.Inputs.BusinessIdentityArgs
{
Qualifier = "ZZ",
Value = "ZZ",
},
},
},
},
GuestIdentity = new AzureNative.Logic.Inputs.BusinessIdentityArgs
{
Qualifier = "AA",
Value = "AA",
},
GuestPartner = "GuestPartner",
HostIdentity = new AzureNative.Logic.Inputs.BusinessIdentityArgs
{
Qualifier = "ZZ",
Value = "ZZ",
},
HostPartner = "HostPartner",
IntegrationAccountName = "testIntegrationAccount",
Location = "westus",
Metadata = null,
ResourceGroupName = "testResourceGroup",
Tags =
{
{ "IntegrationAccountAgreement", "<IntegrationAccountAgreementName>" },
},
});
});
Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-azure-native-sdk/logic/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := logic.NewIntegrationAccountAgreement(ctx, "integrationAccountAgreement", &logic.IntegrationAccountAgreementArgs{
AgreementName: pulumi.String("testAgreement"),
AgreementType: logic.AgreementTypeAS2,
Content: logic.AgreementContentResponse{
AS2: interface{}{
ReceiveAgreement: interface{}{
ProtocolSettings: interface{}{
AcknowledgementConnectionSettings: &logic.AS2AcknowledgementConnectionSettingsArgs{
IgnoreCertificateNameMismatch: pulumi.Bool(true),
KeepHttpConnectionAlive: pulumi.Bool(true),
SupportHttpStatusCodeContinue: pulumi.Bool(true),
UnfoldHttpHeaders: pulumi.Bool(true),
},
EnvelopeSettings: &logic.AS2EnvelopeSettingsArgs{
AutogenerateFileName: pulumi.Bool(true),
FileNameTemplate: pulumi.String("Test"),
MessageContentType: pulumi.String("text/plain"),
SuspendMessageOnFileNameGenerationError: pulumi.Bool(true),
TransmitFileNameInMimeHeader: pulumi.Bool(true),
},
ErrorSettings: &logic.AS2ErrorSettingsArgs{
ResendIfMDNNotReceived: pulumi.Bool(true),
SuspendDuplicateMessage: pulumi.Bool(true),
},
MdnSettings: &logic.AS2MdnSettingsArgs{
DispositionNotificationTo: pulumi.String("http://tempuri.org"),
MdnText: pulumi.String("Sample"),
MicHashingAlgorithm: pulumi.String("SHA1"),
NeedMDN: pulumi.Bool(true),
ReceiptDeliveryUrl: pulumi.String("http://tempuri.org"),
SendInboundMDNToMessageBox: pulumi.Bool(true),
SendMDNAsynchronously: pulumi.Bool(true),
SignMDN: pulumi.Bool(true),
SignOutboundMDNIfOptional: pulumi.Bool(true),
},
MessageConnectionSettings: &logic.AS2MessageConnectionSettingsArgs{
IgnoreCertificateNameMismatch: pulumi.Bool(true),
KeepHttpConnectionAlive: pulumi.Bool(true),
SupportHttpStatusCodeContinue: pulumi.Bool(true),
UnfoldHttpHeaders: pulumi.Bool(true),
},
SecuritySettings: &logic.AS2SecuritySettingsArgs{
EnableNRRForInboundDecodedMessages: pulumi.Bool(true),
EnableNRRForInboundEncodedMessages: pulumi.Bool(true),
EnableNRRForInboundMDN: pulumi.Bool(true),
EnableNRRForOutboundDecodedMessages: pulumi.Bool(true),
EnableNRRForOutboundEncodedMessages: pulumi.Bool(true),
EnableNRRForOutboundMDN: pulumi.Bool(true),
OverrideGroupSigningCertificate: pulumi.Bool(false),
},
ValidationSettings: &logic.AS2ValidationSettingsArgs{
CheckCertificateRevocationListOnReceive: pulumi.Bool(true),
CheckCertificateRevocationListOnSend: pulumi.Bool(true),
CheckDuplicateMessage: pulumi.Bool(true),
CompressMessage: pulumi.Bool(true),
EncryptMessage: pulumi.Bool(false),
EncryptionAlgorithm: pulumi.String("AES128"),
InterchangeDuplicatesValidityDays: pulumi.Int(100),
OverrideMessageProperties: pulumi.Bool(true),
SignMessage: pulumi.Bool(false),
},
},
ReceiverBusinessIdentity: &logic.BusinessIdentityArgs{
Qualifier: pulumi.String("ZZ"),
Value: pulumi.String("ZZ"),
},
SenderBusinessIdentity: &logic.BusinessIdentityArgs{
Qualifier: pulumi.String("AA"),
Value: pulumi.String("AA"),
},
},
SendAgreement: interface{}{
ProtocolSettings: interface{}{
AcknowledgementConnectionSettings: &logic.AS2AcknowledgementConnectionSettingsArgs{
IgnoreCertificateNameMismatch: pulumi.Bool(true),
KeepHttpConnectionAlive: pulumi.Bool(true),
SupportHttpStatusCodeContinue: pulumi.Bool(true),
UnfoldHttpHeaders: pulumi.Bool(true),
},
EnvelopeSettings: &logic.AS2EnvelopeSettingsArgs{
AutogenerateFileName: pulumi.Bool(true),
FileNameTemplate: pulumi.String("Test"),
MessageContentType: pulumi.String("text/plain"),
SuspendMessageOnFileNameGenerationError: pulumi.Bool(true),
TransmitFileNameInMimeHeader: pulumi.Bool(true),
},
ErrorSettings: &logic.AS2ErrorSettingsArgs{
ResendIfMDNNotReceived: pulumi.Bool(true),
SuspendDuplicateMessage: pulumi.Bool(true),
},
MdnSettings: &logic.AS2MdnSettingsArgs{
DispositionNotificationTo: pulumi.String("http://tempuri.org"),
MdnText: pulumi.String("Sample"),
MicHashingAlgorithm: pulumi.String("SHA1"),
NeedMDN: pulumi.Bool(true),
ReceiptDeliveryUrl: pulumi.String("http://tempuri.org"),
SendInboundMDNToMessageBox: pulumi.Bool(true),
SendMDNAsynchronously: pulumi.Bool(true),
SignMDN: pulumi.Bool(true),
SignOutboundMDNIfOptional: pulumi.Bool(true),
},
MessageConnectionSettings: &logic.AS2MessageConnectionSettingsArgs{
IgnoreCertificateNameMismatch: pulumi.Bool(true),
KeepHttpConnectionAlive: pulumi.Bool(true),
SupportHttpStatusCodeContinue: pulumi.Bool(true),
UnfoldHttpHeaders: pulumi.Bool(true),
},
SecuritySettings: &logic.AS2SecuritySettingsArgs{
EnableNRRForInboundDecodedMessages: pulumi.Bool(true),
EnableNRRForInboundEncodedMessages: pulumi.Bool(true),
EnableNRRForInboundMDN: pulumi.Bool(true),
EnableNRRForOutboundDecodedMessages: pulumi.Bool(true),
EnableNRRForOutboundEncodedMessages: pulumi.Bool(true),
EnableNRRForOutboundMDN: pulumi.Bool(true),
OverrideGroupSigningCertificate: pulumi.Bool(false),
},
ValidationSettings: &logic.AS2ValidationSettingsArgs{
CheckCertificateRevocationListOnReceive: pulumi.Bool(true),
CheckCertificateRevocationListOnSend: pulumi.Bool(true),
CheckDuplicateMessage: pulumi.Bool(true),
CompressMessage: pulumi.Bool(true),
EncryptMessage: pulumi.Bool(false),
EncryptionAlgorithm: pulumi.String("AES128"),
InterchangeDuplicatesValidityDays: pulumi.Int(100),
OverrideMessageProperties: pulumi.Bool(true),
SignMessage: pulumi.Bool(false),
},
},
ReceiverBusinessIdentity: &logic.BusinessIdentityArgs{
Qualifier: pulumi.String("AA"),
Value: pulumi.String("AA"),
},
SenderBusinessIdentity: &logic.BusinessIdentityArgs{
Qualifier: pulumi.String("ZZ"),
Value: pulumi.String("ZZ"),
},
},
},
},
GuestIdentity: &logic.BusinessIdentityArgs{
Qualifier: pulumi.String("AA"),
Value: pulumi.String("AA"),
},
GuestPartner: pulumi.String("GuestPartner"),
HostIdentity: &logic.BusinessIdentityArgs{
Qualifier: pulumi.String("ZZ"),
Value: pulumi.String("ZZ"),
},
HostPartner: pulumi.String("HostPartner"),
IntegrationAccountName: pulumi.String("testIntegrationAccount"),
Location: pulumi.String("westus"),
Metadata: nil,
ResourceGroupName: pulumi.String("testResourceGroup"),
Tags: pulumi.StringMap{
"IntegrationAccountAgreement": pulumi.String("<IntegrationAccountAgreementName>"),
},
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.logic.IntegrationAccountAgreement;
import com.pulumi.azurenative.logic.IntegrationAccountAgreementArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var integrationAccountAgreement = new IntegrationAccountAgreement("integrationAccountAgreement", IntegrationAccountAgreementArgs.builder()
.agreementName("testAgreement")
.agreementType("AS2")
.content(Map.of("aS2", Map.ofEntries(
Map.entry("receiveAgreement", Map.ofEntries(
Map.entry("protocolSettings", Map.ofEntries(
Map.entry("acknowledgementConnectionSettings", Map.ofEntries(
Map.entry("ignoreCertificateNameMismatch", true),
Map.entry("keepHttpConnectionAlive", true),
Map.entry("supportHttpStatusCodeContinue", true),
Map.entry("unfoldHttpHeaders", true)
)),
Map.entry("envelopeSettings", Map.ofEntries(
Map.entry("autogenerateFileName", true),
Map.entry("fileNameTemplate", "Test"),
Map.entry("messageContentType", "text/plain"),
Map.entry("suspendMessageOnFileNameGenerationError", true),
Map.entry("transmitFileNameInMimeHeader", true)
)),
Map.entry("errorSettings", Map.ofEntries(
Map.entry("resendIfMDNNotReceived", true),
Map.entry("suspendDuplicateMessage", true)
)),
Map.entry("mdnSettings", Map.ofEntries(
Map.entry("dispositionNotificationTo", "http://tempuri.org"),
Map.entry("mdnText", "Sample"),
Map.entry("micHashingAlgorithm", "SHA1"),
Map.entry("needMDN", true),
Map.entry("receiptDeliveryUrl", "http://tempuri.org"),
Map.entry("sendInboundMDNToMessageBox", true),
Map.entry("sendMDNAsynchronously", true),
Map.entry("signMDN", true),
Map.entry("signOutboundMDNIfOptional", true)
)),
Map.entry("messageConnectionSettings", Map.ofEntries(
Map.entry("ignoreCertificateNameMismatch", true),
Map.entry("keepHttpConnectionAlive", true),
Map.entry("supportHttpStatusCodeContinue", true),
Map.entry("unfoldHttpHeaders", true)
)),
Map.entry("securitySettings", Map.ofEntries(
Map.entry("enableNRRForInboundDecodedMessages", true),
Map.entry("enableNRRForInboundEncodedMessages", true),
Map.entry("enableNRRForInboundMDN", true),
Map.entry("enableNRRForOutboundDecodedMessages", true),
Map.entry("enableNRRForOutboundEncodedMessages", true),
Map.entry("enableNRRForOutboundMDN", true),
Map.entry("overrideGroupSigningCertificate", false)
)),
Map.entry("validationSettings", Map.ofEntries(
Map.entry("checkCertificateRevocationListOnReceive", true),
Map.entry("checkCertificateRevocationListOnSend", true),
Map.entry("checkDuplicateMessage", true),
Map.entry("compressMessage", true),
Map.entry("encryptMessage", false),
Map.entry("encryptionAlgorithm", "AES128"),
Map.entry("interchangeDuplicatesValidityDays", 100),
Map.entry("overrideMessageProperties", true),
Map.entry("signMessage", false)
))
)),
Map.entry("receiverBusinessIdentity", Map.ofEntries(
Map.entry("qualifier", "ZZ"),
Map.entry("value", "ZZ")
)),
Map.entry("senderBusinessIdentity", Map.ofEntries(
Map.entry("qualifier", "AA"),
Map.entry("value", "AA")
))
)),
Map.entry("sendAgreement", Map.ofEntries(
Map.entry("protocolSettings", Map.ofEntries(
Map.entry("acknowledgementConnectionSettings", Map.ofEntries(
Map.entry("ignoreCertificateNameMismatch", true),
Map.entry("keepHttpConnectionAlive", true),
Map.entry("supportHttpStatusCodeContinue", true),
Map.entry("unfoldHttpHeaders", true)
)),
Map.entry("envelopeSettings", Map.ofEntries(
Map.entry("autogenerateFileName", true),
Map.entry("fileNameTemplate", "Test"),
Map.entry("messageContentType", "text/plain"),
Map.entry("suspendMessageOnFileNameGenerationError", true),
Map.entry("transmitFileNameInMimeHeader", true)
)),
Map.entry("errorSettings", Map.ofEntries(
Map.entry("resendIfMDNNotReceived", true),
Map.entry("suspendDuplicateMessage", true)
)),
Map.entry("mdnSettings", Map.ofEntries(
Map.entry("dispositionNotificationTo", "http://tempuri.org"),
Map.entry("mdnText", "Sample"),
Map.entry("micHashingAlgorithm", "SHA1"),
Map.entry("needMDN", true),
Map.entry("receiptDeliveryUrl", "http://tempuri.org"),
Map.entry("sendInboundMDNToMessageBox", true),
Map.entry("sendMDNAsynchronously", true),
Map.entry("signMDN", true),
Map.entry("signOutboundMDNIfOptional", true)
)),
Map.entry("messageConnectionSettings", Map.ofEntries(
Map.entry("ignoreCertificateNameMismatch", true),
Map.entry("keepHttpConnectionAlive", true),
Map.entry("supportHttpStatusCodeContinue", true),
Map.entry("unfoldHttpHeaders", true)
)),
Map.entry("securitySettings", Map.ofEntries(
Map.entry("enableNRRForInboundDecodedMessages", true),
Map.entry("enableNRRForInboundEncodedMessages", true),
Map.entry("enableNRRForInboundMDN", true),
Map.entry("enableNRRForOutboundDecodedMessages", true),
Map.entry("enableNRRForOutboundEncodedMessages", true),
Map.entry("enableNRRForOutboundMDN", true),
Map.entry("overrideGroupSigningCertificate", false)
)),
Map.entry("validationSettings", Map.ofEntries(
Map.entry("checkCertificateRevocationListOnReceive", true),
Map.entry("checkCertificateRevocationListOnSend", true),
Map.entry("checkDuplicateMessage", true),
Map.entry("compressMessage", true),
Map.entry("encryptMessage", false),
Map.entry("encryptionAlgorithm", "AES128"),
Map.entry("interchangeDuplicatesValidityDays", 100),
Map.entry("overrideMessageProperties", true),
Map.entry("signMessage", false)
))
)),
Map.entry("receiverBusinessIdentity", Map.ofEntries(
Map.entry("qualifier", "AA"),
Map.entry("value", "AA")
)),
Map.entry("senderBusinessIdentity", Map.ofEntries(
Map.entry("qualifier", "ZZ"),
Map.entry("value", "ZZ")
))
))
)))
.guestIdentity(Map.ofEntries(
Map.entry("qualifier", "AA"),
Map.entry("value", "AA")
))
.guestPartner("GuestPartner")
.hostIdentity(Map.ofEntries(
Map.entry("qualifier", "ZZ"),
Map.entry("value", "ZZ")
))
.hostPartner("HostPartner")
.integrationAccountName("testIntegrationAccount")
.location("westus")
.metadata()
.resourceGroupName("testResourceGroup")
.tags(Map.of("IntegrationAccountAgreement", "<IntegrationAccountAgreementName>"))
.build());
}
}
Content copied to clipboard
Import
An existing resource can be imported using its type token, name, and identifier, e.g.
$ pulumi import azure-native:logic:IntegrationAccountAgreement <IntegrationAccountAgreementName> /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/agreements/{agreementName}
Content copied to clipboard
Constructors
Link copied to clipboard
fun IntegrationAccountAgreementArgs(agreementName: Output<String>? = null, agreementType: Output<AgreementType>? = null, content: Output<AgreementContentArgs>? = null, guestIdentity: Output<BusinessIdentityArgs>? = null, guestPartner: Output<String>? = null, hostIdentity: Output<BusinessIdentityArgs>? = null, hostPartner: Output<String>? = null, integrationAccountName: Output<String>? = null, location: Output<String>? = null, metadata: Output<Any>? = null, resourceGroupName: Output<String>? = null, tags: Output<Map<String, String>>? = null)