"use strict";var _a;Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnHub=void 0;const jsiiDeprecationWarnings=require("../../.warnings.jsii.js"),JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti"),cdk=require("../../core"),cfn_parse=require("../../core/lib/helpers-internal");function CfnHubPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("tags",cdk.validateObject)(properties.tags)),errors.wrap('supplied properties not correct for "CfnHubProps"')}function cfnHubPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnHubPropsValidator(properties).assertSuccess(),{Tags:cdk.objectToCloudFormation(properties.tags)}):properties}function CfnHubPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse.FromCloudFormation.getAny(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnHub extends cdk.CfnResource{constructor(scope,id,props={}){super(scope,id,{type:CfnHub.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_securityhub_CfnHubProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnHub),error}this.tags=new cdk.TagManager(cdk.TagType.MAP,"AWS::SecurityHub::Hub",props.tags,{tagPropertyName:"tags"})}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnHubPropsFromCloudFormation(resourceProperties),ret=new CfnHub(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}inspect(inspector){try{jsiiDeprecationWarnings.aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnHub.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{tags:this.tags.renderTags()}}renderProperties(props){return cfnHubPropsToCloudFormation(props)}}exports.CfnHub=CfnHub,_a=JSII_RTTI_SYMBOL_1,CfnHub[_a]={fqn:"aws-cdk-lib.aws_securityhub.CfnHub",version:"2.29.0"},CfnHub.CFN_RESOURCE_TYPE_NAME="AWS::SecurityHub::Hub";
//# sourceMappingURL=securityhub.generated.js.map
