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

package zonecachevariants

import (
	"reflect"

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

func init() {
	_jsii_.RegisterClass(
		"@cdktf/provider-cloudflare.zoneCacheVariants.ZoneCacheVariants",
		reflect.TypeOf((*ZoneCacheVariants)(nil)).Elem(),
		[]_jsii_.Member{
			_jsii_.MemberMethod{JsiiMethod: "addMoveTarget", GoMethod: "AddMoveTarget"},
			_jsii_.MemberMethod{JsiiMethod: "addOverride", GoMethod: "AddOverride"},
			_jsii_.MemberProperty{JsiiProperty: "avif", GoGetter: "Avif"},
			_jsii_.MemberProperty{JsiiProperty: "avifInput", GoGetter: "AvifInput"},
			_jsii_.MemberProperty{JsiiProperty: "bmp", GoGetter: "Bmp"},
			_jsii_.MemberProperty{JsiiProperty: "bmpInput", GoGetter: "BmpInput"},
			_jsii_.MemberProperty{JsiiProperty: "cdktfStack", GoGetter: "CdktfStack"},
			_jsii_.MemberProperty{JsiiProperty: "connection", GoGetter: "Connection"},
			_jsii_.MemberProperty{JsiiProperty: "constructNodeMetadata", GoGetter: "ConstructNodeMetadata"},
			_jsii_.MemberProperty{JsiiProperty: "count", GoGetter: "Count"},
			_jsii_.MemberProperty{JsiiProperty: "dependsOn", GoGetter: "DependsOn"},
			_jsii_.MemberProperty{JsiiProperty: "forEach", GoGetter: "ForEach"},
			_jsii_.MemberProperty{JsiiProperty: "fqn", GoGetter: "Fqn"},
			_jsii_.MemberProperty{JsiiProperty: "friendlyUniqueId", GoGetter: "FriendlyUniqueId"},
			_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_.MemberProperty{JsiiProperty: "gif", GoGetter: "Gif"},
			_jsii_.MemberProperty{JsiiProperty: "gifInput", GoGetter: "GifInput"},
			_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: "jp2", GoGetter: "Jp2"},
			_jsii_.MemberProperty{JsiiProperty: "jp2Input", GoGetter: "Jp2Input"},
			_jsii_.MemberProperty{JsiiProperty: "jpeg", GoGetter: "Jpeg"},
			_jsii_.MemberProperty{JsiiProperty: "jpegInput", GoGetter: "JpegInput"},
			_jsii_.MemberProperty{JsiiProperty: "jpg", GoGetter: "Jpg"},
			_jsii_.MemberProperty{JsiiProperty: "jpg2", GoGetter: "Jpg2"},
			_jsii_.MemberProperty{JsiiProperty: "jpg2Input", GoGetter: "Jpg2Input"},
			_jsii_.MemberProperty{JsiiProperty: "jpgInput", GoGetter: "JpgInput"},
			_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: "node", GoGetter: "Node"},
			_jsii_.MemberMethod{JsiiMethod: "overrideLogicalId", GoMethod: "OverrideLogicalId"},
			_jsii_.MemberProperty{JsiiProperty: "png", GoGetter: "Png"},
			_jsii_.MemberProperty{JsiiProperty: "pngInput", GoGetter: "PngInput"},
			_jsii_.MemberProperty{JsiiProperty: "provider", GoGetter: "Provider"},
			_jsii_.MemberProperty{JsiiProperty: "provisioners", GoGetter: "Provisioners"},
			_jsii_.MemberProperty{JsiiProperty: "rawOverrides", GoGetter: "RawOverrides"},
			_jsii_.MemberMethod{JsiiMethod: "resetAvif", GoMethod: "ResetAvif"},
			_jsii_.MemberMethod{JsiiMethod: "resetBmp", GoMethod: "ResetBmp"},
			_jsii_.MemberMethod{JsiiMethod: "resetGif", GoMethod: "ResetGif"},
			_jsii_.MemberMethod{JsiiMethod: "resetId", GoMethod: "ResetId"},
			_jsii_.MemberMethod{JsiiMethod: "resetJp2", GoMethod: "ResetJp2"},
			_jsii_.MemberMethod{JsiiMethod: "resetJpeg", GoMethod: "ResetJpeg"},
			_jsii_.MemberMethod{JsiiMethod: "resetJpg", GoMethod: "ResetJpg"},
			_jsii_.MemberMethod{JsiiMethod: "resetJpg2", GoMethod: "ResetJpg2"},
			_jsii_.MemberMethod{JsiiMethod: "resetOverrideLogicalId", GoMethod: "ResetOverrideLogicalId"},
			_jsii_.MemberMethod{JsiiMethod: "resetPng", GoMethod: "ResetPng"},
			_jsii_.MemberMethod{JsiiMethod: "resetTif", GoMethod: "ResetTif"},
			_jsii_.MemberMethod{JsiiMethod: "resetTiff", GoMethod: "ResetTiff"},
			_jsii_.MemberMethod{JsiiMethod: "resetWebp", GoMethod: "ResetWebp"},
			_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_.MemberProperty{JsiiProperty: "tif", GoGetter: "Tif"},
			_jsii_.MemberProperty{JsiiProperty: "tiff", GoGetter: "Tiff"},
			_jsii_.MemberProperty{JsiiProperty: "tiffInput", GoGetter: "TiffInput"},
			_jsii_.MemberProperty{JsiiProperty: "tifInput", GoGetter: "TifInput"},
			_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: "webp", GoGetter: "Webp"},
			_jsii_.MemberProperty{JsiiProperty: "webpInput", GoGetter: "WebpInput"},
			_jsii_.MemberProperty{JsiiProperty: "zoneId", GoGetter: "ZoneId"},
			_jsii_.MemberProperty{JsiiProperty: "zoneIdInput", GoGetter: "ZoneIdInput"},
		},
		func() interface{} {
			j := jsiiProxy_ZoneCacheVariants{}
			_jsii_.InitJsiiProxy(&j.Type__cdktfTerraformResource)
			return &j
		},
	)
	_jsii_.RegisterStruct(
		"@cdktf/provider-cloudflare.zoneCacheVariants.ZoneCacheVariantsConfig",
		reflect.TypeOf((*ZoneCacheVariantsConfig)(nil)).Elem(),
	)
}
