// Copyright (c) HashiCorp, Inc.
// SPDX-License-Identifier: MPL-2.0

package networkpeering

import (
	"reflect"

	_jsii_ "github.com/aws/jsii-runtime-go/runtime"
)

func init() {
	_jsii_.RegisterClass(
		"@cdktf/provider-mongodbatlas.networkPeering.NetworkPeering",
		reflect.TypeOf((*NetworkPeering)(nil)).Elem(),
		[]_jsii_.Member{
			_jsii_.MemberProperty{JsiiProperty: "accepterRegionName", GoGetter: "AccepterRegionName"},
			_jsii_.MemberProperty{JsiiProperty: "accepterRegionNameInput", GoGetter: "AccepterRegionNameInput"},
			_jsii_.MemberMethod{JsiiMethod: "addMoveTarget", GoMethod: "AddMoveTarget"},
			_jsii_.MemberMethod{JsiiMethod: "addOverride", GoMethod: "AddOverride"},
			_jsii_.MemberProperty{JsiiProperty: "atlasCidrBlock", GoGetter: "AtlasCidrBlock"},
			_jsii_.MemberProperty{JsiiProperty: "atlasCidrBlockInput", GoGetter: "AtlasCidrBlockInput"},
			_jsii_.MemberProperty{JsiiProperty: "atlasGcpProjectId", GoGetter: "AtlasGcpProjectId"},
			_jsii_.MemberProperty{JsiiProperty: "atlasGcpProjectIdInput", GoGetter: "AtlasGcpProjectIdInput"},
			_jsii_.MemberProperty{JsiiProperty: "atlasId", GoGetter: "AtlasId"},
			_jsii_.MemberProperty{JsiiProperty: "atlasVpcName", GoGetter: "AtlasVpcName"},
			_jsii_.MemberProperty{JsiiProperty: "atlasVpcNameInput", GoGetter: "AtlasVpcNameInput"},
			_jsii_.MemberProperty{JsiiProperty: "awsAccountId", GoGetter: "AwsAccountId"},
			_jsii_.MemberProperty{JsiiProperty: "awsAccountIdInput", GoGetter: "AwsAccountIdInput"},
			_jsii_.MemberProperty{JsiiProperty: "azureDirectoryId", GoGetter: "AzureDirectoryId"},
			_jsii_.MemberProperty{JsiiProperty: "azureDirectoryIdInput", GoGetter: "AzureDirectoryIdInput"},
			_jsii_.MemberProperty{JsiiProperty: "azureSubscriptionId", GoGetter: "AzureSubscriptionId"},
			_jsii_.MemberProperty{JsiiProperty: "azureSubscriptionIdInput", GoGetter: "AzureSubscriptionIdInput"},
			_jsii_.MemberProperty{JsiiProperty: "cdktfStack", GoGetter: "CdktfStack"},
			_jsii_.MemberProperty{JsiiProperty: "connection", GoGetter: "Connection"},
			_jsii_.MemberProperty{JsiiProperty: "connectionId", GoGetter: "ConnectionId"},
			_jsii_.MemberProperty{JsiiProperty: "constructNodeMetadata", GoGetter: "ConstructNodeMetadata"},
			_jsii_.MemberProperty{JsiiProperty: "containerId", GoGetter: "ContainerId"},
			_jsii_.MemberProperty{JsiiProperty: "containerIdInput", GoGetter: "ContainerIdInput"},
			_jsii_.MemberProperty{JsiiProperty: "count", GoGetter: "Count"},
			_jsii_.MemberProperty{JsiiProperty: "dependsOn", GoGetter: "DependsOn"},
			_jsii_.MemberProperty{JsiiProperty: "errorMessage", GoGetter: "ErrorMessage"},
			_jsii_.MemberProperty{JsiiProperty: "errorState", GoGetter: "ErrorState"},
			_jsii_.MemberProperty{JsiiProperty: "errorStateName", GoGetter: "ErrorStateName"},
			_jsii_.MemberProperty{JsiiProperty: "forEach", GoGetter: "ForEach"},
			_jsii_.MemberProperty{JsiiProperty: "fqn", GoGetter: "Fqn"},
			_jsii_.MemberProperty{JsiiProperty: "friendlyUniqueId", GoGetter: "FriendlyUniqueId"},
			_jsii_.MemberProperty{JsiiProperty: "gcpProjectId", GoGetter: "GcpProjectId"},
			_jsii_.MemberProperty{JsiiProperty: "gcpProjectIdInput", GoGetter: "GcpProjectIdInput"},
			_jsii_.MemberMethod{JsiiMethod: "getAnyMapAttribute", GoMethod: "GetAnyMapAttribute"},
			_jsii_.MemberMethod{JsiiMethod: "getBooleanAttribute", GoMethod: "GetBooleanAttribute"},
			_jsii_.MemberMethod{JsiiMethod: "getBooleanMapAttribute", GoMethod: "GetBooleanMapAttribute"},
			_jsii_.MemberMethod{JsiiMethod: "getListAttribute", GoMethod: "GetListAttribute"},
			_jsii_.MemberMethod{JsiiMethod: "getNumberAttribute", GoMethod: "GetNumberAttribute"},
			_jsii_.MemberMethod{JsiiMethod: "getNumberListAttribute", GoMethod: "GetNumberListAttribute"},
			_jsii_.MemberMethod{JsiiMethod: "getNumberMapAttribute", GoMethod: "GetNumberMapAttribute"},
			_jsii_.MemberMethod{JsiiMethod: "getStringAttribute", GoMethod: "GetStringAttribute"},
			_jsii_.MemberMethod{JsiiMethod: "getStringMapAttribute", GoMethod: "GetStringMapAttribute"},
			_jsii_.MemberMethod{JsiiMethod: "hasResourceMove", GoMethod: "HasResourceMove"},
			_jsii_.MemberProperty{JsiiProperty: "id", GoGetter: "Id"},
			_jsii_.MemberProperty{JsiiProperty: "idInput", GoGetter: "IdInput"},
			_jsii_.MemberMethod{JsiiMethod: "importFrom", GoMethod: "ImportFrom"},
			_jsii_.MemberMethod{JsiiMethod: "interpolationForAttribute", GoMethod: "InterpolationForAttribute"},
			_jsii_.MemberProperty{JsiiProperty: "lifecycle", GoGetter: "Lifecycle"},
			_jsii_.MemberMethod{JsiiMethod: "moveFromId", GoMethod: "MoveFromId"},
			_jsii_.MemberMethod{JsiiMethod: "moveTo", GoMethod: "MoveTo"},
			_jsii_.MemberMethod{JsiiMethod: "moveToId", GoMethod: "MoveToId"},
			_jsii_.MemberProperty{JsiiProperty: "networkName", GoGetter: "NetworkName"},
			_jsii_.MemberProperty{JsiiProperty: "networkNameInput", GoGetter: "NetworkNameInput"},
			_jsii_.MemberProperty{JsiiProperty: "node", GoGetter: "Node"},
			_jsii_.MemberMethod{JsiiMethod: "overrideLogicalId", GoMethod: "OverrideLogicalId"},
			_jsii_.MemberProperty{JsiiProperty: "peerId", GoGetter: "PeerId"},
			_jsii_.MemberProperty{JsiiProperty: "projectId", GoGetter: "ProjectId"},
			_jsii_.MemberProperty{JsiiProperty: "projectIdInput", GoGetter: "ProjectIdInput"},
			_jsii_.MemberProperty{JsiiProperty: "provider", GoGetter: "Provider"},
			_jsii_.MemberProperty{JsiiProperty: "providerName", GoGetter: "ProviderName"},
			_jsii_.MemberProperty{JsiiProperty: "providerNameInput", GoGetter: "ProviderNameInput"},
			_jsii_.MemberProperty{JsiiProperty: "provisioners", GoGetter: "Provisioners"},
			_jsii_.MemberProperty{JsiiProperty: "rawOverrides", GoGetter: "RawOverrides"},
			_jsii_.MemberMethod{JsiiMethod: "resetAccepterRegionName", GoMethod: "ResetAccepterRegionName"},
			_jsii_.MemberMethod{JsiiMethod: "resetAtlasCidrBlock", GoMethod: "ResetAtlasCidrBlock"},
			_jsii_.MemberMethod{JsiiMethod: "resetAtlasGcpProjectId", GoMethod: "ResetAtlasGcpProjectId"},
			_jsii_.MemberMethod{JsiiMethod: "resetAtlasVpcName", GoMethod: "ResetAtlasVpcName"},
			_jsii_.MemberMethod{JsiiMethod: "resetAwsAccountId", GoMethod: "ResetAwsAccountId"},
			_jsii_.MemberMethod{JsiiMethod: "resetAzureDirectoryId", GoMethod: "ResetAzureDirectoryId"},
			_jsii_.MemberMethod{JsiiMethod: "resetAzureSubscriptionId", GoMethod: "ResetAzureSubscriptionId"},
			_jsii_.MemberMethod{JsiiMethod: "resetGcpProjectId", GoMethod: "ResetGcpProjectId"},
			_jsii_.MemberMethod{JsiiMethod: "resetId", GoMethod: "ResetId"},
			_jsii_.MemberMethod{JsiiMethod: "resetNetworkName", GoMethod: "ResetNetworkName"},
			_jsii_.MemberMethod{JsiiMethod: "resetOverrideLogicalId", GoMethod: "ResetOverrideLogicalId"},
			_jsii_.MemberMethod{JsiiMethod: "resetResourceGroupName", GoMethod: "ResetResourceGroupName"},
			_jsii_.MemberMethod{JsiiMethod: "resetRouteTableCidrBlock", GoMethod: "ResetRouteTableCidrBlock"},
			_jsii_.MemberMethod{JsiiMethod: "resetVnetName", GoMethod: "ResetVnetName"},
			_jsii_.MemberMethod{JsiiMethod: "resetVpcId", GoMethod: "ResetVpcId"},
			_jsii_.MemberProperty{JsiiProperty: "resourceGroupName", GoGetter: "ResourceGroupName"},
			_jsii_.MemberProperty{JsiiProperty: "resourceGroupNameInput", GoGetter: "ResourceGroupNameInput"},
			_jsii_.MemberProperty{JsiiProperty: "routeTableCidrBlock", GoGetter: "RouteTableCidrBlock"},
			_jsii_.MemberProperty{JsiiProperty: "routeTableCidrBlockInput", GoGetter: "RouteTableCidrBlockInput"},
			_jsii_.MemberProperty{JsiiProperty: "status", GoGetter: "Status"},
			_jsii_.MemberProperty{JsiiProperty: "statusName", GoGetter: "StatusName"},
			_jsii_.MemberMethod{JsiiMethod: "synthesizeAttributes", GoMethod: "SynthesizeAttributes"},
			_jsii_.MemberMethod{JsiiMethod: "synthesizeHclAttributes", GoMethod: "SynthesizeHclAttributes"},
			_jsii_.MemberProperty{JsiiProperty: "terraformGeneratorMetadata", GoGetter: "TerraformGeneratorMetadata"},
			_jsii_.MemberProperty{JsiiProperty: "terraformMetaArguments", GoGetter: "TerraformMetaArguments"},
			_jsii_.MemberProperty{JsiiProperty: "terraformResourceType", GoGetter: "TerraformResourceType"},
			_jsii_.MemberMethod{JsiiMethod: "toHclTerraform", GoMethod: "ToHclTerraform"},
			_jsii_.MemberMethod{JsiiMethod: "toMetadata", GoMethod: "ToMetadata"},
			_jsii_.MemberMethod{JsiiMethod: "toString", GoMethod: "ToString"},
			_jsii_.MemberMethod{JsiiMethod: "toTerraform", GoMethod: "ToTerraform"},
			_jsii_.MemberProperty{JsiiProperty: "vnetName", GoGetter: "VnetName"},
			_jsii_.MemberProperty{JsiiProperty: "vnetNameInput", GoGetter: "VnetNameInput"},
			_jsii_.MemberProperty{JsiiProperty: "vpcId", GoGetter: "VpcId"},
			_jsii_.MemberProperty{JsiiProperty: "vpcIdInput", GoGetter: "VpcIdInput"},
		},
		func() interface{} {
			j := jsiiProxy_NetworkPeering{}
			_jsii_.InitJsiiProxy(&j.Type__cdktfTerraformResource)
			return &j
		},
	)
	_jsii_.RegisterStruct(
		"@cdktf/provider-mongodbatlas.networkPeering.NetworkPeeringConfig",
		reflect.TypeOf((*NetworkPeeringConfig)(nil)).Elem(),
	)
}
