// Jest Snapshot v1, https://goo.gl/fbAQLP exports[`generate aqua-enterprise-enforcer.json 1`] = ` "// Generated by cdk-import import * as cdk from 'aws-cdk-lib'; import * as constructs from 'constructs'; /** * A resource provider for Aqua Enterprise Enforcer. * * @schema CfnEnforcerProps */ export interface CfnEnforcerProps { /** * EKS cluster name * * @schema CfnEnforcerProps#ClusterID */ readonly clusterId?: string; /** * Secrets Manager ARN for kubeconfig file * * @schema CfnEnforcerProps#KubeConfig */ readonly kubeConfig?: string; /** * IAM to use with EKS cluster authentication, if not resource execution role will be used * * @schema CfnEnforcerProps#RoleArn */ readonly roleArn?: string; /** * Namespace to use with helm. Created if doesn't exist and default will be used if not provided * * @schema CfnEnforcerProps#Namespace */ readonly namespace?: string; /** * Name for the helm release * * @schema CfnEnforcerProps#Name */ readonly name?: string; /** * Custom Values can optionally be specified * * @schema CfnEnforcerProps#Values */ readonly values?: any; /** * String representation of a values.yaml file * * @schema CfnEnforcerProps#ValueYaml */ readonly valueYaml?: string; /** * Version can be specified, if not latest will be used * * @schema CfnEnforcerProps#Version */ readonly version?: string; /** * Custom Value Yaml file can optionally be specified * * @schema CfnEnforcerProps#ValueOverrideURL */ readonly valueOverrideUrl?: string; /** * Timeout for resource provider. Default 60 mins * * @schema CfnEnforcerProps#TimeOut */ readonly timeOut?: number; /** * For network connectivity to Cluster inside VPC * * @schema CfnEnforcerProps#VPCConfiguration */ readonly vpcConfiguration?: CfnEnforcerPropsVpcConfiguration; } /** * Converts an object of type 'CfnEnforcerProps' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnEnforcerProps(obj: CfnEnforcerProps | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'ClusterID': obj.clusterId, 'KubeConfig': obj.kubeConfig, 'RoleArn': obj.roleArn, 'Namespace': obj.namespace, 'Name': obj.name, 'Values': obj.values, 'ValueYaml': obj.valueYaml, 'Version': obj.version, 'ValueOverrideURL': obj.valueOverrideUrl, 'TimeOut': obj.timeOut, 'VPCConfiguration': toJson_CfnEnforcerPropsVpcConfiguration(obj.vpcConfiguration), }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * For network connectivity to Cluster inside VPC * * @schema CfnEnforcerPropsVpcConfiguration */ export interface CfnEnforcerPropsVpcConfiguration { /** * Specify one or more security groups * * @schema CfnEnforcerPropsVpcConfiguration#SecurityGroupIds */ readonly securityGroupIds?: string[]; /** * Specify one or more subnets * * @schema CfnEnforcerPropsVpcConfiguration#SubnetIds */ readonly subnetIds?: string[]; } /** * Converts an object of type 'CfnEnforcerPropsVpcConfiguration' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnEnforcerPropsVpcConfiguration(obj: CfnEnforcerPropsVpcConfiguration | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'SecurityGroupIds': obj.securityGroupIds?.map(y => y), 'SubnetIds': obj.subnetIds?.map(y => y), }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * A CloudFormation \`Aqua::Enterprise::Enforcer\` * * @cloudformationResource Aqua::Enterprise::Enforcer * @stability external * @link https://github.com/aquasecurity/aqua-helm.git */ export class CfnEnforcer extends cdk.CfnResource { /** * The CloudFormation resource type name for this resource class. */ public static readonly CFN_RESOURCE_TYPE_NAME = \\"Aqua::Enterprise::Enforcer\\"; /** * Resource props. */ public readonly props: CfnEnforcerProps; /** * Attribute \`Aqua::Enterprise::Enforcer.ID\` * @link https://github.com/aquasecurity/aqua-helm.git */ public readonly attrId: string; /** * Create a new \`Aqua::Enterprise::Enforcer\`. * * @param scope - scope in which this resource is defined * @param id - scoped id of the resource * @param props - resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnEnforcerProps) { super(scope, id, { type: CfnEnforcer.CFN_RESOURCE_TYPE_NAME, properties: toJson_CfnEnforcerProps(props)! }); this.props = props; this.attrId = cdk.Token.asString(this.getAtt('ID')); } }" `; exports[`generate awsqs-checkpoint-cloudguardqs-module.json 1`] = ` "// Generated by cdk-import import * as cdk from 'aws-cdk-lib'; import * as constructs from 'constructs'; /** * Schema for Module Fragment of type AWSQS::CheckPoint::CloudGuardQS::MODULE * * @schema CfnCloudGuardQsModuleProps */ export interface CfnCloudGuardQsModuleProps { /** * @schema CfnCloudGuardQsModuleProps#Parameters */ readonly parameters?: CfnCloudGuardQsModulePropsParameters; /** * @schema CfnCloudGuardQsModuleProps#Resources */ readonly resources?: CfnCloudGuardQsModulePropsResources; } /** * Converts an object of type 'CfnCloudGuardQsModuleProps' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModuleProps(obj: CfnCloudGuardQsModuleProps | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Parameters': toJson_CfnCloudGuardQsModulePropsParameters(obj.parameters), 'Resources': toJson_CfnCloudGuardQsModulePropsResources(obj.resources), }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsParameters */ export interface CfnCloudGuardQsModulePropsParameters { /** * List of Availability Zones (AZs) to use for the subnets in the VPC. Select at least two * * @schema CfnCloudGuardQsModulePropsParameters#AvailabilityZones */ readonly availabilityZones?: CfnCloudGuardQsModulePropsParametersAvailabilityZones; /** * Number of Availability Zones to use in the VPC. This must match your selections in the list of Availability Zones parameter. Default: 2 * * @schema CfnCloudGuardQsModulePropsParameters#NumberOfAZs */ readonly numberOfAZs?: CfnCloudGuardQsModulePropsParametersNumberOfAZs; /** * CIDR block for the VPC. Default: 10.0.0.0/16 * * @schema CfnCloudGuardQsModulePropsParameters#VPCCIDR */ readonly vpccidr?: CfnCloudGuardQsModulePropsParametersVpccidr; /** * CIDR block for public subnet 1 located in the 1st Availability Zone. If you choose to deploy a Security Management Server it will be deployed in this subnet. Default: 10.0.10.0/24 * * @schema CfnCloudGuardQsModulePropsParameters#PublicSubnet1CIDR */ readonly publicSubnet1Cidr?: CfnCloudGuardQsModulePropsParametersPublicSubnet1Cidr; /** * CIDR block for public subnet 2 located in the 2nd Availability Zone. Default: 10.0.20.0/24 * * @schema CfnCloudGuardQsModulePropsParameters#PublicSubnet2CIDR */ readonly publicSubnet2Cidr?: CfnCloudGuardQsModulePropsParametersPublicSubnet2Cidr; /** * CIDR block for public subnet 3 located in the 3rd Availability Zone. Default: 10.0.30.0/24 * * @schema CfnCloudGuardQsModulePropsParameters#PublicSubnet3CIDR */ readonly publicSubnet3Cidr?: CfnCloudGuardQsModulePropsParametersPublicSubnet3Cidr; /** * CIDR block for public subnet 4 located in the 4th Availability Zone. Default: 10.0.40.0/24 * * @schema CfnCloudGuardQsModulePropsParameters#PublicSubnet4CIDR */ readonly publicSubnet4Cidr?: CfnCloudGuardQsModulePropsParametersPublicSubnet4Cidr; /** * CIDR block for private subnet 1 located in the 1st Availability Zone. Default: 10.0.11.0/24 * * @schema CfnCloudGuardQsModulePropsParameters#PrivateSubnet1CIDR */ readonly privateSubnet1Cidr?: CfnCloudGuardQsModulePropsParametersPrivateSubnet1Cidr; /** * CIDR block for private subnet 2 located in the 2nd Availability Zone. Default: 10.0.21.0/24 * * @schema CfnCloudGuardQsModulePropsParameters#PrivateSubnet2CIDR */ readonly privateSubnet2Cidr?: CfnCloudGuardQsModulePropsParametersPrivateSubnet2Cidr; /** * CIDR block for private subnet 3 located in the 3rd Availability Zone. Default: 10.0.31.0/24 * * @schema CfnCloudGuardQsModulePropsParameters#PrivateSubnet3CIDR */ readonly privateSubnet3Cidr?: CfnCloudGuardQsModulePropsParametersPrivateSubnet3Cidr; /** * CIDR block for private subnet 4 located in the 4th Availability Zone. Default: 10.0.41.0/24 * * @schema CfnCloudGuardQsModulePropsParameters#PrivateSubnet4CIDR */ readonly privateSubnet4Cidr?: CfnCloudGuardQsModulePropsParametersPrivateSubnet4Cidr; /** * The EC2 Key Pair to allow SSH access to the instances. For more detail visit: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html * * @schema CfnCloudGuardQsModulePropsParameters#KeyName */ readonly keyName?: CfnCloudGuardQsModulePropsParametersKeyName; /** * Encrypt Environment instances volume with default AWS KMS key. Default: true * * @schema CfnCloudGuardQsModulePropsParameters#EnableVolumeEncryption */ readonly enableVolumeEncryption?: CfnCloudGuardQsModulePropsParametersEnableVolumeEncryption; /** * Enable SSH connection over AWS web console. Default: false * * @schema CfnCloudGuardQsModulePropsParameters#EnableInstanceConnect */ readonly enableInstanceConnect?: CfnCloudGuardQsModulePropsParametersEnableInstanceConnect; /** * Automatically download Blade Contracts and other important data. Improve product experience by sending data to Check Point. Default: true * * @schema CfnCloudGuardQsModulePropsParameters#AllowUploadDownload */ readonly allowUploadDownload?: CfnCloudGuardQsModulePropsParametersAllowUploadDownload; /** * The tag is used by the Security Management Server to automatically provision the Security Gateways. Must be up to 12 alphanumeric characters and unique for each Quick Start deployment. Default: quickstart * * @schema CfnCloudGuardQsModulePropsParameters#ProvisionTag */ readonly provisionTag?: CfnCloudGuardQsModulePropsParametersProvisionTag; /** * Use Network Load Balancer if you wish to preserve the source IP address and Application Load Balancer if you wish to perform SSL Offloading. Default: Network Load Balancer. Allowed values: Network Load Balancer, Application Load Balancer * * @schema CfnCloudGuardQsModulePropsParameters#LoadBalancersType */ readonly loadBalancersType?: CfnCloudGuardQsModulePropsParametersLoadBalancersType; /** * The protocol to use on the Application Load Balancer. If Network Load Balancer was selected this section will be ignored. Default: HTTP. Allowed values: HTTP, HTTPS * * @schema CfnCloudGuardQsModulePropsParameters#ALBProtocol */ readonly albProtocol?: CfnCloudGuardQsModulePropsParametersAlbProtocol; /** * The protocol to use on the Network Load Balancer. If Application Load Balancer was selected this section will be ignored. Default: TCP. Allowed values: TCP, TLS, UDP, TCP_UDP * * @schema CfnCloudGuardQsModulePropsParameters#NLBProtocol */ readonly nlbProtocol?: CfnCloudGuardQsModulePropsParametersNlbProtocol; /** * Amazon Resource Name (ARN) of an HTTPS Certificate, ignored if the selected protocol is HTTP (for the ALBProtocol parameter) * * @schema CfnCloudGuardQsModulePropsParameters#Certificate */ readonly certificate?: CfnCloudGuardQsModulePropsParametersCertificate; /** * The external Load Balancer listens to this port. Leave this field blank to use default ports: 80 for HTTP and 443 for HTTPS * * @schema CfnCloudGuardQsModulePropsParameters#ServicePort */ readonly servicePort?: CfnCloudGuardQsModulePropsParametersServicePort; /** * Notifications about scaling events will be sent to this email address (optional) * * @schema CfnCloudGuardQsModulePropsParameters#AdminEmail */ readonly adminEmail?: CfnCloudGuardQsModulePropsParametersAdminEmail; /** * The EC2 instance type for the Security Gateways. Default: c5.xlarge. Allowed values: c5.xlarge, c5.xlarge, c5.2xlarge, c5.4xlarge, c5.9xlarge, c5.18xlarge, c5n.large, c5n.xlarge, c5n.2xlarge, c5n.4xlarge, c5n.9xlarge, c5n.18xlarge * * @schema CfnCloudGuardQsModulePropsParameters#GatewayInstanceType */ readonly gatewayInstanceType?: CfnCloudGuardQsModulePropsParametersGatewayInstanceType; /** * The minimal number of Security Gateways * * @schema CfnCloudGuardQsModulePropsParameters#GatewaysMinSize */ readonly gatewaysMinSize?: CfnCloudGuardQsModulePropsParametersGatewaysMinSize; /** * The maximal number of Security Gateways * * @schema CfnCloudGuardQsModulePropsParameters#GatewaysMaxSize */ readonly gatewaysMaxSize?: CfnCloudGuardQsModulePropsParametersGatewaysMaxSize; /** * The version and license to install on the Security Gateways. Default: R80.40-PAYG-NGTP-GW. Allowed values: R80.40-BYOL-GW, R80.40-PAYG-NGTP-GW, R80.40-PAYG-NGTX-GW, R81-BYOL-GW, R81-PAYG-NGTP-GW, R81-PAYG-NGTX-GW * * @schema CfnCloudGuardQsModulePropsParameters#GatewayVersion */ readonly gatewayVersion?: CfnCloudGuardQsModulePropsParametersGatewayVersion; /** * Admin user's password hash (use command \\"openssl passwd -1 PASSWORD\\" to get the PASSWORD's hash) (optional) * * @schema CfnCloudGuardQsModulePropsParameters#GatewayPasswordHash */ readonly gatewayPasswordHash?: CfnCloudGuardQsModulePropsParametersGatewayPasswordHash; /** * The Secure Internal Communication key creates trusted connections between Check Point components. Choose a random string consisting of at least 8 alphanumeric characters. * * @schema CfnCloudGuardQsModulePropsParameters#GatewaySICKey */ readonly gatewaySicKey?: CfnCloudGuardQsModulePropsParametersGatewaySicKey; /** * Report Check Point specific CloudWatch metrics. Default: false * * @schema CfnCloudGuardQsModulePropsParameters#CloudWatch */ readonly cloudWatch?: CfnCloudGuardQsModulePropsParametersCloudWatch; /** * Select false to use an existing Security Management Server or to deploy one later and to ignore the other parameters of this section. Default: true * * @schema CfnCloudGuardQsModulePropsParameters#ManagementDeploy */ readonly managementDeploy?: CfnCloudGuardQsModulePropsParametersManagementDeploy; /** * The EC2 instance type of the Security Management Server. Default: m5.xlarge. Allowed values: m5.large, m5.xlarge, m5.2xlarge, m5.4xlarge, m5.12xlarge, m5.24xlarge * * @schema CfnCloudGuardQsModulePropsParameters#ManagementInstanceType */ readonly managementInstanceType?: CfnCloudGuardQsModulePropsParametersManagementInstanceType; /** * The version and license to install on the Security Management Server. Default: R80.40-PAYG-MGMT. Allowed values: R80.40-BYOL-MGMT, R80.40-PAYG-MGMT, R81-BYOL-MGMT, R81-PAYG-MGMT * * @schema CfnCloudGuardQsModulePropsParameters#ManagementVersion */ readonly managementVersion?: CfnCloudGuardQsModulePropsParametersManagementVersion; /** * Admin user's password hash (use command \\"openssl passwd -1 PASSWORD\\" to get the PASSWORD's hash) (optional) * * @schema CfnCloudGuardQsModulePropsParameters#ManagementPasswordHash */ readonly managementPasswordHash?: CfnCloudGuardQsModulePropsParametersManagementPasswordHash; /** * The name of the Security Policy package to be installed on the gateways in the Security Gateways Auto Scaling group. Default: Standard * * @schema CfnCloudGuardQsModulePropsParameters#GatewaysPolicy */ readonly gatewaysPolicy?: CfnCloudGuardQsModulePropsParametersGatewaysPolicy; /** * Turn on the Intrusion Prevention System, Application Control, Anti-Virus and Anti-Bot Blades (these and additional Blades can be manually turned on or off later). Default: true * * @schema CfnCloudGuardQsModulePropsParameters#GatewaysBlades */ readonly gatewaysBlades?: CfnCloudGuardQsModulePropsParametersGatewaysBlades; /** * Allow web, SSH, and graphical clients only from this network to communicate with the Security Management Server * * @schema CfnCloudGuardQsModulePropsParameters#AdminCIDR */ readonly adminCidr?: CfnCloudGuardQsModulePropsParametersAdminCidr; /** * Allow gateways only from this network to communicate with the Security Management Server * * @schema CfnCloudGuardQsModulePropsParameters#GatewaysAddresses */ readonly gatewaysAddresses?: CfnCloudGuardQsModulePropsParametersGatewaysAddresses; /** * Select true to deploy web servers and an internal Application Load Balancer. If you select false the other parameters of this section will be ignored. Default: false * * @schema CfnCloudGuardQsModulePropsParameters#ServersDeploy */ readonly serversDeploy?: CfnCloudGuardQsModulePropsParametersServersDeploy; /** * The EC2 instance type for the web servers. Default: t3.micro. Allowed values: t3.nano, t3.micro, t3.small, t3.medium, t3.large, t3.xlarge, t3.2xlarge * * @schema CfnCloudGuardQsModulePropsParameters#ServerInstanceType */ readonly serverInstanceType?: CfnCloudGuardQsModulePropsParametersServerInstanceType; /** * The Amazon Machine Image ID of a preconfigured web server (e.g. ami-0dc7dc63) * * @schema CfnCloudGuardQsModulePropsParameters#ServerAMI */ readonly serverAmi?: CfnCloudGuardQsModulePropsParametersServerAmi; /** * Set to false to create only public subnets. If false, the CIDR parameters for ALL private subnets will be ignored. Default: true * * @schema CfnCloudGuardQsModulePropsParameters#CreatePrivateSubnets */ readonly createPrivateSubnets?: CfnCloudGuardQsModulePropsParametersCreatePrivateSubnets; /** * Set true for creating designated subnets for VPC TGW attachments. If false, the CIDR parameters for the TGW subnets will be ignored. Default: false * * @schema CfnCloudGuardQsModulePropsParameters#CreateTgwSubnets */ readonly createTgwSubnets?: CfnCloudGuardQsModulePropsParametersCreateTgwSubnets; /** * CIDR block for TGW subnet 1 located in Availability Zone 1. Default: 10.0.12.0/24 * * @schema CfnCloudGuardQsModulePropsParameters#TgwSubnet1CIDR */ readonly tgwSubnet1Cidr?: CfnCloudGuardQsModulePropsParametersTgwSubnet1Cidr; /** * CIDR block for TGW subnet 2 located in Availability Zone 2. Default: 10.0.22.0/24 * * @schema CfnCloudGuardQsModulePropsParameters#TgwSubnet2CIDR */ readonly tgwSubnet2Cidr?: CfnCloudGuardQsModulePropsParametersTgwSubnet2Cidr; /** * CIDR block for TGW subnet 3 located in Availability Zone 3. Default: 10.0.32.0/24 * * @schema CfnCloudGuardQsModulePropsParameters#TgwSubnet3CIDR */ readonly tgwSubnet3Cidr?: CfnCloudGuardQsModulePropsParametersTgwSubnet3Cidr; /** * CIDR block for TGW subnet 4 located in Availability Zone 4. Default: 10.0.42.0/24 * * @schema CfnCloudGuardQsModulePropsParameters#TgwSubnet4CIDR */ readonly tgwSubnet4Cidr?: CfnCloudGuardQsModulePropsParametersTgwSubnet4Cidr; /** * Port for the ELB. Default: 8080 * * @schema CfnCloudGuardQsModulePropsParameters#ELBPort */ readonly elbPort?: CfnCloudGuardQsModulePropsParametersElbPort; /** * Allocate an elastic IP for the Management. Default: true * * @schema CfnCloudGuardQsModulePropsParameters#AllocatePublicAddress */ readonly allocatePublicAddress?: CfnCloudGuardQsModulePropsParametersAllocatePublicAddress; /** * IAM role to attach to the instance profile of the Management Server. Default: Create with read permissions. Allowed values: None (configure later), Use existing (specify an existing IAM role name), Create with assume role permissions (specify an STS role ARN), Create with read permissions, Create with read-write permissions * * @schema CfnCloudGuardQsModulePropsParameters#ManagementPermissions */ readonly managementPermissions?: CfnCloudGuardQsModulePropsParametersManagementPermissions; /** * Select 'Over the internet' if any of the gateways you wish to manage are not directly accessed via their private IP address. Default: 'Locally managed'. Allowed values: Locally managed, Over the internet * * @schema CfnCloudGuardQsModulePropsParameters#GatewayManagement */ readonly gatewayManagement?: CfnCloudGuardQsModulePropsParametersGatewayManagement; /** * Mandatory only if deploying a secondary Management Server, the Secure Internal Communication key creates trusted connections between Check Point components. Choose a random string consisting of at least 8 alphanumeric characters * * @schema CfnCloudGuardQsModulePropsParameters#ManagementSICKey */ readonly managementSicKey?: CfnCloudGuardQsModulePropsParametersManagementSicKey; /** * A predefined IAM role to attach to the instance profile. Ignored if IAM role is not set to 'Use existing' * * @schema CfnCloudGuardQsModulePropsParameters#ManagementPredefinedRole */ readonly managementPredefinedRole?: CfnCloudGuardQsModulePropsParametersManagementPredefinedRole; /** * (optional). Default: 169.254.169.123 * * @schema CfnCloudGuardQsModulePropsParameters#NTPPrimary */ readonly ntpPrimary?: CfnCloudGuardQsModulePropsParametersNtpPrimary; /** * (optional). Default: 0.pool.ntp.org * * @schema CfnCloudGuardQsModulePropsParameters#NTPSecondary */ readonly ntpSecondary?: CfnCloudGuardQsModulePropsParametersNtpSecondary; /** * (optional). Default: mgmt-aws * * @schema CfnCloudGuardQsModulePropsParameters#ManagementHostname */ readonly managementHostname?: CfnCloudGuardQsModulePropsParametersManagementHostname; /** * Determines if this is the primary Management Server or not. Default: true * * @schema CfnCloudGuardQsModulePropsParameters#PrimaryManagement */ readonly primaryManagement?: CfnCloudGuardQsModulePropsParametersPrimaryManagement; /** * EBS Volume size of the management server * * @schema CfnCloudGuardQsModulePropsParameters#ManagementStackVolumeSize */ readonly managementStackVolumeSize?: CfnCloudGuardQsModulePropsParametersManagementStackVolumeSize; /** * Change the admin shell to enable advanced command line configuration. Default: /etc/cli.sh. Allowed values: /etc/cli.sh, /bin/bash, /bin/csh, /bin/tcsh * * @schema CfnCloudGuardQsModulePropsParameters#ShellManagementStack */ readonly shellManagementStack?: CfnCloudGuardQsModulePropsParametersShellManagementStack; /** * The Elasitc Load Balancer Type. Default: none. Allowed values: none, internal, internet-facing * * @schema CfnCloudGuardQsModulePropsParameters#ELBType */ readonly elbType?: CfnCloudGuardQsModulePropsParametersElbType; /** * A list of Target Groups to associate with the Auto Scaling group (comma separated list of ARNs, without spaces) (optional) * * @schema CfnCloudGuardQsModulePropsParameters#GatewaysTargetGroups */ readonly gatewaysTargetGroups?: CfnCloudGuardQsModulePropsParametersGatewaysTargetGroups; /** * Determines if the gateways are provisioned using their private or public address. Default: private. Allowed values: private, public * * @schema CfnCloudGuardQsModulePropsParameters#ControlGatewayOverPrivateOrPublicAddress */ readonly controlGatewayOverPrivateOrPublicAddress?: CfnCloudGuardQsModulePropsParametersControlGatewayOverPrivateOrPublicAddress; /** * EBS Volume size of the security gateway server * * @schema CfnCloudGuardQsModulePropsParameters#SecurityGatewayVolumeSize */ readonly securityGatewayVolumeSize?: CfnCloudGuardQsModulePropsParametersSecurityGatewayVolumeSize; /** * Allow clients only from this network to communicate with the Web Servers. Default: 0.0.0.0/0 * * @schema CfnCloudGuardQsModulePropsParameters#ELBClients */ readonly elbClients?: CfnCloudGuardQsModulePropsParametersElbClients; /** * Change the admin shell to enable advanced command line configuration. Default: /etc/cli.sh. Allowed Values: /etc/cli.sh /bin/bash /bin/csh /bin/tcsh * * @schema CfnCloudGuardQsModulePropsParameters#ShellSecurityGatewayStack */ readonly shellSecurityGatewayStack?: CfnCloudGuardQsModulePropsParametersShellSecurityGatewayStack; /** * IAM Permissions for the management server. Default: Create with read permissions. Allowed values: Create with read permissions Create with read-write permissions Create with assume role permissions (specify an STS role ARN) * * @schema CfnCloudGuardQsModulePropsParameters#Permissions */ readonly permissions?: CfnCloudGuardQsModulePropsParametersPermissions; /** * The IAM role will be able to assume these STS Roles (comma separated list of ARNs, without spaces) * * @schema CfnCloudGuardQsModulePropsParameters#STSRoles */ readonly stsRoles?: CfnCloudGuardQsModulePropsParametersStsRoles; /** * A 12 digits number that represents the ID of a trusted account. IAM users in this account will be able assume the IAM role and receive the permissions attached to it. * * @schema CfnCloudGuardQsModulePropsParameters#TrustedAccount */ readonly trustedAccount?: CfnCloudGuardQsModulePropsParametersTrustedAccount; /** * An optional list of Target Groups to associate with the Auto Scaling group (comma separated list of ARNs, without spaces) * * @schema CfnCloudGuardQsModulePropsParameters#ServersTargetGroups */ readonly serversTargetGroups?: CfnCloudGuardQsModulePropsParametersServersTargetGroups; /** * The ID of Security Group from which access will be allowed to the instances in this Auto Scaling group * * @schema CfnCloudGuardQsModulePropsParameters#SourceSecurityGroup */ readonly sourceSecurityGroup?: CfnCloudGuardQsModulePropsParametersSourceSecurityGroup; /** * The minimal number of servers in the Auto Scaling group. Default: 2 * * @schema CfnCloudGuardQsModulePropsParameters#ServersMinSize */ readonly serversMinSize?: CfnCloudGuardQsModulePropsParametersServersMinSize; /** * The maximal number of servers in the Auto Scaling group. Default: 10 * * @schema CfnCloudGuardQsModulePropsParameters#ServersMaxSize */ readonly serversMaxSize?: CfnCloudGuardQsModulePropsParametersServersMaxSize; /** * The servers name tag. Default: Server * * @schema CfnCloudGuardQsModulePropsParameters#ServerName */ readonly serverName?: CfnCloudGuardQsModulePropsParametersServerName; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParameters' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParameters(obj: CfnCloudGuardQsModulePropsParameters | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'AvailabilityZones': toJson_CfnCloudGuardQsModulePropsParametersAvailabilityZones(obj.availabilityZones), 'NumberOfAZs': toJson_CfnCloudGuardQsModulePropsParametersNumberOfAZs(obj.numberOfAZs), 'VPCCIDR': toJson_CfnCloudGuardQsModulePropsParametersVpccidr(obj.vpccidr), 'PublicSubnet1CIDR': toJson_CfnCloudGuardQsModulePropsParametersPublicSubnet1Cidr(obj.publicSubnet1Cidr), 'PublicSubnet2CIDR': toJson_CfnCloudGuardQsModulePropsParametersPublicSubnet2Cidr(obj.publicSubnet2Cidr), 'PublicSubnet3CIDR': toJson_CfnCloudGuardQsModulePropsParametersPublicSubnet3Cidr(obj.publicSubnet3Cidr), 'PublicSubnet4CIDR': toJson_CfnCloudGuardQsModulePropsParametersPublicSubnet4Cidr(obj.publicSubnet4Cidr), 'PrivateSubnet1CIDR': toJson_CfnCloudGuardQsModulePropsParametersPrivateSubnet1Cidr(obj.privateSubnet1Cidr), 'PrivateSubnet2CIDR': toJson_CfnCloudGuardQsModulePropsParametersPrivateSubnet2Cidr(obj.privateSubnet2Cidr), 'PrivateSubnet3CIDR': toJson_CfnCloudGuardQsModulePropsParametersPrivateSubnet3Cidr(obj.privateSubnet3Cidr), 'PrivateSubnet4CIDR': toJson_CfnCloudGuardQsModulePropsParametersPrivateSubnet4Cidr(obj.privateSubnet4Cidr), 'KeyName': toJson_CfnCloudGuardQsModulePropsParametersKeyName(obj.keyName), 'EnableVolumeEncryption': toJson_CfnCloudGuardQsModulePropsParametersEnableVolumeEncryption(obj.enableVolumeEncryption), 'EnableInstanceConnect': toJson_CfnCloudGuardQsModulePropsParametersEnableInstanceConnect(obj.enableInstanceConnect), 'AllowUploadDownload': toJson_CfnCloudGuardQsModulePropsParametersAllowUploadDownload(obj.allowUploadDownload), 'ProvisionTag': toJson_CfnCloudGuardQsModulePropsParametersProvisionTag(obj.provisionTag), 'LoadBalancersType': toJson_CfnCloudGuardQsModulePropsParametersLoadBalancersType(obj.loadBalancersType), 'ALBProtocol': toJson_CfnCloudGuardQsModulePropsParametersAlbProtocol(obj.albProtocol), 'NLBProtocol': toJson_CfnCloudGuardQsModulePropsParametersNlbProtocol(obj.nlbProtocol), 'Certificate': toJson_CfnCloudGuardQsModulePropsParametersCertificate(obj.certificate), 'ServicePort': toJson_CfnCloudGuardQsModulePropsParametersServicePort(obj.servicePort), 'AdminEmail': toJson_CfnCloudGuardQsModulePropsParametersAdminEmail(obj.adminEmail), 'GatewayInstanceType': toJson_CfnCloudGuardQsModulePropsParametersGatewayInstanceType(obj.gatewayInstanceType), 'GatewaysMinSize': toJson_CfnCloudGuardQsModulePropsParametersGatewaysMinSize(obj.gatewaysMinSize), 'GatewaysMaxSize': toJson_CfnCloudGuardQsModulePropsParametersGatewaysMaxSize(obj.gatewaysMaxSize), 'GatewayVersion': toJson_CfnCloudGuardQsModulePropsParametersGatewayVersion(obj.gatewayVersion), 'GatewayPasswordHash': toJson_CfnCloudGuardQsModulePropsParametersGatewayPasswordHash(obj.gatewayPasswordHash), 'GatewaySICKey': toJson_CfnCloudGuardQsModulePropsParametersGatewaySicKey(obj.gatewaySicKey), 'CloudWatch': toJson_CfnCloudGuardQsModulePropsParametersCloudWatch(obj.cloudWatch), 'ManagementDeploy': toJson_CfnCloudGuardQsModulePropsParametersManagementDeploy(obj.managementDeploy), 'ManagementInstanceType': toJson_CfnCloudGuardQsModulePropsParametersManagementInstanceType(obj.managementInstanceType), 'ManagementVersion': toJson_CfnCloudGuardQsModulePropsParametersManagementVersion(obj.managementVersion), 'ManagementPasswordHash': toJson_CfnCloudGuardQsModulePropsParametersManagementPasswordHash(obj.managementPasswordHash), 'GatewaysPolicy': toJson_CfnCloudGuardQsModulePropsParametersGatewaysPolicy(obj.gatewaysPolicy), 'GatewaysBlades': toJson_CfnCloudGuardQsModulePropsParametersGatewaysBlades(obj.gatewaysBlades), 'AdminCIDR': toJson_CfnCloudGuardQsModulePropsParametersAdminCidr(obj.adminCidr), 'GatewaysAddresses': toJson_CfnCloudGuardQsModulePropsParametersGatewaysAddresses(obj.gatewaysAddresses), 'ServersDeploy': toJson_CfnCloudGuardQsModulePropsParametersServersDeploy(obj.serversDeploy), 'ServerInstanceType': toJson_CfnCloudGuardQsModulePropsParametersServerInstanceType(obj.serverInstanceType), 'ServerAMI': toJson_CfnCloudGuardQsModulePropsParametersServerAmi(obj.serverAmi), 'CreatePrivateSubnets': toJson_CfnCloudGuardQsModulePropsParametersCreatePrivateSubnets(obj.createPrivateSubnets), 'CreateTgwSubnets': toJson_CfnCloudGuardQsModulePropsParametersCreateTgwSubnets(obj.createTgwSubnets), 'TgwSubnet1CIDR': toJson_CfnCloudGuardQsModulePropsParametersTgwSubnet1Cidr(obj.tgwSubnet1Cidr), 'TgwSubnet2CIDR': toJson_CfnCloudGuardQsModulePropsParametersTgwSubnet2Cidr(obj.tgwSubnet2Cidr), 'TgwSubnet3CIDR': toJson_CfnCloudGuardQsModulePropsParametersTgwSubnet3Cidr(obj.tgwSubnet3Cidr), 'TgwSubnet4CIDR': toJson_CfnCloudGuardQsModulePropsParametersTgwSubnet4Cidr(obj.tgwSubnet4Cidr), 'ELBPort': toJson_CfnCloudGuardQsModulePropsParametersElbPort(obj.elbPort), 'AllocatePublicAddress': toJson_CfnCloudGuardQsModulePropsParametersAllocatePublicAddress(obj.allocatePublicAddress), 'ManagementPermissions': toJson_CfnCloudGuardQsModulePropsParametersManagementPermissions(obj.managementPermissions), 'GatewayManagement': toJson_CfnCloudGuardQsModulePropsParametersGatewayManagement(obj.gatewayManagement), 'ManagementSICKey': toJson_CfnCloudGuardQsModulePropsParametersManagementSicKey(obj.managementSicKey), 'ManagementPredefinedRole': toJson_CfnCloudGuardQsModulePropsParametersManagementPredefinedRole(obj.managementPredefinedRole), 'NTPPrimary': toJson_CfnCloudGuardQsModulePropsParametersNtpPrimary(obj.ntpPrimary), 'NTPSecondary': toJson_CfnCloudGuardQsModulePropsParametersNtpSecondary(obj.ntpSecondary), 'ManagementHostname': toJson_CfnCloudGuardQsModulePropsParametersManagementHostname(obj.managementHostname), 'PrimaryManagement': toJson_CfnCloudGuardQsModulePropsParametersPrimaryManagement(obj.primaryManagement), 'ManagementStackVolumeSize': toJson_CfnCloudGuardQsModulePropsParametersManagementStackVolumeSize(obj.managementStackVolumeSize), 'ShellManagementStack': toJson_CfnCloudGuardQsModulePropsParametersShellManagementStack(obj.shellManagementStack), 'ELBType': toJson_CfnCloudGuardQsModulePropsParametersElbType(obj.elbType), 'GatewaysTargetGroups': toJson_CfnCloudGuardQsModulePropsParametersGatewaysTargetGroups(obj.gatewaysTargetGroups), 'ControlGatewayOverPrivateOrPublicAddress': toJson_CfnCloudGuardQsModulePropsParametersControlGatewayOverPrivateOrPublicAddress(obj.controlGatewayOverPrivateOrPublicAddress), 'SecurityGatewayVolumeSize': toJson_CfnCloudGuardQsModulePropsParametersSecurityGatewayVolumeSize(obj.securityGatewayVolumeSize), 'ELBClients': toJson_CfnCloudGuardQsModulePropsParametersElbClients(obj.elbClients), 'ShellSecurityGatewayStack': toJson_CfnCloudGuardQsModulePropsParametersShellSecurityGatewayStack(obj.shellSecurityGatewayStack), 'Permissions': toJson_CfnCloudGuardQsModulePropsParametersPermissions(obj.permissions), 'STSRoles': toJson_CfnCloudGuardQsModulePropsParametersStsRoles(obj.stsRoles), 'TrustedAccount': toJson_CfnCloudGuardQsModulePropsParametersTrustedAccount(obj.trustedAccount), 'ServersTargetGroups': toJson_CfnCloudGuardQsModulePropsParametersServersTargetGroups(obj.serversTargetGroups), 'SourceSecurityGroup': toJson_CfnCloudGuardQsModulePropsParametersSourceSecurityGroup(obj.sourceSecurityGroup), 'ServersMinSize': toJson_CfnCloudGuardQsModulePropsParametersServersMinSize(obj.serversMinSize), 'ServersMaxSize': toJson_CfnCloudGuardQsModulePropsParametersServersMaxSize(obj.serversMaxSize), 'ServerName': toJson_CfnCloudGuardQsModulePropsParametersServerName(obj.serverName), }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResources */ export interface CfnCloudGuardQsModulePropsResources { /** * @schema CfnCloudGuardQsModulePropsResources#VPC */ readonly vpc?: CfnCloudGuardQsModulePropsResourcesVpc; /** * @schema CfnCloudGuardQsModulePropsResources#InternetGateway */ readonly internetGateway?: CfnCloudGuardQsModulePropsResourcesInternetGateway; /** * @schema CfnCloudGuardQsModulePropsResources#VPCGatewayAttachment */ readonly vpcGatewayAttachment?: CfnCloudGuardQsModulePropsResourcesVpcGatewayAttachment; /** * @schema CfnCloudGuardQsModulePropsResources#PublicSubnet1 */ readonly publicSubnet1?: CfnCloudGuardQsModulePropsResourcesPublicSubnet1; /** * @schema CfnCloudGuardQsModulePropsResources#PublicSubnet2 */ readonly publicSubnet2?: CfnCloudGuardQsModulePropsResourcesPublicSubnet2; /** * @schema CfnCloudGuardQsModulePropsResources#PublicSubnet3 */ readonly publicSubnet3?: CfnCloudGuardQsModulePropsResourcesPublicSubnet3; /** * @schema CfnCloudGuardQsModulePropsResources#PublicSubnet4 */ readonly publicSubnet4?: CfnCloudGuardQsModulePropsResourcesPublicSubnet4; /** * @schema CfnCloudGuardQsModulePropsResources#PublicSubnetRouteTable */ readonly publicSubnetRouteTable?: CfnCloudGuardQsModulePropsResourcesPublicSubnetRouteTable; /** * @schema CfnCloudGuardQsModulePropsResources#PublicSubnetRoute */ readonly publicSubnetRoute?: CfnCloudGuardQsModulePropsResourcesPublicSubnetRoute; /** * @schema CfnCloudGuardQsModulePropsResources#PublicSubnet1RouteTableAssociation */ readonly publicSubnet1RouteTableAssociation?: CfnCloudGuardQsModulePropsResourcesPublicSubnet1RouteTableAssociation; /** * @schema CfnCloudGuardQsModulePropsResources#PublicSubnet2RouteTableAssociation */ readonly publicSubnet2RouteTableAssociation?: CfnCloudGuardQsModulePropsResourcesPublicSubnet2RouteTableAssociation; /** * @schema CfnCloudGuardQsModulePropsResources#PublicSubnet3RouteTableAssociation */ readonly publicSubnet3RouteTableAssociation?: CfnCloudGuardQsModulePropsResourcesPublicSubnet3RouteTableAssociation; /** * @schema CfnCloudGuardQsModulePropsResources#PublicSubnet4RouteTableAssociation */ readonly publicSubnet4RouteTableAssociation?: CfnCloudGuardQsModulePropsResourcesPublicSubnet4RouteTableAssociation; /** * @schema CfnCloudGuardQsModulePropsResources#PrivateSubnet1 */ readonly privateSubnet1?: CfnCloudGuardQsModulePropsResourcesPrivateSubnet1; /** * @schema CfnCloudGuardQsModulePropsResources#PrivateSubnet2 */ readonly privateSubnet2?: CfnCloudGuardQsModulePropsResourcesPrivateSubnet2; /** * @schema CfnCloudGuardQsModulePropsResources#PrivateSubnet3 */ readonly privateSubnet3?: CfnCloudGuardQsModulePropsResourcesPrivateSubnet3; /** * @schema CfnCloudGuardQsModulePropsResources#PrivateSubnet4 */ readonly privateSubnet4?: CfnCloudGuardQsModulePropsResourcesPrivateSubnet4; /** * @schema CfnCloudGuardQsModulePropsResources#TgwSubnet1 */ readonly tgwSubnet1?: CfnCloudGuardQsModulePropsResourcesTgwSubnet1; /** * @schema CfnCloudGuardQsModulePropsResources#TgwSubnet2 */ readonly tgwSubnet2?: CfnCloudGuardQsModulePropsResourcesTgwSubnet2; /** * @schema CfnCloudGuardQsModulePropsResources#TgwSubnet3 */ readonly tgwSubnet3?: CfnCloudGuardQsModulePropsResourcesTgwSubnet3; /** * @schema CfnCloudGuardQsModulePropsResources#TgwSubnet4 */ readonly tgwSubnet4?: CfnCloudGuardQsModulePropsResourcesTgwSubnet4; /** * @schema CfnCloudGuardQsModulePropsResources#ExternalALBSecurityGroup */ readonly externalAlbSecurityGroup?: CfnCloudGuardQsModulePropsResourcesExternalAlbSecurityGroup; /** * @schema CfnCloudGuardQsModulePropsResources#ExternalLoadBalancer */ readonly externalLoadBalancer?: CfnCloudGuardQsModulePropsResourcesExternalLoadBalancer; /** * @schema CfnCloudGuardQsModulePropsResources#ExternalLBTargetGroup */ readonly externalLbTargetGroup?: CfnCloudGuardQsModulePropsResourcesExternalLbTargetGroup; /** * @schema CfnCloudGuardQsModulePropsResources#ExternalLBListener */ readonly externalLbListener?: CfnCloudGuardQsModulePropsResourcesExternalLbListener; /** * @schema CfnCloudGuardQsModulePropsResources#ChkpGatewayRole */ readonly chkpGatewayRole?: CfnCloudGuardQsModulePropsResourcesChkpGatewayRole; /** * @schema CfnCloudGuardQsModulePropsResources#InstanceProfileSecurityGatewayStack */ readonly instanceProfileSecurityGatewayStack?: CfnCloudGuardQsModulePropsResourcesInstanceProfileSecurityGatewayStack; /** * @schema CfnCloudGuardQsModulePropsResources#NotificationTopicSecurityGatewayStack */ readonly notificationTopicSecurityGatewayStack?: CfnCloudGuardQsModulePropsResourcesNotificationTopicSecurityGatewayStack; /** * @schema CfnCloudGuardQsModulePropsResources#ElasticLoadBalancer */ readonly elasticLoadBalancer?: CfnCloudGuardQsModulePropsResourcesElasticLoadBalancer; /** * @schema CfnCloudGuardQsModulePropsResources#PermissiveSecurityGroup */ readonly permissiveSecurityGroup?: CfnCloudGuardQsModulePropsResourcesPermissiveSecurityGroup; /** * @schema CfnCloudGuardQsModulePropsResources#GatewayGroup */ readonly gatewayGroup?: CfnCloudGuardQsModulePropsResourcesGatewayGroup; /** * @schema CfnCloudGuardQsModulePropsResources#GatewayLaunchConfig */ readonly gatewayLaunchConfig?: CfnCloudGuardQsModulePropsResourcesGatewayLaunchConfig; /** * @schema CfnCloudGuardQsModulePropsResources#GatewayScaleUpPolicy */ readonly gatewayScaleUpPolicy?: CfnCloudGuardQsModulePropsResourcesGatewayScaleUpPolicy; /** * @schema CfnCloudGuardQsModulePropsResources#GatewayScaleDownPolicy */ readonly gatewayScaleDownPolicy?: CfnCloudGuardQsModulePropsResourcesGatewayScaleDownPolicy; /** * @schema CfnCloudGuardQsModulePropsResources#CPUAlarmHighSecurityGatewayStack */ readonly cpuAlarmHighSecurityGatewayStack?: CfnCloudGuardQsModulePropsResourcesCpuAlarmHighSecurityGatewayStack; /** * @schema CfnCloudGuardQsModulePropsResources#CPUAlarmLowSecurityGatewayStack */ readonly cpuAlarmLowSecurityGatewayStack?: CfnCloudGuardQsModulePropsResourcesCpuAlarmLowSecurityGatewayStack; /** * @schema CfnCloudGuardQsModulePropsResources#ELBSecurityGroup */ readonly elbSecurityGroup?: CfnCloudGuardQsModulePropsResourcesElbSecurityGroup; /** * @schema CfnCloudGuardQsModulePropsResources#ManagementReadyHandle */ readonly managementReadyHandle?: CfnCloudGuardQsModulePropsResourcesManagementReadyHandle; /** * @schema CfnCloudGuardQsModulePropsResources#ManagementReadyCondition */ readonly managementReadyCondition?: CfnCloudGuardQsModulePropsResourcesManagementReadyCondition; /** * @schema CfnCloudGuardQsModulePropsResources#ManagementSecurityGroup */ readonly managementSecurityGroup?: CfnCloudGuardQsModulePropsResourcesManagementSecurityGroup; /** * @schema CfnCloudGuardQsModulePropsResources#CMEIAMRole */ readonly cmeiamRole?: CfnCloudGuardQsModulePropsResourcesCmeiamRole; /** * @schema CfnCloudGuardQsModulePropsResources#InstanceProfile */ readonly instanceProfile?: CfnCloudGuardQsModulePropsResourcesInstanceProfile; /** * @schema CfnCloudGuardQsModulePropsResources#ManagementInstance */ readonly managementInstance?: CfnCloudGuardQsModulePropsResourcesManagementInstance; /** * @schema CfnCloudGuardQsModulePropsResources#PublicAddress */ readonly publicAddress?: CfnCloudGuardQsModulePropsResourcesPublicAddress; /** * @schema CfnCloudGuardQsModulePropsResources#AddressAssoc */ readonly addressAssoc?: CfnCloudGuardQsModulePropsResourcesAddressAssoc; /** * @schema CfnCloudGuardQsModulePropsResources#InternalSecurityGroup */ readonly internalSecurityGroup?: CfnCloudGuardQsModulePropsResourcesInternalSecurityGroup; /** * @schema CfnCloudGuardQsModulePropsResources#InternalLBTargetGroup */ readonly internalLbTargetGroup?: CfnCloudGuardQsModulePropsResourcesInternalLbTargetGroup; /** * @schema CfnCloudGuardQsModulePropsResources#InternalLoadBalancer */ readonly internalLoadBalancer?: CfnCloudGuardQsModulePropsResourcesInternalLoadBalancer; /** * @schema CfnCloudGuardQsModulePropsResources#InternalLBListener */ readonly internalLbListener?: CfnCloudGuardQsModulePropsResourcesInternalLbListener; /** * @schema CfnCloudGuardQsModulePropsResources#NotificationTopic */ readonly notificationTopic?: CfnCloudGuardQsModulePropsResourcesNotificationTopic; /** * @schema CfnCloudGuardQsModulePropsResources#ServersSecurityGroup */ readonly serversSecurityGroup?: CfnCloudGuardQsModulePropsResourcesServersSecurityGroup; /** * @schema CfnCloudGuardQsModulePropsResources#ServersLaunchConfiguration */ readonly serversLaunchConfiguration?: CfnCloudGuardQsModulePropsResourcesServersLaunchConfiguration; /** * @schema CfnCloudGuardQsModulePropsResources#ServersGroup */ readonly serversGroup?: CfnCloudGuardQsModulePropsResourcesServersGroup; /** * @schema CfnCloudGuardQsModulePropsResources#ScaleUpPolicy */ readonly scaleUpPolicy?: CfnCloudGuardQsModulePropsResourcesScaleUpPolicy; /** * @schema CfnCloudGuardQsModulePropsResources#ScaleDownPolicy */ readonly scaleDownPolicy?: CfnCloudGuardQsModulePropsResourcesScaleDownPolicy; /** * @schema CfnCloudGuardQsModulePropsResources#CPUAlarmHigh */ readonly cpuAlarmHigh?: CfnCloudGuardQsModulePropsResourcesCpuAlarmHigh; /** * @schema CfnCloudGuardQsModulePropsResources#CPUAlarmLow */ readonly cpuAlarmLow?: CfnCloudGuardQsModulePropsResourcesCpuAlarmLow; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResources' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResources(obj: CfnCloudGuardQsModulePropsResources | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'VPC': toJson_CfnCloudGuardQsModulePropsResourcesVpc(obj.vpc), 'InternetGateway': toJson_CfnCloudGuardQsModulePropsResourcesInternetGateway(obj.internetGateway), 'VPCGatewayAttachment': toJson_CfnCloudGuardQsModulePropsResourcesVpcGatewayAttachment(obj.vpcGatewayAttachment), 'PublicSubnet1': toJson_CfnCloudGuardQsModulePropsResourcesPublicSubnet1(obj.publicSubnet1), 'PublicSubnet2': toJson_CfnCloudGuardQsModulePropsResourcesPublicSubnet2(obj.publicSubnet2), 'PublicSubnet3': toJson_CfnCloudGuardQsModulePropsResourcesPublicSubnet3(obj.publicSubnet3), 'PublicSubnet4': toJson_CfnCloudGuardQsModulePropsResourcesPublicSubnet4(obj.publicSubnet4), 'PublicSubnetRouteTable': toJson_CfnCloudGuardQsModulePropsResourcesPublicSubnetRouteTable(obj.publicSubnetRouteTable), 'PublicSubnetRoute': toJson_CfnCloudGuardQsModulePropsResourcesPublicSubnetRoute(obj.publicSubnetRoute), 'PublicSubnet1RouteTableAssociation': toJson_CfnCloudGuardQsModulePropsResourcesPublicSubnet1RouteTableAssociation(obj.publicSubnet1RouteTableAssociation), 'PublicSubnet2RouteTableAssociation': toJson_CfnCloudGuardQsModulePropsResourcesPublicSubnet2RouteTableAssociation(obj.publicSubnet2RouteTableAssociation), 'PublicSubnet3RouteTableAssociation': toJson_CfnCloudGuardQsModulePropsResourcesPublicSubnet3RouteTableAssociation(obj.publicSubnet3RouteTableAssociation), 'PublicSubnet4RouteTableAssociation': toJson_CfnCloudGuardQsModulePropsResourcesPublicSubnet4RouteTableAssociation(obj.publicSubnet4RouteTableAssociation), 'PrivateSubnet1': toJson_CfnCloudGuardQsModulePropsResourcesPrivateSubnet1(obj.privateSubnet1), 'PrivateSubnet2': toJson_CfnCloudGuardQsModulePropsResourcesPrivateSubnet2(obj.privateSubnet2), 'PrivateSubnet3': toJson_CfnCloudGuardQsModulePropsResourcesPrivateSubnet3(obj.privateSubnet3), 'PrivateSubnet4': toJson_CfnCloudGuardQsModulePropsResourcesPrivateSubnet4(obj.privateSubnet4), 'TgwSubnet1': toJson_CfnCloudGuardQsModulePropsResourcesTgwSubnet1(obj.tgwSubnet1), 'TgwSubnet2': toJson_CfnCloudGuardQsModulePropsResourcesTgwSubnet2(obj.tgwSubnet2), 'TgwSubnet3': toJson_CfnCloudGuardQsModulePropsResourcesTgwSubnet3(obj.tgwSubnet3), 'TgwSubnet4': toJson_CfnCloudGuardQsModulePropsResourcesTgwSubnet4(obj.tgwSubnet4), 'ExternalALBSecurityGroup': toJson_CfnCloudGuardQsModulePropsResourcesExternalAlbSecurityGroup(obj.externalAlbSecurityGroup), 'ExternalLoadBalancer': toJson_CfnCloudGuardQsModulePropsResourcesExternalLoadBalancer(obj.externalLoadBalancer), 'ExternalLBTargetGroup': toJson_CfnCloudGuardQsModulePropsResourcesExternalLbTargetGroup(obj.externalLbTargetGroup), 'ExternalLBListener': toJson_CfnCloudGuardQsModulePropsResourcesExternalLbListener(obj.externalLbListener), 'ChkpGatewayRole': toJson_CfnCloudGuardQsModulePropsResourcesChkpGatewayRole(obj.chkpGatewayRole), 'InstanceProfileSecurityGatewayStack': toJson_CfnCloudGuardQsModulePropsResourcesInstanceProfileSecurityGatewayStack(obj.instanceProfileSecurityGatewayStack), 'NotificationTopicSecurityGatewayStack': toJson_CfnCloudGuardQsModulePropsResourcesNotificationTopicSecurityGatewayStack(obj.notificationTopicSecurityGatewayStack), 'ElasticLoadBalancer': toJson_CfnCloudGuardQsModulePropsResourcesElasticLoadBalancer(obj.elasticLoadBalancer), 'PermissiveSecurityGroup': toJson_CfnCloudGuardQsModulePropsResourcesPermissiveSecurityGroup(obj.permissiveSecurityGroup), 'GatewayGroup': toJson_CfnCloudGuardQsModulePropsResourcesGatewayGroup(obj.gatewayGroup), 'GatewayLaunchConfig': toJson_CfnCloudGuardQsModulePropsResourcesGatewayLaunchConfig(obj.gatewayLaunchConfig), 'GatewayScaleUpPolicy': toJson_CfnCloudGuardQsModulePropsResourcesGatewayScaleUpPolicy(obj.gatewayScaleUpPolicy), 'GatewayScaleDownPolicy': toJson_CfnCloudGuardQsModulePropsResourcesGatewayScaleDownPolicy(obj.gatewayScaleDownPolicy), 'CPUAlarmHighSecurityGatewayStack': toJson_CfnCloudGuardQsModulePropsResourcesCpuAlarmHighSecurityGatewayStack(obj.cpuAlarmHighSecurityGatewayStack), 'CPUAlarmLowSecurityGatewayStack': toJson_CfnCloudGuardQsModulePropsResourcesCpuAlarmLowSecurityGatewayStack(obj.cpuAlarmLowSecurityGatewayStack), 'ELBSecurityGroup': toJson_CfnCloudGuardQsModulePropsResourcesElbSecurityGroup(obj.elbSecurityGroup), 'ManagementReadyHandle': toJson_CfnCloudGuardQsModulePropsResourcesManagementReadyHandle(obj.managementReadyHandle), 'ManagementReadyCondition': toJson_CfnCloudGuardQsModulePropsResourcesManagementReadyCondition(obj.managementReadyCondition), 'ManagementSecurityGroup': toJson_CfnCloudGuardQsModulePropsResourcesManagementSecurityGroup(obj.managementSecurityGroup), 'CMEIAMRole': toJson_CfnCloudGuardQsModulePropsResourcesCmeiamRole(obj.cmeiamRole), 'InstanceProfile': toJson_CfnCloudGuardQsModulePropsResourcesInstanceProfile(obj.instanceProfile), 'ManagementInstance': toJson_CfnCloudGuardQsModulePropsResourcesManagementInstance(obj.managementInstance), 'PublicAddress': toJson_CfnCloudGuardQsModulePropsResourcesPublicAddress(obj.publicAddress), 'AddressAssoc': toJson_CfnCloudGuardQsModulePropsResourcesAddressAssoc(obj.addressAssoc), 'InternalSecurityGroup': toJson_CfnCloudGuardQsModulePropsResourcesInternalSecurityGroup(obj.internalSecurityGroup), 'InternalLBTargetGroup': toJson_CfnCloudGuardQsModulePropsResourcesInternalLbTargetGroup(obj.internalLbTargetGroup), 'InternalLoadBalancer': toJson_CfnCloudGuardQsModulePropsResourcesInternalLoadBalancer(obj.internalLoadBalancer), 'InternalLBListener': toJson_CfnCloudGuardQsModulePropsResourcesInternalLbListener(obj.internalLbListener), 'NotificationTopic': toJson_CfnCloudGuardQsModulePropsResourcesNotificationTopic(obj.notificationTopic), 'ServersSecurityGroup': toJson_CfnCloudGuardQsModulePropsResourcesServersSecurityGroup(obj.serversSecurityGroup), 'ServersLaunchConfiguration': toJson_CfnCloudGuardQsModulePropsResourcesServersLaunchConfiguration(obj.serversLaunchConfiguration), 'ServersGroup': toJson_CfnCloudGuardQsModulePropsResourcesServersGroup(obj.serversGroup), 'ScaleUpPolicy': toJson_CfnCloudGuardQsModulePropsResourcesScaleUpPolicy(obj.scaleUpPolicy), 'ScaleDownPolicy': toJson_CfnCloudGuardQsModulePropsResourcesScaleDownPolicy(obj.scaleDownPolicy), 'CPUAlarmHigh': toJson_CfnCloudGuardQsModulePropsResourcesCpuAlarmHigh(obj.cpuAlarmHigh), 'CPUAlarmLow': toJson_CfnCloudGuardQsModulePropsResourcesCpuAlarmLow(obj.cpuAlarmLow), }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * List of Availability Zones (AZs) to use for the subnets in the VPC. Select at least two * * @schema CfnCloudGuardQsModulePropsParametersAvailabilityZones */ export interface CfnCloudGuardQsModulePropsParametersAvailabilityZones { /** * @schema CfnCloudGuardQsModulePropsParametersAvailabilityZones#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersAvailabilityZones#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersAvailabilityZones' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersAvailabilityZones(obj: CfnCloudGuardQsModulePropsParametersAvailabilityZones | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * Number of Availability Zones to use in the VPC. This must match your selections in the list of Availability Zones parameter. Default: 2 * * @schema CfnCloudGuardQsModulePropsParametersNumberOfAZs */ export interface CfnCloudGuardQsModulePropsParametersNumberOfAZs { /** * @schema CfnCloudGuardQsModulePropsParametersNumberOfAZs#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersNumberOfAZs#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersNumberOfAZs' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersNumberOfAZs(obj: CfnCloudGuardQsModulePropsParametersNumberOfAZs | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * CIDR block for the VPC. Default: 10.0.0.0/16 * * @schema CfnCloudGuardQsModulePropsParametersVpccidr */ export interface CfnCloudGuardQsModulePropsParametersVpccidr { /** * @schema CfnCloudGuardQsModulePropsParametersVpccidr#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersVpccidr#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersVpccidr' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersVpccidr(obj: CfnCloudGuardQsModulePropsParametersVpccidr | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * CIDR block for public subnet 1 located in the 1st Availability Zone. If you choose to deploy a Security Management Server it will be deployed in this subnet. Default: 10.0.10.0/24 * * @schema CfnCloudGuardQsModulePropsParametersPublicSubnet1Cidr */ export interface CfnCloudGuardQsModulePropsParametersPublicSubnet1Cidr { /** * @schema CfnCloudGuardQsModulePropsParametersPublicSubnet1Cidr#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersPublicSubnet1Cidr#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersPublicSubnet1Cidr' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersPublicSubnet1Cidr(obj: CfnCloudGuardQsModulePropsParametersPublicSubnet1Cidr | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * CIDR block for public subnet 2 located in the 2nd Availability Zone. Default: 10.0.20.0/24 * * @schema CfnCloudGuardQsModulePropsParametersPublicSubnet2Cidr */ export interface CfnCloudGuardQsModulePropsParametersPublicSubnet2Cidr { /** * @schema CfnCloudGuardQsModulePropsParametersPublicSubnet2Cidr#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersPublicSubnet2Cidr#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersPublicSubnet2Cidr' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersPublicSubnet2Cidr(obj: CfnCloudGuardQsModulePropsParametersPublicSubnet2Cidr | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * CIDR block for public subnet 3 located in the 3rd Availability Zone. Default: 10.0.30.0/24 * * @schema CfnCloudGuardQsModulePropsParametersPublicSubnet3Cidr */ export interface CfnCloudGuardQsModulePropsParametersPublicSubnet3Cidr { /** * @schema CfnCloudGuardQsModulePropsParametersPublicSubnet3Cidr#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersPublicSubnet3Cidr#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersPublicSubnet3Cidr' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersPublicSubnet3Cidr(obj: CfnCloudGuardQsModulePropsParametersPublicSubnet3Cidr | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * CIDR block for public subnet 4 located in the 4th Availability Zone. Default: 10.0.40.0/24 * * @schema CfnCloudGuardQsModulePropsParametersPublicSubnet4Cidr */ export interface CfnCloudGuardQsModulePropsParametersPublicSubnet4Cidr { /** * @schema CfnCloudGuardQsModulePropsParametersPublicSubnet4Cidr#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersPublicSubnet4Cidr#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersPublicSubnet4Cidr' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersPublicSubnet4Cidr(obj: CfnCloudGuardQsModulePropsParametersPublicSubnet4Cidr | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * CIDR block for private subnet 1 located in the 1st Availability Zone. Default: 10.0.11.0/24 * * @schema CfnCloudGuardQsModulePropsParametersPrivateSubnet1Cidr */ export interface CfnCloudGuardQsModulePropsParametersPrivateSubnet1Cidr { /** * @schema CfnCloudGuardQsModulePropsParametersPrivateSubnet1Cidr#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersPrivateSubnet1Cidr#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersPrivateSubnet1Cidr' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersPrivateSubnet1Cidr(obj: CfnCloudGuardQsModulePropsParametersPrivateSubnet1Cidr | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * CIDR block for private subnet 2 located in the 2nd Availability Zone. Default: 10.0.21.0/24 * * @schema CfnCloudGuardQsModulePropsParametersPrivateSubnet2Cidr */ export interface CfnCloudGuardQsModulePropsParametersPrivateSubnet2Cidr { /** * @schema CfnCloudGuardQsModulePropsParametersPrivateSubnet2Cidr#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersPrivateSubnet2Cidr#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersPrivateSubnet2Cidr' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersPrivateSubnet2Cidr(obj: CfnCloudGuardQsModulePropsParametersPrivateSubnet2Cidr | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * CIDR block for private subnet 3 located in the 3rd Availability Zone. Default: 10.0.31.0/24 * * @schema CfnCloudGuardQsModulePropsParametersPrivateSubnet3Cidr */ export interface CfnCloudGuardQsModulePropsParametersPrivateSubnet3Cidr { /** * @schema CfnCloudGuardQsModulePropsParametersPrivateSubnet3Cidr#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersPrivateSubnet3Cidr#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersPrivateSubnet3Cidr' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersPrivateSubnet3Cidr(obj: CfnCloudGuardQsModulePropsParametersPrivateSubnet3Cidr | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * CIDR block for private subnet 4 located in the 4th Availability Zone. Default: 10.0.41.0/24 * * @schema CfnCloudGuardQsModulePropsParametersPrivateSubnet4Cidr */ export interface CfnCloudGuardQsModulePropsParametersPrivateSubnet4Cidr { /** * @schema CfnCloudGuardQsModulePropsParametersPrivateSubnet4Cidr#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersPrivateSubnet4Cidr#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersPrivateSubnet4Cidr' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersPrivateSubnet4Cidr(obj: CfnCloudGuardQsModulePropsParametersPrivateSubnet4Cidr | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * The EC2 Key Pair to allow SSH access to the instances. For more detail visit: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html * * @schema CfnCloudGuardQsModulePropsParametersKeyName */ export interface CfnCloudGuardQsModulePropsParametersKeyName { /** * @schema CfnCloudGuardQsModulePropsParametersKeyName#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersKeyName#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersKeyName' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersKeyName(obj: CfnCloudGuardQsModulePropsParametersKeyName | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * Encrypt Environment instances volume with default AWS KMS key. Default: true * * @schema CfnCloudGuardQsModulePropsParametersEnableVolumeEncryption */ export interface CfnCloudGuardQsModulePropsParametersEnableVolumeEncryption { /** * @schema CfnCloudGuardQsModulePropsParametersEnableVolumeEncryption#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersEnableVolumeEncryption#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersEnableVolumeEncryption' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersEnableVolumeEncryption(obj: CfnCloudGuardQsModulePropsParametersEnableVolumeEncryption | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * Enable SSH connection over AWS web console. Default: false * * @schema CfnCloudGuardQsModulePropsParametersEnableInstanceConnect */ export interface CfnCloudGuardQsModulePropsParametersEnableInstanceConnect { /** * @schema CfnCloudGuardQsModulePropsParametersEnableInstanceConnect#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersEnableInstanceConnect#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersEnableInstanceConnect' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersEnableInstanceConnect(obj: CfnCloudGuardQsModulePropsParametersEnableInstanceConnect | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * Automatically download Blade Contracts and other important data. Improve product experience by sending data to Check Point. Default: true * * @schema CfnCloudGuardQsModulePropsParametersAllowUploadDownload */ export interface CfnCloudGuardQsModulePropsParametersAllowUploadDownload { /** * @schema CfnCloudGuardQsModulePropsParametersAllowUploadDownload#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersAllowUploadDownload#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersAllowUploadDownload' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersAllowUploadDownload(obj: CfnCloudGuardQsModulePropsParametersAllowUploadDownload | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * The tag is used by the Security Management Server to automatically provision the Security Gateways. Must be up to 12 alphanumeric characters and unique for each Quick Start deployment. Default: quickstart * * @schema CfnCloudGuardQsModulePropsParametersProvisionTag */ export interface CfnCloudGuardQsModulePropsParametersProvisionTag { /** * @schema CfnCloudGuardQsModulePropsParametersProvisionTag#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersProvisionTag#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersProvisionTag' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersProvisionTag(obj: CfnCloudGuardQsModulePropsParametersProvisionTag | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * Use Network Load Balancer if you wish to preserve the source IP address and Application Load Balancer if you wish to perform SSL Offloading. Default: Network Load Balancer. Allowed values: Network Load Balancer, Application Load Balancer * * @schema CfnCloudGuardQsModulePropsParametersLoadBalancersType */ export interface CfnCloudGuardQsModulePropsParametersLoadBalancersType { /** * @schema CfnCloudGuardQsModulePropsParametersLoadBalancersType#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersLoadBalancersType#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersLoadBalancersType' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersLoadBalancersType(obj: CfnCloudGuardQsModulePropsParametersLoadBalancersType | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * The protocol to use on the Application Load Balancer. If Network Load Balancer was selected this section will be ignored. Default: HTTP. Allowed values: HTTP, HTTPS * * @schema CfnCloudGuardQsModulePropsParametersAlbProtocol */ export interface CfnCloudGuardQsModulePropsParametersAlbProtocol { /** * @schema CfnCloudGuardQsModulePropsParametersAlbProtocol#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersAlbProtocol#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersAlbProtocol' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersAlbProtocol(obj: CfnCloudGuardQsModulePropsParametersAlbProtocol | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * The protocol to use on the Network Load Balancer. If Application Load Balancer was selected this section will be ignored. Default: TCP. Allowed values: TCP, TLS, UDP, TCP_UDP * * @schema CfnCloudGuardQsModulePropsParametersNlbProtocol */ export interface CfnCloudGuardQsModulePropsParametersNlbProtocol { /** * @schema CfnCloudGuardQsModulePropsParametersNlbProtocol#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersNlbProtocol#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersNlbProtocol' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersNlbProtocol(obj: CfnCloudGuardQsModulePropsParametersNlbProtocol | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * Amazon Resource Name (ARN) of an HTTPS Certificate, ignored if the selected protocol is HTTP (for the ALBProtocol parameter) * * @schema CfnCloudGuardQsModulePropsParametersCertificate */ export interface CfnCloudGuardQsModulePropsParametersCertificate { /** * @schema CfnCloudGuardQsModulePropsParametersCertificate#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersCertificate#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersCertificate' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersCertificate(obj: CfnCloudGuardQsModulePropsParametersCertificate | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * The external Load Balancer listens to this port. Leave this field blank to use default ports: 80 for HTTP and 443 for HTTPS * * @schema CfnCloudGuardQsModulePropsParametersServicePort */ export interface CfnCloudGuardQsModulePropsParametersServicePort { /** * @schema CfnCloudGuardQsModulePropsParametersServicePort#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersServicePort#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersServicePort' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersServicePort(obj: CfnCloudGuardQsModulePropsParametersServicePort | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * Notifications about scaling events will be sent to this email address (optional) * * @schema CfnCloudGuardQsModulePropsParametersAdminEmail */ export interface CfnCloudGuardQsModulePropsParametersAdminEmail { /** * @schema CfnCloudGuardQsModulePropsParametersAdminEmail#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersAdminEmail#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersAdminEmail' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersAdminEmail(obj: CfnCloudGuardQsModulePropsParametersAdminEmail | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * The EC2 instance type for the Security Gateways. Default: c5.xlarge. Allowed values: c5.xlarge, c5.xlarge, c5.2xlarge, c5.4xlarge, c5.9xlarge, c5.18xlarge, c5n.large, c5n.xlarge, c5n.2xlarge, c5n.4xlarge, c5n.9xlarge, c5n.18xlarge * * @schema CfnCloudGuardQsModulePropsParametersGatewayInstanceType */ export interface CfnCloudGuardQsModulePropsParametersGatewayInstanceType { /** * @schema CfnCloudGuardQsModulePropsParametersGatewayInstanceType#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersGatewayInstanceType#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersGatewayInstanceType' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersGatewayInstanceType(obj: CfnCloudGuardQsModulePropsParametersGatewayInstanceType | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * The minimal number of Security Gateways * * @schema CfnCloudGuardQsModulePropsParametersGatewaysMinSize */ export interface CfnCloudGuardQsModulePropsParametersGatewaysMinSize { /** * @schema CfnCloudGuardQsModulePropsParametersGatewaysMinSize#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersGatewaysMinSize#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersGatewaysMinSize' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersGatewaysMinSize(obj: CfnCloudGuardQsModulePropsParametersGatewaysMinSize | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * The maximal number of Security Gateways * * @schema CfnCloudGuardQsModulePropsParametersGatewaysMaxSize */ export interface CfnCloudGuardQsModulePropsParametersGatewaysMaxSize { /** * @schema CfnCloudGuardQsModulePropsParametersGatewaysMaxSize#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersGatewaysMaxSize#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersGatewaysMaxSize' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersGatewaysMaxSize(obj: CfnCloudGuardQsModulePropsParametersGatewaysMaxSize | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * The version and license to install on the Security Gateways. Default: R80.40-PAYG-NGTP-GW. Allowed values: R80.40-BYOL-GW, R80.40-PAYG-NGTP-GW, R80.40-PAYG-NGTX-GW, R81-BYOL-GW, R81-PAYG-NGTP-GW, R81-PAYG-NGTX-GW * * @schema CfnCloudGuardQsModulePropsParametersGatewayVersion */ export interface CfnCloudGuardQsModulePropsParametersGatewayVersion { /** * @schema CfnCloudGuardQsModulePropsParametersGatewayVersion#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersGatewayVersion#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersGatewayVersion' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersGatewayVersion(obj: CfnCloudGuardQsModulePropsParametersGatewayVersion | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * Admin user's password hash (use command \\"openssl passwd -1 PASSWORD\\" to get the PASSWORD's hash) (optional) * * @schema CfnCloudGuardQsModulePropsParametersGatewayPasswordHash */ export interface CfnCloudGuardQsModulePropsParametersGatewayPasswordHash { /** * @schema CfnCloudGuardQsModulePropsParametersGatewayPasswordHash#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersGatewayPasswordHash#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersGatewayPasswordHash' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersGatewayPasswordHash(obj: CfnCloudGuardQsModulePropsParametersGatewayPasswordHash | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * The Secure Internal Communication key creates trusted connections between Check Point components. Choose a random string consisting of at least 8 alphanumeric characters. * * @schema CfnCloudGuardQsModulePropsParametersGatewaySicKey */ export interface CfnCloudGuardQsModulePropsParametersGatewaySicKey { /** * @schema CfnCloudGuardQsModulePropsParametersGatewaySicKey#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersGatewaySicKey#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersGatewaySicKey' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersGatewaySicKey(obj: CfnCloudGuardQsModulePropsParametersGatewaySicKey | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * Report Check Point specific CloudWatch metrics. Default: false * * @schema CfnCloudGuardQsModulePropsParametersCloudWatch */ export interface CfnCloudGuardQsModulePropsParametersCloudWatch { /** * @schema CfnCloudGuardQsModulePropsParametersCloudWatch#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersCloudWatch#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersCloudWatch' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersCloudWatch(obj: CfnCloudGuardQsModulePropsParametersCloudWatch | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * Select false to use an existing Security Management Server or to deploy one later and to ignore the other parameters of this section. Default: true * * @schema CfnCloudGuardQsModulePropsParametersManagementDeploy */ export interface CfnCloudGuardQsModulePropsParametersManagementDeploy { /** * @schema CfnCloudGuardQsModulePropsParametersManagementDeploy#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersManagementDeploy#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersManagementDeploy' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersManagementDeploy(obj: CfnCloudGuardQsModulePropsParametersManagementDeploy | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * The EC2 instance type of the Security Management Server. Default: m5.xlarge. Allowed values: m5.large, m5.xlarge, m5.2xlarge, m5.4xlarge, m5.12xlarge, m5.24xlarge * * @schema CfnCloudGuardQsModulePropsParametersManagementInstanceType */ export interface CfnCloudGuardQsModulePropsParametersManagementInstanceType { /** * @schema CfnCloudGuardQsModulePropsParametersManagementInstanceType#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersManagementInstanceType#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersManagementInstanceType' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersManagementInstanceType(obj: CfnCloudGuardQsModulePropsParametersManagementInstanceType | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * The version and license to install on the Security Management Server. Default: R80.40-PAYG-MGMT. Allowed values: R80.40-BYOL-MGMT, R80.40-PAYG-MGMT, R81-BYOL-MGMT, R81-PAYG-MGMT * * @schema CfnCloudGuardQsModulePropsParametersManagementVersion */ export interface CfnCloudGuardQsModulePropsParametersManagementVersion { /** * @schema CfnCloudGuardQsModulePropsParametersManagementVersion#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersManagementVersion#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersManagementVersion' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersManagementVersion(obj: CfnCloudGuardQsModulePropsParametersManagementVersion | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * Admin user's password hash (use command \\"openssl passwd -1 PASSWORD\\" to get the PASSWORD's hash) (optional) * * @schema CfnCloudGuardQsModulePropsParametersManagementPasswordHash */ export interface CfnCloudGuardQsModulePropsParametersManagementPasswordHash { /** * @schema CfnCloudGuardQsModulePropsParametersManagementPasswordHash#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersManagementPasswordHash#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersManagementPasswordHash' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersManagementPasswordHash(obj: CfnCloudGuardQsModulePropsParametersManagementPasswordHash | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * The name of the Security Policy package to be installed on the gateways in the Security Gateways Auto Scaling group. Default: Standard * * @schema CfnCloudGuardQsModulePropsParametersGatewaysPolicy */ export interface CfnCloudGuardQsModulePropsParametersGatewaysPolicy { /** * @schema CfnCloudGuardQsModulePropsParametersGatewaysPolicy#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersGatewaysPolicy#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersGatewaysPolicy' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersGatewaysPolicy(obj: CfnCloudGuardQsModulePropsParametersGatewaysPolicy | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * Turn on the Intrusion Prevention System, Application Control, Anti-Virus and Anti-Bot Blades (these and additional Blades can be manually turned on or off later). Default: true * * @schema CfnCloudGuardQsModulePropsParametersGatewaysBlades */ export interface CfnCloudGuardQsModulePropsParametersGatewaysBlades { /** * @schema CfnCloudGuardQsModulePropsParametersGatewaysBlades#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersGatewaysBlades#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersGatewaysBlades' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersGatewaysBlades(obj: CfnCloudGuardQsModulePropsParametersGatewaysBlades | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * Allow web, SSH, and graphical clients only from this network to communicate with the Security Management Server * * @schema CfnCloudGuardQsModulePropsParametersAdminCidr */ export interface CfnCloudGuardQsModulePropsParametersAdminCidr { /** * @schema CfnCloudGuardQsModulePropsParametersAdminCidr#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersAdminCidr#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersAdminCidr' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersAdminCidr(obj: CfnCloudGuardQsModulePropsParametersAdminCidr | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * Allow gateways only from this network to communicate with the Security Management Server * * @schema CfnCloudGuardQsModulePropsParametersGatewaysAddresses */ export interface CfnCloudGuardQsModulePropsParametersGatewaysAddresses { /** * @schema CfnCloudGuardQsModulePropsParametersGatewaysAddresses#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersGatewaysAddresses#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersGatewaysAddresses' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersGatewaysAddresses(obj: CfnCloudGuardQsModulePropsParametersGatewaysAddresses | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * Select true to deploy web servers and an internal Application Load Balancer. If you select false the other parameters of this section will be ignored. Default: false * * @schema CfnCloudGuardQsModulePropsParametersServersDeploy */ export interface CfnCloudGuardQsModulePropsParametersServersDeploy { /** * @schema CfnCloudGuardQsModulePropsParametersServersDeploy#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersServersDeploy#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersServersDeploy' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersServersDeploy(obj: CfnCloudGuardQsModulePropsParametersServersDeploy | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * The EC2 instance type for the web servers. Default: t3.micro. Allowed values: t3.nano, t3.micro, t3.small, t3.medium, t3.large, t3.xlarge, t3.2xlarge * * @schema CfnCloudGuardQsModulePropsParametersServerInstanceType */ export interface CfnCloudGuardQsModulePropsParametersServerInstanceType { /** * @schema CfnCloudGuardQsModulePropsParametersServerInstanceType#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersServerInstanceType#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersServerInstanceType' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersServerInstanceType(obj: CfnCloudGuardQsModulePropsParametersServerInstanceType | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * The Amazon Machine Image ID of a preconfigured web server (e.g. ami-0dc7dc63) * * @schema CfnCloudGuardQsModulePropsParametersServerAmi */ export interface CfnCloudGuardQsModulePropsParametersServerAmi { /** * @schema CfnCloudGuardQsModulePropsParametersServerAmi#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersServerAmi#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersServerAmi' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersServerAmi(obj: CfnCloudGuardQsModulePropsParametersServerAmi | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * Set to false to create only public subnets. If false, the CIDR parameters for ALL private subnets will be ignored. Default: true * * @schema CfnCloudGuardQsModulePropsParametersCreatePrivateSubnets */ export interface CfnCloudGuardQsModulePropsParametersCreatePrivateSubnets { /** * @schema CfnCloudGuardQsModulePropsParametersCreatePrivateSubnets#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersCreatePrivateSubnets#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersCreatePrivateSubnets' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersCreatePrivateSubnets(obj: CfnCloudGuardQsModulePropsParametersCreatePrivateSubnets | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * Set true for creating designated subnets for VPC TGW attachments. If false, the CIDR parameters for the TGW subnets will be ignored. Default: false * * @schema CfnCloudGuardQsModulePropsParametersCreateTgwSubnets */ export interface CfnCloudGuardQsModulePropsParametersCreateTgwSubnets { /** * @schema CfnCloudGuardQsModulePropsParametersCreateTgwSubnets#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersCreateTgwSubnets#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersCreateTgwSubnets' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersCreateTgwSubnets(obj: CfnCloudGuardQsModulePropsParametersCreateTgwSubnets | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * CIDR block for TGW subnet 1 located in Availability Zone 1. Default: 10.0.12.0/24 * * @schema CfnCloudGuardQsModulePropsParametersTgwSubnet1Cidr */ export interface CfnCloudGuardQsModulePropsParametersTgwSubnet1Cidr { /** * @schema CfnCloudGuardQsModulePropsParametersTgwSubnet1Cidr#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersTgwSubnet1Cidr#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersTgwSubnet1Cidr' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersTgwSubnet1Cidr(obj: CfnCloudGuardQsModulePropsParametersTgwSubnet1Cidr | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * CIDR block for TGW subnet 2 located in Availability Zone 2. Default: 10.0.22.0/24 * * @schema CfnCloudGuardQsModulePropsParametersTgwSubnet2Cidr */ export interface CfnCloudGuardQsModulePropsParametersTgwSubnet2Cidr { /** * @schema CfnCloudGuardQsModulePropsParametersTgwSubnet2Cidr#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersTgwSubnet2Cidr#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersTgwSubnet2Cidr' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersTgwSubnet2Cidr(obj: CfnCloudGuardQsModulePropsParametersTgwSubnet2Cidr | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * CIDR block for TGW subnet 3 located in Availability Zone 3. Default: 10.0.32.0/24 * * @schema CfnCloudGuardQsModulePropsParametersTgwSubnet3Cidr */ export interface CfnCloudGuardQsModulePropsParametersTgwSubnet3Cidr { /** * @schema CfnCloudGuardQsModulePropsParametersTgwSubnet3Cidr#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersTgwSubnet3Cidr#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersTgwSubnet3Cidr' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersTgwSubnet3Cidr(obj: CfnCloudGuardQsModulePropsParametersTgwSubnet3Cidr | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * CIDR block for TGW subnet 4 located in Availability Zone 4. Default: 10.0.42.0/24 * * @schema CfnCloudGuardQsModulePropsParametersTgwSubnet4Cidr */ export interface CfnCloudGuardQsModulePropsParametersTgwSubnet4Cidr { /** * @schema CfnCloudGuardQsModulePropsParametersTgwSubnet4Cidr#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersTgwSubnet4Cidr#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersTgwSubnet4Cidr' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersTgwSubnet4Cidr(obj: CfnCloudGuardQsModulePropsParametersTgwSubnet4Cidr | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * Port for the ELB. Default: 8080 * * @schema CfnCloudGuardQsModulePropsParametersElbPort */ export interface CfnCloudGuardQsModulePropsParametersElbPort { /** * @schema CfnCloudGuardQsModulePropsParametersElbPort#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersElbPort#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersElbPort' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersElbPort(obj: CfnCloudGuardQsModulePropsParametersElbPort | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * Allocate an elastic IP for the Management. Default: true * * @schema CfnCloudGuardQsModulePropsParametersAllocatePublicAddress */ export interface CfnCloudGuardQsModulePropsParametersAllocatePublicAddress { /** * @schema CfnCloudGuardQsModulePropsParametersAllocatePublicAddress#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersAllocatePublicAddress#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersAllocatePublicAddress' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersAllocatePublicAddress(obj: CfnCloudGuardQsModulePropsParametersAllocatePublicAddress | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * IAM role to attach to the instance profile of the Management Server. Default: Create with read permissions. Allowed values: None (configure later), Use existing (specify an existing IAM role name), Create with assume role permissions (specify an STS role ARN), Create with read permissions, Create with read-write permissions * * @schema CfnCloudGuardQsModulePropsParametersManagementPermissions */ export interface CfnCloudGuardQsModulePropsParametersManagementPermissions { /** * @schema CfnCloudGuardQsModulePropsParametersManagementPermissions#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersManagementPermissions#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersManagementPermissions' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersManagementPermissions(obj: CfnCloudGuardQsModulePropsParametersManagementPermissions | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * Select 'Over the internet' if any of the gateways you wish to manage are not directly accessed via their private IP address. Default: 'Locally managed'. Allowed values: Locally managed, Over the internet * * @schema CfnCloudGuardQsModulePropsParametersGatewayManagement */ export interface CfnCloudGuardQsModulePropsParametersGatewayManagement { /** * @schema CfnCloudGuardQsModulePropsParametersGatewayManagement#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersGatewayManagement#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersGatewayManagement' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersGatewayManagement(obj: CfnCloudGuardQsModulePropsParametersGatewayManagement | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * Mandatory only if deploying a secondary Management Server, the Secure Internal Communication key creates trusted connections between Check Point components. Choose a random string consisting of at least 8 alphanumeric characters * * @schema CfnCloudGuardQsModulePropsParametersManagementSicKey */ export interface CfnCloudGuardQsModulePropsParametersManagementSicKey { /** * @schema CfnCloudGuardQsModulePropsParametersManagementSicKey#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersManagementSicKey#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersManagementSicKey' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersManagementSicKey(obj: CfnCloudGuardQsModulePropsParametersManagementSicKey | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * A predefined IAM role to attach to the instance profile. Ignored if IAM role is not set to 'Use existing' * * @schema CfnCloudGuardQsModulePropsParametersManagementPredefinedRole */ export interface CfnCloudGuardQsModulePropsParametersManagementPredefinedRole { /** * @schema CfnCloudGuardQsModulePropsParametersManagementPredefinedRole#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersManagementPredefinedRole#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersManagementPredefinedRole' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersManagementPredefinedRole(obj: CfnCloudGuardQsModulePropsParametersManagementPredefinedRole | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * (optional). Default: 169.254.169.123 * * @schema CfnCloudGuardQsModulePropsParametersNtpPrimary */ export interface CfnCloudGuardQsModulePropsParametersNtpPrimary { /** * @schema CfnCloudGuardQsModulePropsParametersNtpPrimary#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersNtpPrimary#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersNtpPrimary' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersNtpPrimary(obj: CfnCloudGuardQsModulePropsParametersNtpPrimary | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * (optional). Default: 0.pool.ntp.org * * @schema CfnCloudGuardQsModulePropsParametersNtpSecondary */ export interface CfnCloudGuardQsModulePropsParametersNtpSecondary { /** * @schema CfnCloudGuardQsModulePropsParametersNtpSecondary#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersNtpSecondary#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersNtpSecondary' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersNtpSecondary(obj: CfnCloudGuardQsModulePropsParametersNtpSecondary | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * (optional). Default: mgmt-aws * * @schema CfnCloudGuardQsModulePropsParametersManagementHostname */ export interface CfnCloudGuardQsModulePropsParametersManagementHostname { /** * @schema CfnCloudGuardQsModulePropsParametersManagementHostname#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersManagementHostname#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersManagementHostname' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersManagementHostname(obj: CfnCloudGuardQsModulePropsParametersManagementHostname | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * Determines if this is the primary Management Server or not. Default: true * * @schema CfnCloudGuardQsModulePropsParametersPrimaryManagement */ export interface CfnCloudGuardQsModulePropsParametersPrimaryManagement { /** * @schema CfnCloudGuardQsModulePropsParametersPrimaryManagement#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersPrimaryManagement#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersPrimaryManagement' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersPrimaryManagement(obj: CfnCloudGuardQsModulePropsParametersPrimaryManagement | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * EBS Volume size of the management server * * @schema CfnCloudGuardQsModulePropsParametersManagementStackVolumeSize */ export interface CfnCloudGuardQsModulePropsParametersManagementStackVolumeSize { /** * @schema CfnCloudGuardQsModulePropsParametersManagementStackVolumeSize#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersManagementStackVolumeSize#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersManagementStackVolumeSize' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersManagementStackVolumeSize(obj: CfnCloudGuardQsModulePropsParametersManagementStackVolumeSize | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * Change the admin shell to enable advanced command line configuration. Default: /etc/cli.sh. Allowed values: /etc/cli.sh, /bin/bash, /bin/csh, /bin/tcsh * * @schema CfnCloudGuardQsModulePropsParametersShellManagementStack */ export interface CfnCloudGuardQsModulePropsParametersShellManagementStack { /** * @schema CfnCloudGuardQsModulePropsParametersShellManagementStack#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersShellManagementStack#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersShellManagementStack' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersShellManagementStack(obj: CfnCloudGuardQsModulePropsParametersShellManagementStack | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * The Elasitc Load Balancer Type. Default: none. Allowed values: none, internal, internet-facing * * @schema CfnCloudGuardQsModulePropsParametersElbType */ export interface CfnCloudGuardQsModulePropsParametersElbType { /** * @schema CfnCloudGuardQsModulePropsParametersElbType#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersElbType#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersElbType' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersElbType(obj: CfnCloudGuardQsModulePropsParametersElbType | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * A list of Target Groups to associate with the Auto Scaling group (comma separated list of ARNs, without spaces) (optional) * * @schema CfnCloudGuardQsModulePropsParametersGatewaysTargetGroups */ export interface CfnCloudGuardQsModulePropsParametersGatewaysTargetGroups { /** * @schema CfnCloudGuardQsModulePropsParametersGatewaysTargetGroups#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersGatewaysTargetGroups#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersGatewaysTargetGroups' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersGatewaysTargetGroups(obj: CfnCloudGuardQsModulePropsParametersGatewaysTargetGroups | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * Determines if the gateways are provisioned using their private or public address. Default: private. Allowed values: private, public * * @schema CfnCloudGuardQsModulePropsParametersControlGatewayOverPrivateOrPublicAddress */ export interface CfnCloudGuardQsModulePropsParametersControlGatewayOverPrivateOrPublicAddress { /** * @schema CfnCloudGuardQsModulePropsParametersControlGatewayOverPrivateOrPublicAddress#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersControlGatewayOverPrivateOrPublicAddress#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersControlGatewayOverPrivateOrPublicAddress' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersControlGatewayOverPrivateOrPublicAddress(obj: CfnCloudGuardQsModulePropsParametersControlGatewayOverPrivateOrPublicAddress | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * EBS Volume size of the security gateway server * * @schema CfnCloudGuardQsModulePropsParametersSecurityGatewayVolumeSize */ export interface CfnCloudGuardQsModulePropsParametersSecurityGatewayVolumeSize { /** * @schema CfnCloudGuardQsModulePropsParametersSecurityGatewayVolumeSize#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersSecurityGatewayVolumeSize#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersSecurityGatewayVolumeSize' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersSecurityGatewayVolumeSize(obj: CfnCloudGuardQsModulePropsParametersSecurityGatewayVolumeSize | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * Allow clients only from this network to communicate with the Web Servers. Default: 0.0.0.0/0 * * @schema CfnCloudGuardQsModulePropsParametersElbClients */ export interface CfnCloudGuardQsModulePropsParametersElbClients { /** * @schema CfnCloudGuardQsModulePropsParametersElbClients#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersElbClients#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersElbClients' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersElbClients(obj: CfnCloudGuardQsModulePropsParametersElbClients | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * Change the admin shell to enable advanced command line configuration. Default: /etc/cli.sh. Allowed Values: /etc/cli.sh /bin/bash /bin/csh /bin/tcsh * * @schema CfnCloudGuardQsModulePropsParametersShellSecurityGatewayStack */ export interface CfnCloudGuardQsModulePropsParametersShellSecurityGatewayStack { /** * @schema CfnCloudGuardQsModulePropsParametersShellSecurityGatewayStack#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersShellSecurityGatewayStack#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersShellSecurityGatewayStack' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersShellSecurityGatewayStack(obj: CfnCloudGuardQsModulePropsParametersShellSecurityGatewayStack | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * IAM Permissions for the management server. Default: Create with read permissions. Allowed values: Create with read permissions Create with read-write permissions Create with assume role permissions (specify an STS role ARN) * * @schema CfnCloudGuardQsModulePropsParametersPermissions */ export interface CfnCloudGuardQsModulePropsParametersPermissions { /** * @schema CfnCloudGuardQsModulePropsParametersPermissions#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersPermissions#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersPermissions' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersPermissions(obj: CfnCloudGuardQsModulePropsParametersPermissions | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * The IAM role will be able to assume these STS Roles (comma separated list of ARNs, without spaces) * * @schema CfnCloudGuardQsModulePropsParametersStsRoles */ export interface CfnCloudGuardQsModulePropsParametersStsRoles { /** * @schema CfnCloudGuardQsModulePropsParametersStsRoles#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersStsRoles#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersStsRoles' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersStsRoles(obj: CfnCloudGuardQsModulePropsParametersStsRoles | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * A 12 digits number that represents the ID of a trusted account. IAM users in this account will be able assume the IAM role and receive the permissions attached to it. * * @schema CfnCloudGuardQsModulePropsParametersTrustedAccount */ export interface CfnCloudGuardQsModulePropsParametersTrustedAccount { /** * @schema CfnCloudGuardQsModulePropsParametersTrustedAccount#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersTrustedAccount#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersTrustedAccount' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersTrustedAccount(obj: CfnCloudGuardQsModulePropsParametersTrustedAccount | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * An optional list of Target Groups to associate with the Auto Scaling group (comma separated list of ARNs, without spaces) * * @schema CfnCloudGuardQsModulePropsParametersServersTargetGroups */ export interface CfnCloudGuardQsModulePropsParametersServersTargetGroups { /** * @schema CfnCloudGuardQsModulePropsParametersServersTargetGroups#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersServersTargetGroups#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersServersTargetGroups' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersServersTargetGroups(obj: CfnCloudGuardQsModulePropsParametersServersTargetGroups | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * The ID of Security Group from which access will be allowed to the instances in this Auto Scaling group * * @schema CfnCloudGuardQsModulePropsParametersSourceSecurityGroup */ export interface CfnCloudGuardQsModulePropsParametersSourceSecurityGroup { /** * @schema CfnCloudGuardQsModulePropsParametersSourceSecurityGroup#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersSourceSecurityGroup#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersSourceSecurityGroup' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersSourceSecurityGroup(obj: CfnCloudGuardQsModulePropsParametersSourceSecurityGroup | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * The minimal number of servers in the Auto Scaling group. Default: 2 * * @schema CfnCloudGuardQsModulePropsParametersServersMinSize */ export interface CfnCloudGuardQsModulePropsParametersServersMinSize { /** * @schema CfnCloudGuardQsModulePropsParametersServersMinSize#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersServersMinSize#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersServersMinSize' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersServersMinSize(obj: CfnCloudGuardQsModulePropsParametersServersMinSize | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * The maximal number of servers in the Auto Scaling group. Default: 10 * * @schema CfnCloudGuardQsModulePropsParametersServersMaxSize */ export interface CfnCloudGuardQsModulePropsParametersServersMaxSize { /** * @schema CfnCloudGuardQsModulePropsParametersServersMaxSize#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersServersMaxSize#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersServersMaxSize' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersServersMaxSize(obj: CfnCloudGuardQsModulePropsParametersServersMaxSize | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * The servers name tag. Default: Server * * @schema CfnCloudGuardQsModulePropsParametersServerName */ export interface CfnCloudGuardQsModulePropsParametersServerName { /** * @schema CfnCloudGuardQsModulePropsParametersServerName#Type */ readonly type: string; /** * @schema CfnCloudGuardQsModulePropsParametersServerName#Description */ readonly description: string; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsParametersServerName' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsParametersServerName(obj: CfnCloudGuardQsModulePropsParametersServerName | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesVpc */ export interface CfnCloudGuardQsModulePropsResourcesVpc { /** * @schema CfnCloudGuardQsModulePropsResourcesVpc#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesVpc#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesVpc' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesVpc(obj: CfnCloudGuardQsModulePropsResourcesVpc | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesInternetGateway */ export interface CfnCloudGuardQsModulePropsResourcesInternetGateway { /** * @schema CfnCloudGuardQsModulePropsResourcesInternetGateway#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesInternetGateway#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesInternetGateway' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesInternetGateway(obj: CfnCloudGuardQsModulePropsResourcesInternetGateway | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesVpcGatewayAttachment */ export interface CfnCloudGuardQsModulePropsResourcesVpcGatewayAttachment { /** * @schema CfnCloudGuardQsModulePropsResourcesVpcGatewayAttachment#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesVpcGatewayAttachment#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesVpcGatewayAttachment' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesVpcGatewayAttachment(obj: CfnCloudGuardQsModulePropsResourcesVpcGatewayAttachment | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesPublicSubnet1 */ export interface CfnCloudGuardQsModulePropsResourcesPublicSubnet1 { /** * @schema CfnCloudGuardQsModulePropsResourcesPublicSubnet1#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesPublicSubnet1#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesPublicSubnet1' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesPublicSubnet1(obj: CfnCloudGuardQsModulePropsResourcesPublicSubnet1 | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesPublicSubnet2 */ export interface CfnCloudGuardQsModulePropsResourcesPublicSubnet2 { /** * @schema CfnCloudGuardQsModulePropsResourcesPublicSubnet2#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesPublicSubnet2#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesPublicSubnet2' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesPublicSubnet2(obj: CfnCloudGuardQsModulePropsResourcesPublicSubnet2 | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesPublicSubnet3 */ export interface CfnCloudGuardQsModulePropsResourcesPublicSubnet3 { /** * @schema CfnCloudGuardQsModulePropsResourcesPublicSubnet3#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesPublicSubnet3#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesPublicSubnet3' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesPublicSubnet3(obj: CfnCloudGuardQsModulePropsResourcesPublicSubnet3 | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesPublicSubnet4 */ export interface CfnCloudGuardQsModulePropsResourcesPublicSubnet4 { /** * @schema CfnCloudGuardQsModulePropsResourcesPublicSubnet4#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesPublicSubnet4#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesPublicSubnet4' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesPublicSubnet4(obj: CfnCloudGuardQsModulePropsResourcesPublicSubnet4 | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesPublicSubnetRouteTable */ export interface CfnCloudGuardQsModulePropsResourcesPublicSubnetRouteTable { /** * @schema CfnCloudGuardQsModulePropsResourcesPublicSubnetRouteTable#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesPublicSubnetRouteTable#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesPublicSubnetRouteTable' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesPublicSubnetRouteTable(obj: CfnCloudGuardQsModulePropsResourcesPublicSubnetRouteTable | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesPublicSubnetRoute */ export interface CfnCloudGuardQsModulePropsResourcesPublicSubnetRoute { /** * @schema CfnCloudGuardQsModulePropsResourcesPublicSubnetRoute#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesPublicSubnetRoute#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesPublicSubnetRoute' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesPublicSubnetRoute(obj: CfnCloudGuardQsModulePropsResourcesPublicSubnetRoute | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesPublicSubnet1RouteTableAssociation */ export interface CfnCloudGuardQsModulePropsResourcesPublicSubnet1RouteTableAssociation { /** * @schema CfnCloudGuardQsModulePropsResourcesPublicSubnet1RouteTableAssociation#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesPublicSubnet1RouteTableAssociation#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesPublicSubnet1RouteTableAssociation' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesPublicSubnet1RouteTableAssociation(obj: CfnCloudGuardQsModulePropsResourcesPublicSubnet1RouteTableAssociation | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesPublicSubnet2RouteTableAssociation */ export interface CfnCloudGuardQsModulePropsResourcesPublicSubnet2RouteTableAssociation { /** * @schema CfnCloudGuardQsModulePropsResourcesPublicSubnet2RouteTableAssociation#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesPublicSubnet2RouteTableAssociation#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesPublicSubnet2RouteTableAssociation' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesPublicSubnet2RouteTableAssociation(obj: CfnCloudGuardQsModulePropsResourcesPublicSubnet2RouteTableAssociation | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesPublicSubnet3RouteTableAssociation */ export interface CfnCloudGuardQsModulePropsResourcesPublicSubnet3RouteTableAssociation { /** * @schema CfnCloudGuardQsModulePropsResourcesPublicSubnet3RouteTableAssociation#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesPublicSubnet3RouteTableAssociation#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesPublicSubnet3RouteTableAssociation' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesPublicSubnet3RouteTableAssociation(obj: CfnCloudGuardQsModulePropsResourcesPublicSubnet3RouteTableAssociation | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesPublicSubnet4RouteTableAssociation */ export interface CfnCloudGuardQsModulePropsResourcesPublicSubnet4RouteTableAssociation { /** * @schema CfnCloudGuardQsModulePropsResourcesPublicSubnet4RouteTableAssociation#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesPublicSubnet4RouteTableAssociation#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesPublicSubnet4RouteTableAssociation' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesPublicSubnet4RouteTableAssociation(obj: CfnCloudGuardQsModulePropsResourcesPublicSubnet4RouteTableAssociation | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesPrivateSubnet1 */ export interface CfnCloudGuardQsModulePropsResourcesPrivateSubnet1 { /** * @schema CfnCloudGuardQsModulePropsResourcesPrivateSubnet1#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesPrivateSubnet1#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesPrivateSubnet1' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesPrivateSubnet1(obj: CfnCloudGuardQsModulePropsResourcesPrivateSubnet1 | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesPrivateSubnet2 */ export interface CfnCloudGuardQsModulePropsResourcesPrivateSubnet2 { /** * @schema CfnCloudGuardQsModulePropsResourcesPrivateSubnet2#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesPrivateSubnet2#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesPrivateSubnet2' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesPrivateSubnet2(obj: CfnCloudGuardQsModulePropsResourcesPrivateSubnet2 | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesPrivateSubnet3 */ export interface CfnCloudGuardQsModulePropsResourcesPrivateSubnet3 { /** * @schema CfnCloudGuardQsModulePropsResourcesPrivateSubnet3#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesPrivateSubnet3#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesPrivateSubnet3' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesPrivateSubnet3(obj: CfnCloudGuardQsModulePropsResourcesPrivateSubnet3 | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesPrivateSubnet4 */ export interface CfnCloudGuardQsModulePropsResourcesPrivateSubnet4 { /** * @schema CfnCloudGuardQsModulePropsResourcesPrivateSubnet4#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesPrivateSubnet4#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesPrivateSubnet4' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesPrivateSubnet4(obj: CfnCloudGuardQsModulePropsResourcesPrivateSubnet4 | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesTgwSubnet1 */ export interface CfnCloudGuardQsModulePropsResourcesTgwSubnet1 { /** * @schema CfnCloudGuardQsModulePropsResourcesTgwSubnet1#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesTgwSubnet1#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesTgwSubnet1' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesTgwSubnet1(obj: CfnCloudGuardQsModulePropsResourcesTgwSubnet1 | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesTgwSubnet2 */ export interface CfnCloudGuardQsModulePropsResourcesTgwSubnet2 { /** * @schema CfnCloudGuardQsModulePropsResourcesTgwSubnet2#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesTgwSubnet2#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesTgwSubnet2' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesTgwSubnet2(obj: CfnCloudGuardQsModulePropsResourcesTgwSubnet2 | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesTgwSubnet3 */ export interface CfnCloudGuardQsModulePropsResourcesTgwSubnet3 { /** * @schema CfnCloudGuardQsModulePropsResourcesTgwSubnet3#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesTgwSubnet3#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesTgwSubnet3' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesTgwSubnet3(obj: CfnCloudGuardQsModulePropsResourcesTgwSubnet3 | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesTgwSubnet4 */ export interface CfnCloudGuardQsModulePropsResourcesTgwSubnet4 { /** * @schema CfnCloudGuardQsModulePropsResourcesTgwSubnet4#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesTgwSubnet4#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesTgwSubnet4' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesTgwSubnet4(obj: CfnCloudGuardQsModulePropsResourcesTgwSubnet4 | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesExternalAlbSecurityGroup */ export interface CfnCloudGuardQsModulePropsResourcesExternalAlbSecurityGroup { /** * @schema CfnCloudGuardQsModulePropsResourcesExternalAlbSecurityGroup#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesExternalAlbSecurityGroup#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesExternalAlbSecurityGroup' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesExternalAlbSecurityGroup(obj: CfnCloudGuardQsModulePropsResourcesExternalAlbSecurityGroup | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesExternalLoadBalancer */ export interface CfnCloudGuardQsModulePropsResourcesExternalLoadBalancer { /** * @schema CfnCloudGuardQsModulePropsResourcesExternalLoadBalancer#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesExternalLoadBalancer#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesExternalLoadBalancer' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesExternalLoadBalancer(obj: CfnCloudGuardQsModulePropsResourcesExternalLoadBalancer | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesExternalLbTargetGroup */ export interface CfnCloudGuardQsModulePropsResourcesExternalLbTargetGroup { /** * @schema CfnCloudGuardQsModulePropsResourcesExternalLbTargetGroup#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesExternalLbTargetGroup#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesExternalLbTargetGroup' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesExternalLbTargetGroup(obj: CfnCloudGuardQsModulePropsResourcesExternalLbTargetGroup | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesExternalLbListener */ export interface CfnCloudGuardQsModulePropsResourcesExternalLbListener { /** * @schema CfnCloudGuardQsModulePropsResourcesExternalLbListener#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesExternalLbListener#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesExternalLbListener' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesExternalLbListener(obj: CfnCloudGuardQsModulePropsResourcesExternalLbListener | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesChkpGatewayRole */ export interface CfnCloudGuardQsModulePropsResourcesChkpGatewayRole { /** * @schema CfnCloudGuardQsModulePropsResourcesChkpGatewayRole#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesChkpGatewayRole#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesChkpGatewayRole' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesChkpGatewayRole(obj: CfnCloudGuardQsModulePropsResourcesChkpGatewayRole | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesInstanceProfileSecurityGatewayStack */ export interface CfnCloudGuardQsModulePropsResourcesInstanceProfileSecurityGatewayStack { /** * @schema CfnCloudGuardQsModulePropsResourcesInstanceProfileSecurityGatewayStack#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesInstanceProfileSecurityGatewayStack#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesInstanceProfileSecurityGatewayStack' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesInstanceProfileSecurityGatewayStack(obj: CfnCloudGuardQsModulePropsResourcesInstanceProfileSecurityGatewayStack | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesNotificationTopicSecurityGatewayStack */ export interface CfnCloudGuardQsModulePropsResourcesNotificationTopicSecurityGatewayStack { /** * @schema CfnCloudGuardQsModulePropsResourcesNotificationTopicSecurityGatewayStack#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesNotificationTopicSecurityGatewayStack#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesNotificationTopicSecurityGatewayStack' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesNotificationTopicSecurityGatewayStack(obj: CfnCloudGuardQsModulePropsResourcesNotificationTopicSecurityGatewayStack | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesElasticLoadBalancer */ export interface CfnCloudGuardQsModulePropsResourcesElasticLoadBalancer { /** * @schema CfnCloudGuardQsModulePropsResourcesElasticLoadBalancer#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesElasticLoadBalancer#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesElasticLoadBalancer' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesElasticLoadBalancer(obj: CfnCloudGuardQsModulePropsResourcesElasticLoadBalancer | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesPermissiveSecurityGroup */ export interface CfnCloudGuardQsModulePropsResourcesPermissiveSecurityGroup { /** * @schema CfnCloudGuardQsModulePropsResourcesPermissiveSecurityGroup#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesPermissiveSecurityGroup#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesPermissiveSecurityGroup' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesPermissiveSecurityGroup(obj: CfnCloudGuardQsModulePropsResourcesPermissiveSecurityGroup | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesGatewayGroup */ export interface CfnCloudGuardQsModulePropsResourcesGatewayGroup { /** * @schema CfnCloudGuardQsModulePropsResourcesGatewayGroup#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesGatewayGroup#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesGatewayGroup' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesGatewayGroup(obj: CfnCloudGuardQsModulePropsResourcesGatewayGroup | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesGatewayLaunchConfig */ export interface CfnCloudGuardQsModulePropsResourcesGatewayLaunchConfig { /** * @schema CfnCloudGuardQsModulePropsResourcesGatewayLaunchConfig#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesGatewayLaunchConfig#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesGatewayLaunchConfig' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesGatewayLaunchConfig(obj: CfnCloudGuardQsModulePropsResourcesGatewayLaunchConfig | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesGatewayScaleUpPolicy */ export interface CfnCloudGuardQsModulePropsResourcesGatewayScaleUpPolicy { /** * @schema CfnCloudGuardQsModulePropsResourcesGatewayScaleUpPolicy#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesGatewayScaleUpPolicy#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesGatewayScaleUpPolicy' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesGatewayScaleUpPolicy(obj: CfnCloudGuardQsModulePropsResourcesGatewayScaleUpPolicy | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesGatewayScaleDownPolicy */ export interface CfnCloudGuardQsModulePropsResourcesGatewayScaleDownPolicy { /** * @schema CfnCloudGuardQsModulePropsResourcesGatewayScaleDownPolicy#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesGatewayScaleDownPolicy#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesGatewayScaleDownPolicy' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesGatewayScaleDownPolicy(obj: CfnCloudGuardQsModulePropsResourcesGatewayScaleDownPolicy | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesCpuAlarmHighSecurityGatewayStack */ export interface CfnCloudGuardQsModulePropsResourcesCpuAlarmHighSecurityGatewayStack { /** * @schema CfnCloudGuardQsModulePropsResourcesCpuAlarmHighSecurityGatewayStack#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesCpuAlarmHighSecurityGatewayStack#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesCpuAlarmHighSecurityGatewayStack' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesCpuAlarmHighSecurityGatewayStack(obj: CfnCloudGuardQsModulePropsResourcesCpuAlarmHighSecurityGatewayStack | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesCpuAlarmLowSecurityGatewayStack */ export interface CfnCloudGuardQsModulePropsResourcesCpuAlarmLowSecurityGatewayStack { /** * @schema CfnCloudGuardQsModulePropsResourcesCpuAlarmLowSecurityGatewayStack#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesCpuAlarmLowSecurityGatewayStack#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesCpuAlarmLowSecurityGatewayStack' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesCpuAlarmLowSecurityGatewayStack(obj: CfnCloudGuardQsModulePropsResourcesCpuAlarmLowSecurityGatewayStack | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesElbSecurityGroup */ export interface CfnCloudGuardQsModulePropsResourcesElbSecurityGroup { /** * @schema CfnCloudGuardQsModulePropsResourcesElbSecurityGroup#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesElbSecurityGroup#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesElbSecurityGroup' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesElbSecurityGroup(obj: CfnCloudGuardQsModulePropsResourcesElbSecurityGroup | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesManagementReadyHandle */ export interface CfnCloudGuardQsModulePropsResourcesManagementReadyHandle { /** * @schema CfnCloudGuardQsModulePropsResourcesManagementReadyHandle#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesManagementReadyHandle#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesManagementReadyHandle' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesManagementReadyHandle(obj: CfnCloudGuardQsModulePropsResourcesManagementReadyHandle | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesManagementReadyCondition */ export interface CfnCloudGuardQsModulePropsResourcesManagementReadyCondition { /** * @schema CfnCloudGuardQsModulePropsResourcesManagementReadyCondition#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesManagementReadyCondition#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesManagementReadyCondition' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesManagementReadyCondition(obj: CfnCloudGuardQsModulePropsResourcesManagementReadyCondition | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesManagementSecurityGroup */ export interface CfnCloudGuardQsModulePropsResourcesManagementSecurityGroup { /** * @schema CfnCloudGuardQsModulePropsResourcesManagementSecurityGroup#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesManagementSecurityGroup#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesManagementSecurityGroup' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesManagementSecurityGroup(obj: CfnCloudGuardQsModulePropsResourcesManagementSecurityGroup | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesCmeiamRole */ export interface CfnCloudGuardQsModulePropsResourcesCmeiamRole { /** * @schema CfnCloudGuardQsModulePropsResourcesCmeiamRole#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesCmeiamRole#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesCmeiamRole' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesCmeiamRole(obj: CfnCloudGuardQsModulePropsResourcesCmeiamRole | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesInstanceProfile */ export interface CfnCloudGuardQsModulePropsResourcesInstanceProfile { /** * @schema CfnCloudGuardQsModulePropsResourcesInstanceProfile#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesInstanceProfile#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesInstanceProfile' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesInstanceProfile(obj: CfnCloudGuardQsModulePropsResourcesInstanceProfile | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesManagementInstance */ export interface CfnCloudGuardQsModulePropsResourcesManagementInstance { /** * @schema CfnCloudGuardQsModulePropsResourcesManagementInstance#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesManagementInstance#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesManagementInstance' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesManagementInstance(obj: CfnCloudGuardQsModulePropsResourcesManagementInstance | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesPublicAddress */ export interface CfnCloudGuardQsModulePropsResourcesPublicAddress { /** * @schema CfnCloudGuardQsModulePropsResourcesPublicAddress#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesPublicAddress#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesPublicAddress' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesPublicAddress(obj: CfnCloudGuardQsModulePropsResourcesPublicAddress | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesAddressAssoc */ export interface CfnCloudGuardQsModulePropsResourcesAddressAssoc { /** * @schema CfnCloudGuardQsModulePropsResourcesAddressAssoc#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesAddressAssoc#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesAddressAssoc' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesAddressAssoc(obj: CfnCloudGuardQsModulePropsResourcesAddressAssoc | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesInternalSecurityGroup */ export interface CfnCloudGuardQsModulePropsResourcesInternalSecurityGroup { /** * @schema CfnCloudGuardQsModulePropsResourcesInternalSecurityGroup#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesInternalSecurityGroup#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesInternalSecurityGroup' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesInternalSecurityGroup(obj: CfnCloudGuardQsModulePropsResourcesInternalSecurityGroup | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesInternalLbTargetGroup */ export interface CfnCloudGuardQsModulePropsResourcesInternalLbTargetGroup { /** * @schema CfnCloudGuardQsModulePropsResourcesInternalLbTargetGroup#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesInternalLbTargetGroup#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesInternalLbTargetGroup' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesInternalLbTargetGroup(obj: CfnCloudGuardQsModulePropsResourcesInternalLbTargetGroup | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesInternalLoadBalancer */ export interface CfnCloudGuardQsModulePropsResourcesInternalLoadBalancer { /** * @schema CfnCloudGuardQsModulePropsResourcesInternalLoadBalancer#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesInternalLoadBalancer#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesInternalLoadBalancer' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesInternalLoadBalancer(obj: CfnCloudGuardQsModulePropsResourcesInternalLoadBalancer | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesInternalLbListener */ export interface CfnCloudGuardQsModulePropsResourcesInternalLbListener { /** * @schema CfnCloudGuardQsModulePropsResourcesInternalLbListener#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesInternalLbListener#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesInternalLbListener' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesInternalLbListener(obj: CfnCloudGuardQsModulePropsResourcesInternalLbListener | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesNotificationTopic */ export interface CfnCloudGuardQsModulePropsResourcesNotificationTopic { /** * @schema CfnCloudGuardQsModulePropsResourcesNotificationTopic#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesNotificationTopic#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesNotificationTopic' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesNotificationTopic(obj: CfnCloudGuardQsModulePropsResourcesNotificationTopic | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesServersSecurityGroup */ export interface CfnCloudGuardQsModulePropsResourcesServersSecurityGroup { /** * @schema CfnCloudGuardQsModulePropsResourcesServersSecurityGroup#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesServersSecurityGroup#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesServersSecurityGroup' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesServersSecurityGroup(obj: CfnCloudGuardQsModulePropsResourcesServersSecurityGroup | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesServersLaunchConfiguration */ export interface CfnCloudGuardQsModulePropsResourcesServersLaunchConfiguration { /** * @schema CfnCloudGuardQsModulePropsResourcesServersLaunchConfiguration#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesServersLaunchConfiguration#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesServersLaunchConfiguration' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesServersLaunchConfiguration(obj: CfnCloudGuardQsModulePropsResourcesServersLaunchConfiguration | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesServersGroup */ export interface CfnCloudGuardQsModulePropsResourcesServersGroup { /** * @schema CfnCloudGuardQsModulePropsResourcesServersGroup#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesServersGroup#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesServersGroup' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesServersGroup(obj: CfnCloudGuardQsModulePropsResourcesServersGroup | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesScaleUpPolicy */ export interface CfnCloudGuardQsModulePropsResourcesScaleUpPolicy { /** * @schema CfnCloudGuardQsModulePropsResourcesScaleUpPolicy#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesScaleUpPolicy#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesScaleUpPolicy' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesScaleUpPolicy(obj: CfnCloudGuardQsModulePropsResourcesScaleUpPolicy | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesScaleDownPolicy */ export interface CfnCloudGuardQsModulePropsResourcesScaleDownPolicy { /** * @schema CfnCloudGuardQsModulePropsResourcesScaleDownPolicy#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesScaleDownPolicy#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesScaleDownPolicy' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesScaleDownPolicy(obj: CfnCloudGuardQsModulePropsResourcesScaleDownPolicy | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesCpuAlarmHigh */ export interface CfnCloudGuardQsModulePropsResourcesCpuAlarmHigh { /** * @schema CfnCloudGuardQsModulePropsResourcesCpuAlarmHigh#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesCpuAlarmHigh#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesCpuAlarmHigh' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesCpuAlarmHigh(obj: CfnCloudGuardQsModulePropsResourcesCpuAlarmHigh | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnCloudGuardQsModulePropsResourcesCpuAlarmLow */ export interface CfnCloudGuardQsModulePropsResourcesCpuAlarmLow { /** * @schema CfnCloudGuardQsModulePropsResourcesCpuAlarmLow#Type */ readonly type?: string; /** * @schema CfnCloudGuardQsModulePropsResourcesCpuAlarmLow#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnCloudGuardQsModulePropsResourcesCpuAlarmLow' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnCloudGuardQsModulePropsResourcesCpuAlarmLow(obj: CfnCloudGuardQsModulePropsResourcesCpuAlarmLow | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * A CloudFormation \`AWSQS::CheckPoint::CloudGuardQS::MODULE\` * * @cloudformationResource AWSQS::CheckPoint::CloudGuardQS::MODULE * @stability external */ export class CfnCloudGuardQsModule extends cdk.CfnResource { /** * The CloudFormation resource type name for this resource class. */ public static readonly CFN_RESOURCE_TYPE_NAME = \\"AWSQS::CheckPoint::CloudGuardQS::MODULE\\"; /** * Resource props. */ public readonly props: CfnCloudGuardQsModuleProps; /** * Create a new \`AWSQS::CheckPoint::CloudGuardQS::MODULE\`. * * @param scope - scope in which this resource is defined * @param id - scoped id of the resource * @param props - resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnCloudGuardQsModuleProps) { super(scope, id, { type: CfnCloudGuardQsModule.CFN_RESOURCE_TYPE_NAME, properties: toJson_CfnCloudGuardQsModuleProps(props)! }); this.props = props; } }" `; exports[`generate datadog.json 1`] = ` "// Generated by cdk-import import * as cdk from 'aws-cdk-lib'; import * as constructs from 'constructs'; /** * Datadog SLO 1.0.0 * * @schema CfnSloProps */ export interface CfnSloProps { /** * @schema CfnSloProps#Creator */ readonly creator?: Creator; /** * Description of the slo * * @schema CfnSloProps#Description */ readonly description?: string; /** * A list of (up to 20) monitor groups that narrow the scope of a monitor service level objective. * * @schema CfnSloProps#Groups */ readonly groups?: string[]; /** * A list of monitor ids that defines the scope of a monitor service level objective. Required if type is monitor. * * @schema CfnSloProps#MonitorIds */ readonly monitorIds?: number[]; /** * Name of the slo * * @schema CfnSloProps#Name */ readonly name: string; /** * @schema CfnSloProps#Query */ readonly query?: Query; /** * Tags associated with the slo * * @schema CfnSloProps#Tags */ readonly tags?: string[]; /** * @schema CfnSloProps#Thresholds */ readonly thresholds: Threshold[]; /** * The type of the slo * * @schema CfnSloProps#Type */ readonly type: CfnSloPropsType; } /** * Converts an object of type 'CfnSloProps' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnSloProps(obj: CfnSloProps | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Creator': toJson_Creator(obj.creator), 'Description': obj.description, 'Groups': obj.groups?.map(y => y), 'MonitorIds': obj.monitorIds?.map(y => y), 'Name': obj.name, 'Query': toJson_Query(obj.query), 'Tags': obj.tags?.map(y => y), 'Thresholds': obj.thresholds?.map(y => toJson_Threshold(y)), 'Type': obj.type, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema Creator */ export interface Creator { /** * Name of the creator of the slo * * @schema Creator#Name */ readonly name?: string; /** * Handle of the creator of the slo * * @schema Creator#Handle */ readonly handle?: string; /** * Email of the creator of the slo * * @schema Creator#Email */ readonly email?: string; } /** * Converts an object of type 'Creator' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_Creator(obj: Creator | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Name': obj.name, 'Handle': obj.handle, 'Email': obj.email, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema Query */ export interface Query { /** * A Datadog metric query for total (valid) events. * * @schema Query#Numerator */ readonly numerator?: string; /** * A Datadog metric query for good events. * * @schema Query#Denominator */ readonly denominator?: string; } /** * Converts an object of type 'Query' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_Query(obj: Query | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Numerator': obj.numerator, 'Denominator': obj.denominator, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema Threshold */ export interface Threshold { /** * The target value for the service level indicator within the corresponding timeframe. * * @schema Threshold#Target */ readonly target?: number; /** * A string representation of the target that indicates its precision.(e.g. 98.00) * * @schema Threshold#TargetDisplay */ readonly targetDisplay?: string; /** * The SLO time window options. Allowed enum values: 7d,30d,90d * * @schema Threshold#Timeframe */ readonly timeframe?: ThresholdTimeframe; /** * The warning value for the service level objective. * * @schema Threshold#Warning */ readonly warning?: number; /** * A string representation of the warning target.(e.g. 98.00) * * @schema Threshold#WarningDisplay */ readonly warningDisplay?: string; } /** * Converts an object of type 'Threshold' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_Threshold(obj: Threshold | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Target': obj.target, 'TargetDisplay': obj.targetDisplay, 'Timeframe': obj.timeframe, 'Warning': obj.warning, 'WarningDisplay': obj.warningDisplay, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * The type of the slo * * @schema CfnSloPropsType */ export enum CfnSloPropsType { /** monitor */ MONITOR = \\"monitor\\", /** metric */ METRIC = \\"metric\\", } /** * The SLO time window options. Allowed enum values: 7d,30d,90d * * @schema ThresholdTimeframe */ export enum ThresholdTimeframe { /** 7d */ VALUE_7D = \\"7d\\", /** 30d */ VALUE_30D = \\"30d\\", /** 90d */ VALUE_90D = \\"90d\\", } /** * A CloudFormation \`Datadog::SLOs::SLO\` * * @cloudformationResource Datadog::SLOs::SLO * @stability external */ export class CfnSlo extends cdk.CfnResource { /** * The CloudFormation resource type name for this resource class. */ public static readonly CFN_RESOURCE_TYPE_NAME = \\"Datadog::SLOs::SLO\\"; /** * Resource props. */ public readonly props: CfnSloProps; /** * Attribute \`Datadog::SLOs::SLO.Modified\` */ public readonly attrModified: string; /** * Attribute \`Datadog::SLOs::SLO.Id\` */ public readonly attrId: string; /** * Attribute \`Datadog::SLOs::SLO.Deleted\` */ public readonly attrDeleted: string; /** * Attribute \`Datadog::SLOs::SLO.Created\` */ public readonly attrCreated: string; /** * Create a new \`Datadog::SLOs::SLO\`. * * @param scope - scope in which this resource is defined * @param id - scoped id of the resource * @param props - resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnSloProps) { super(scope, id, { type: CfnSlo.CFN_RESOURCE_TYPE_NAME, properties: toJson_CfnSloProps(props)! }); this.props = props; this.attrModified = cdk.Token.asString(this.getAtt('Modified')); this.attrId = cdk.Token.asString(this.getAtt('Id')); this.attrDeleted = cdk.Token.asString(this.getAtt('Deleted')); this.attrCreated = cdk.Token.asString(this.getAtt('Created')); } }" `; exports[`generate eks.json 1`] = ` "// Generated by cdk-import import * as cdk from 'aws-cdk-lib'; import * as constructs from 'constructs'; /** * A resource that creates Amazon Elastic Kubernetes Service (Amazon EKS) clusters. * * @schema CfnClusterProps */ export interface CfnClusterProps { /** * A unique name for your cluster. * * @schema CfnClusterProps#Name */ readonly name?: string; /** * Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role. This provides permissions for Amazon EKS to call other AWS APIs. * * @schema CfnClusterProps#RoleArn */ readonly roleArn: string; /** * Name of the AWS Identity and Access Management (IAM) role used for clusters that have the public endpoint disabled. this provides permissions for Lambda to be invoked and attach to the cluster VPC * * @schema CfnClusterProps#LambdaRoleName */ readonly lambdaRoleName?: string; /** * Desired Kubernetes version for your cluster. If you don't specify this value, the cluster uses the latest version from Amazon EKS. * * @schema CfnClusterProps#Version */ readonly version?: string; /** * Network configuration for Amazon EKS cluster. * * * * @schema CfnClusterProps#KubernetesNetworkConfig */ readonly kubernetesNetworkConfig?: CfnClusterPropsKubernetesNetworkConfig; /** * An object that represents the virtual private cloud (VPC) configuration to use for an Amazon EKS cluster. * * @schema CfnClusterProps#ResourcesVpcConfig */ readonly resourcesVpcConfig: CfnClusterPropsResourcesVpcConfig; /** * Enables exporting of logs from the Kubernetes control plane to Amazon CloudWatch Logs. By default, logs from the cluster control plane are not exported to CloudWatch Logs. The valid log types are api, audit, authenticator, controllerManager, and scheduler. * * @schema CfnClusterProps#EnabledClusterLoggingTypes */ readonly enabledClusterLoggingTypes?: string[]; /** * Encryption configuration for the cluster. * * @schema CfnClusterProps#EncryptionConfig */ readonly encryptionConfig?: EncryptionConfigEntry[]; /** * @schema CfnClusterProps#KubernetesApiAccess */ readonly kubernetesApiAccess?: CfnClusterPropsKubernetesApiAccess; /** * @schema CfnClusterProps#Tags */ readonly tags?: CfnClusterPropsTags[]; } /** * Converts an object of type 'CfnClusterProps' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnClusterProps(obj: CfnClusterProps | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Name': obj.name, 'RoleArn': obj.roleArn, 'LambdaRoleName': obj.lambdaRoleName, 'Version': obj.version, 'KubernetesNetworkConfig': toJson_CfnClusterPropsKubernetesNetworkConfig(obj.kubernetesNetworkConfig), 'ResourcesVpcConfig': toJson_CfnClusterPropsResourcesVpcConfig(obj.resourcesVpcConfig), 'EnabledClusterLoggingTypes': obj.enabledClusterLoggingTypes?.map(y => y), 'EncryptionConfig': obj.encryptionConfig?.map(y => toJson_EncryptionConfigEntry(y)), 'KubernetesApiAccess': toJson_CfnClusterPropsKubernetesApiAccess(obj.kubernetesApiAccess), 'Tags': obj.tags?.map(y => toJson_CfnClusterPropsTags(y)), }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * Network configuration for Amazon EKS cluster. * * * * @schema CfnClusterPropsKubernetesNetworkConfig */ export interface CfnClusterPropsKubernetesNetworkConfig { /** * Specify the range from which cluster services will receive IPv4 addresses. * * @schema CfnClusterPropsKubernetesNetworkConfig#ServiceIpv4Cidr */ readonly serviceIpv4Cidr?: string; } /** * Converts an object of type 'CfnClusterPropsKubernetesNetworkConfig' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnClusterPropsKubernetesNetworkConfig(obj: CfnClusterPropsKubernetesNetworkConfig | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'ServiceIpv4Cidr': obj.serviceIpv4Cidr, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * An object that represents the virtual private cloud (VPC) configuration to use for an Amazon EKS cluster. * * @schema CfnClusterPropsResourcesVpcConfig */ export interface CfnClusterPropsResourcesVpcConfig { /** * Specify one or more security groups for the cross-account elastic network interfaces that Amazon EKS creates to use to allow communication between your worker nodes and the Kubernetes control plane. If you don't specify a security group, the default security group for your VPC is used. * * @schema CfnClusterPropsResourcesVpcConfig#SecurityGroupIds */ readonly securityGroupIds?: string[]; /** * Specify subnets for your Amazon EKS worker nodes. Amazon EKS creates cross-account elastic network interfaces in these subnets to allow communication between your worker nodes and the Kubernetes control plane. * * @schema CfnClusterPropsResourcesVpcConfig#SubnetIds */ readonly subnetIds: string[]; /** * Set this value to false to disable public access to your cluster's Kubernetes API server endpoint. If you disable public access, your cluster's Kubernetes API server can only receive requests from within the cluster VPC. The default value for this parameter is true , which enables public access for your Kubernetes API server. * * @schema CfnClusterPropsResourcesVpcConfig#EndpointPublicAccess */ readonly endpointPublicAccess?: boolean; /** * Set this value to true to enable private access for your cluster's Kubernetes API server endpoint. If you enable private access, Kubernetes API requests from within your cluster's VPC use the private VPC endpoint. The default value for this parameter is false , which disables private access for your Kubernetes API server. If you disable private access and you have worker nodes or AWS Fargate pods in the cluster, then ensure that publicAccessCidrs includes the necessary CIDR blocks for communication with the worker nodes or Fargate pods. * * @schema CfnClusterPropsResourcesVpcConfig#EndpointPrivateAccess */ readonly endpointPrivateAccess?: boolean; /** * The CIDR blocks that are allowed access to your cluster's public Kubernetes API server endpoint. Communication to the endpoint from addresses outside of the CIDR blocks that you specify is denied. The default value is 0.0.0.0/0 . If you've disabled private endpoint access and you have worker nodes or AWS Fargate pods in the cluster, then ensure that you specify the necessary CIDR blocks. * * @schema CfnClusterPropsResourcesVpcConfig#PublicAccessCidrs */ readonly publicAccessCidrs?: string[]; } /** * Converts an object of type 'CfnClusterPropsResourcesVpcConfig' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnClusterPropsResourcesVpcConfig(obj: CfnClusterPropsResourcesVpcConfig | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'SecurityGroupIds': obj.securityGroupIds?.map(y => y), 'SubnetIds': obj.subnetIds?.map(y => y), 'EndpointPublicAccess': obj.endpointPublicAccess, 'EndpointPrivateAccess': obj.endpointPrivateAccess, 'PublicAccessCidrs': obj.publicAccessCidrs?.map(y => y), }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * The encryption configuration for the cluster. * * @schema EncryptionConfigEntry */ export interface EncryptionConfigEntry { /** * Specifies the resources to be encrypted. The only supported value is \\"secrets\\". * * @schema EncryptionConfigEntry#Resources */ readonly resources?: string[]; /** * @schema EncryptionConfigEntry#Provider */ readonly provider?: Provider; } /** * Converts an object of type 'EncryptionConfigEntry' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_EncryptionConfigEntry(obj: EncryptionConfigEntry | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Resources': obj.resources?.map(y => y), 'Provider': toJson_Provider(obj.provider), }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnClusterPropsKubernetesApiAccess */ export interface CfnClusterPropsKubernetesApiAccess { /** * @schema CfnClusterPropsKubernetesApiAccess#Roles */ readonly roles?: KubernetesApiAccessEntry[]; /** * @schema CfnClusterPropsKubernetesApiAccess#Users */ readonly users?: KubernetesApiAccessEntry[]; } /** * Converts an object of type 'CfnClusterPropsKubernetesApiAccess' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnClusterPropsKubernetesApiAccess(obj: CfnClusterPropsKubernetesApiAccess | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Roles': obj.roles?.map(y => toJson_KubernetesApiAccessEntry(y)), 'Users': obj.users?.map(y => toJson_KubernetesApiAccessEntry(y)), }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnClusterPropsTags */ export interface CfnClusterPropsTags { /** * @schema CfnClusterPropsTags#Value */ readonly value: string; /** * @schema CfnClusterPropsTags#Key */ readonly key: string; } /** * Converts an object of type 'CfnClusterPropsTags' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnClusterPropsTags(obj: CfnClusterPropsTags | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Value': obj.value, 'Key': obj.key, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * AWS Key Management Service (AWS KMS) customer master key (CMK). Either the ARN or the alias can be used. * * @schema Provider */ export interface Provider { /** * Amazon Resource Name (ARN) or alias of the customer master key (CMK). The CMK must be symmetric, created in the same region as the cluster, and if the CMK was created in a different account, the user must have access to the CMK. * * @schema Provider#KeyArn */ readonly keyArn?: string; } /** * Converts an object of type 'Provider' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_Provider(obj: Provider | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'KeyArn': obj.keyArn, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema KubernetesApiAccessEntry */ export interface KubernetesApiAccessEntry { /** * @schema KubernetesApiAccessEntry#Arn */ readonly arn?: string; /** * @schema KubernetesApiAccessEntry#Username */ readonly username?: string; /** * @schema KubernetesApiAccessEntry#Groups */ readonly groups?: string[]; } /** * Converts an object of type 'KubernetesApiAccessEntry' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_KubernetesApiAccessEntry(obj: KubernetesApiAccessEntry | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Arn': obj.arn, 'Username': obj.username, 'Groups': obj.groups?.map(y => y), }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * A CloudFormation \`AWSQS::EKS::Cluster\` * * @cloudformationResource AWSQS::EKS::Cluster * @stability external * @link https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git */ export class CfnCluster extends cdk.CfnResource { /** * The CloudFormation resource type name for this resource class. */ public static readonly CFN_RESOURCE_TYPE_NAME = \\"AWSQS::EKS::Cluster\\"; /** * Resource props. */ public readonly props: CfnClusterProps; /** * Attribute \`AWSQS::EKS::Cluster.Arn\` * @link https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git */ public readonly attrArn: string; /** * Attribute \`AWSQS::EKS::Cluster.Endpoint\` * @link https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git */ public readonly attrEndpoint: string; /** * Attribute \`AWSQS::EKS::Cluster.ClusterSecurityGroupId\` * @link https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git */ public readonly attrClusterSecurityGroupId: string; /** * Attribute \`AWSQS::EKS::Cluster.CertificateAuthorityData\` * @link https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git */ public readonly attrCertificateAuthorityData: string; /** * Attribute \`AWSQS::EKS::Cluster.EncryptionConfigKeyArn\` * @link https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git */ public readonly attrEncryptionConfigKeyArn: string; /** * Attribute \`AWSQS::EKS::Cluster.OIDCIssuerURL\` * @link https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git */ public readonly attrOIDCIssuerURL: string; /** * Create a new \`AWSQS::EKS::Cluster\`. * * @param scope - scope in which this resource is defined * @param id - scoped id of the resource * @param props - resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnClusterProps) { super(scope, id, { type: CfnCluster.CFN_RESOURCE_TYPE_NAME, properties: toJson_CfnClusterProps(props)! }); this.props = props; this.attrArn = cdk.Token.asString(this.getAtt('Arn')); this.attrEndpoint = cdk.Token.asString(this.getAtt('Endpoint')); this.attrClusterSecurityGroupId = cdk.Token.asString(this.getAtt('ClusterSecurityGroupId')); this.attrCertificateAuthorityData = cdk.Token.asString(this.getAtt('CertificateAuthorityData')); this.attrEncryptionConfigKeyArn = cdk.Token.asString(this.getAtt('EncryptionConfigKeyArn')); this.attrOIDCIssuerURL = cdk.Token.asString(this.getAtt('OIDCIssuerURL')); } }" `; exports[`generate gitlab-projects-accesstoken.json 1`] = ` "// Generated by cdk-import import * as cdk from 'aws-cdk-lib'; import * as constructs from 'constructs'; /** * Creates a Project Access Token in GitLab * * @schema CfnAccessTokenProps */ export interface CfnAccessTokenProps { /** * The name of the Project Access Token to create. * * @schema CfnAccessTokenProps#Name */ readonly name: string; /** * The ID (numeric) of the project for which this Access Token is created. The project should exist and the user creating the Access Token should have rights to do this on this project. * * @schema CfnAccessTokenProps#ProjectId */ readonly projectId: number; /** * A valid access level. Default value is 40 (Maintainer). Other allowed values are 10 (Guest), 20 (Reporter), and 30 (Developer). * * @schema CfnAccessTokenProps#AccessLevel */ readonly accessLevel?: number; /** * The scopes this Project Access Token will be used for. The list of supported scopes is in the official GitLab documentation here: https://docs.gitlab.com/ee/user/project/settings/project_access_tokens.html#scopes-for-a-project-access-token . * * @schema CfnAccessTokenProps#Scopes */ readonly scopes: string[]; } /** * Converts an object of type 'CfnAccessTokenProps' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnAccessTokenProps(obj: CfnAccessTokenProps | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Name': obj.name, 'ProjectId': obj.projectId, 'AccessLevel': obj.accessLevel, 'Scopes': obj.scopes?.map(y => y), }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * A CloudFormation \`GitLab::Projects::AccessToken\` * * @cloudformationResource GitLab::Projects::AccessToken * @stability external */ export class CfnAccessToken extends cdk.CfnResource { /** * The CloudFormation resource type name for this resource class. */ public static readonly CFN_RESOURCE_TYPE_NAME = \\"GitLab::Projects::AccessToken\\"; /** * Resource props. */ public readonly props: CfnAccessTokenProps; /** * Attribute \`GitLab::Projects::AccessToken.Id\` */ public readonly attrId: number; /** * Create a new \`GitLab::Projects::AccessToken\`. * * @param scope - scope in which this resource is defined * @param id - scoped id of the resource * @param props - resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnAccessTokenProps) { super(scope, id, { type: CfnAccessToken.CFN_RESOURCE_TYPE_NAME, properties: toJson_CfnAccessTokenProps(props)! }); this.props = props; this.attrId = cdk.Token.asNumber(this.getAtt('Id')); } }" `; exports[`generate jfrog-linux-bastion-module.json 1`] = ` "// Generated by cdk-import import * as cdk from 'aws-cdk-lib'; import * as constructs from 'constructs'; /** * Schema for Module Fragment of type JFrog::Linux::Bastion::MODULE * * @schema CfnBastionModuleProps */ export interface CfnBastionModuleProps { /** * @schema CfnBastionModuleProps#Parameters */ readonly parameters?: CfnBastionModulePropsParameters; /** * @schema CfnBastionModuleProps#Resources */ readonly resources?: CfnBastionModulePropsResources; } /** * Converts an object of type 'CfnBastionModuleProps' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnBastionModuleProps(obj: CfnBastionModuleProps | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Parameters': toJson_CfnBastionModulePropsParameters(obj.parameters), 'Resources': toJson_CfnBastionModulePropsResources(obj.resources), }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnBastionModulePropsParameters */ export interface CfnBastionModulePropsParameters { /** * Logical Id of the MODULE * * @schema CfnBastionModulePropsParameters#LogicalId */ readonly logicalId?: CfnBastionModulePropsParametersLogicalId; /** * The Linux distribution for the AMI to be used for the bastion instances. * * @schema CfnBastionModulePropsParameters#BastionAMIOS */ readonly bastionAmios?: CfnBastionModulePropsParametersBastionAmios; /** * The value used for the name tag of the bastion host * * @schema CfnBastionModulePropsParameters#BastionHostName */ readonly bastionHostName?: CfnBastionModulePropsParametersBastionHostName; /** * Banner text to display upon login. * * @schema CfnBastionModulePropsParameters#BastionBanner */ readonly bastionBanner?: CfnBastionModulePropsParametersBastionBanner; /** * VPC tenancy to launch the bastion in. Options: 'dedicated' or 'default' * * @schema CfnBastionModulePropsParameters#BastionTenancy */ readonly bastionTenancy?: CfnBastionModulePropsParametersBastionTenancy; /** * Amazon EC2 instance type for the bastion instances. * * @schema CfnBastionModulePropsParameters#BastionInstanceType */ readonly bastionInstanceType?: CfnBastionModulePropsParametersBastionInstanceType; /** * To include a banner to be displayed when connecting via SSH to the bastion, choose true. * * @schema CfnBastionModulePropsParameters#EnableBanner */ readonly enableBanner?: CfnBastionModulePropsParametersEnableBanner; /** * To enable TCP forwarding, choose true. * * @schema CfnBastionModulePropsParameters#EnableTCPForwarding */ readonly enableTcpForwarding?: CfnBastionModulePropsParametersEnableTcpForwarding; /** * To enable X11 forwarding, choose true. * * @schema CfnBastionModulePropsParameters#EnableX11Forwarding */ readonly enableX11Forwarding?: CfnBastionModulePropsParametersEnableX11Forwarding; /** * Name of an existing public/private key pair. If you do not have one in this AWS Region, please create it before continuing. * * @schema CfnBastionModulePropsParameters#KeyPairName */ readonly keyPairName?: CfnBastionModulePropsParametersKeyPairName; /** * The number of bastion hosts to create. The maximum number is four. * * @schema CfnBastionModulePropsParameters#NumBastionHosts */ readonly numBastionHosts?: CfnBastionModulePropsParametersNumBastionHosts; /** * ID of the public subnet in Availability Zone 1 of your existing VPC (e.g., subnet-z0376dab). * * @schema CfnBastionModulePropsParameters#PublicSubnet1Id */ readonly publicSubnet1Id?: CfnBastionModulePropsParametersPublicSubnet1Id; /** * ID of the public subnet in Availability Zone 1 of your existing VPC (e.g., subnet-z0376dab). * * @schema CfnBastionModulePropsParameters#PublicSubnet2Id */ readonly publicSubnet2Id?: CfnBastionModulePropsParametersPublicSubnet2Id; /** * S3 bucket name for the Quick Start assets. Quick Start bucket name can include numbers, lowercase letters, uppercase letters, and hyphens (-). It cannot start or end with a hyphen (-). * * @schema CfnBastionModulePropsParameters#QSS3BucketName */ readonly qss3BucketName?: CfnBastionModulePropsParametersQss3BucketName; /** * The AWS Region where the Quick Start S3 bucket (QSS3BucketName) is hosted. When using your own bucket, you must specify this value. * * @schema CfnBastionModulePropsParameters#QSS3BucketRegion */ readonly qss3BucketRegion?: CfnBastionModulePropsParametersQss3BucketRegion; /** * S3 key prefix for the Quick Start assets. Quick Start key prefix can include numbers, lowercase letters, uppercase letters, hyphens (-), dots (.) and forward slash (/) and it should end with a forward slash (/). * * @schema CfnBastionModulePropsParameters#QSS3KeyPrefix */ readonly qss3KeyPrefix?: CfnBastionModulePropsParametersQss3KeyPrefix; /** * Allowed CIDR block for external SSH access to the bastions. * * @schema CfnBastionModulePropsParameters#RemoteAccessCIDR */ readonly remoteAccessCidr?: CfnBastionModulePropsParametersRemoteAccessCidr; /** * ID of the VPC (e.g., vpc-0343606e). * * @schema CfnBastionModulePropsParameters#VPCID */ readonly vpcid?: CfnBastionModulePropsParametersVpcid; /** * An alternative initialization script to run during setup. * * @schema CfnBastionModulePropsParameters#AlternativeInitializationScript */ readonly alternativeInitializationScript?: CfnBastionModulePropsParametersAlternativeInitializationScript; /** * The Region-specific image to use for the instance. * * @schema CfnBastionModulePropsParameters#OSImageOverride */ readonly osImageOverride?: CfnBastionModulePropsParametersOsImageOverride; /** * A comma-separated list of environment variables for use in bootstrapping. Variables must be in the format KEY=VALUE. VALUE cannot contain commas. * * @schema CfnBastionModulePropsParameters#EnvironmentVariables */ readonly environmentVariables?: CfnBastionModulePropsParametersEnvironmentVariables; /** * The size in GB for the root EBS volume. * * @schema CfnBastionModulePropsParameters#RootVolumeSize */ readonly rootVolumeSize?: CfnBastionModulePropsParametersRootVolumeSize; } /** * Converts an object of type 'CfnBastionModulePropsParameters' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnBastionModulePropsParameters(obj: CfnBastionModulePropsParameters | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'LogicalId': toJson_CfnBastionModulePropsParametersLogicalId(obj.logicalId), 'BastionAMIOS': toJson_CfnBastionModulePropsParametersBastionAmios(obj.bastionAmios), 'BastionHostName': toJson_CfnBastionModulePropsParametersBastionHostName(obj.bastionHostName), 'BastionBanner': toJson_CfnBastionModulePropsParametersBastionBanner(obj.bastionBanner), 'BastionTenancy': toJson_CfnBastionModulePropsParametersBastionTenancy(obj.bastionTenancy), 'BastionInstanceType': toJson_CfnBastionModulePropsParametersBastionInstanceType(obj.bastionInstanceType), 'EnableBanner': toJson_CfnBastionModulePropsParametersEnableBanner(obj.enableBanner), 'EnableTCPForwarding': toJson_CfnBastionModulePropsParametersEnableTcpForwarding(obj.enableTcpForwarding), 'EnableX11Forwarding': toJson_CfnBastionModulePropsParametersEnableX11Forwarding(obj.enableX11Forwarding), 'KeyPairName': toJson_CfnBastionModulePropsParametersKeyPairName(obj.keyPairName), 'NumBastionHosts': toJson_CfnBastionModulePropsParametersNumBastionHosts(obj.numBastionHosts), 'PublicSubnet1Id': toJson_CfnBastionModulePropsParametersPublicSubnet1Id(obj.publicSubnet1Id), 'PublicSubnet2Id': toJson_CfnBastionModulePropsParametersPublicSubnet2Id(obj.publicSubnet2Id), 'QSS3BucketName': toJson_CfnBastionModulePropsParametersQss3BucketName(obj.qss3BucketName), 'QSS3BucketRegion': toJson_CfnBastionModulePropsParametersQss3BucketRegion(obj.qss3BucketRegion), 'QSS3KeyPrefix': toJson_CfnBastionModulePropsParametersQss3KeyPrefix(obj.qss3KeyPrefix), 'RemoteAccessCIDR': toJson_CfnBastionModulePropsParametersRemoteAccessCidr(obj.remoteAccessCidr), 'VPCID': toJson_CfnBastionModulePropsParametersVpcid(obj.vpcid), 'AlternativeInitializationScript': toJson_CfnBastionModulePropsParametersAlternativeInitializationScript(obj.alternativeInitializationScript), 'OSImageOverride': toJson_CfnBastionModulePropsParametersOsImageOverride(obj.osImageOverride), 'EnvironmentVariables': toJson_CfnBastionModulePropsParametersEnvironmentVariables(obj.environmentVariables), 'RootVolumeSize': toJson_CfnBastionModulePropsParametersRootVolumeSize(obj.rootVolumeSize), }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnBastionModulePropsResources */ export interface CfnBastionModulePropsResources { /** * @schema CfnBastionModulePropsResources#BastionMainLogGroup */ readonly bastionMainLogGroup?: CfnBastionModulePropsResourcesBastionMainLogGroup; /** * @schema CfnBastionModulePropsResources#SSHMetricFilter */ readonly sshMetricFilter?: CfnBastionModulePropsResourcesSshMetricFilter; /** * @schema CfnBastionModulePropsResources#BastionHostRole */ readonly bastionHostRole?: CfnBastionModulePropsResourcesBastionHostRole; /** * @schema CfnBastionModulePropsResources#BastionHostPolicy */ readonly bastionHostPolicy?: CfnBastionModulePropsResourcesBastionHostPolicy; /** * @schema CfnBastionModulePropsResources#BastionHostProfile */ readonly bastionHostProfile?: CfnBastionModulePropsResourcesBastionHostProfile; /** * @schema CfnBastionModulePropsResources#EIP1 */ readonly eip1?: CfnBastionModulePropsResourcesEip1; /** * @schema CfnBastionModulePropsResources#EIP2 */ readonly eip2?: CfnBastionModulePropsResourcesEip2; /** * @schema CfnBastionModulePropsResources#EIP3 */ readonly eip3?: CfnBastionModulePropsResourcesEip3; /** * @schema CfnBastionModulePropsResources#EIP4 */ readonly eip4?: CfnBastionModulePropsResourcesEip4; /** * @schema CfnBastionModulePropsResources#BastionAutoScalingGroup */ readonly bastionAutoScalingGroup?: CfnBastionModulePropsResourcesBastionAutoScalingGroup; /** * @schema CfnBastionModulePropsResources#BastionLaunchConfiguration */ readonly bastionLaunchConfiguration?: CfnBastionModulePropsResourcesBastionLaunchConfiguration; /** * @schema CfnBastionModulePropsResources#BastionSecurityGroup */ readonly bastionSecurityGroup?: CfnBastionModulePropsResourcesBastionSecurityGroup; } /** * Converts an object of type 'CfnBastionModulePropsResources' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnBastionModulePropsResources(obj: CfnBastionModulePropsResources | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'BastionMainLogGroup': toJson_CfnBastionModulePropsResourcesBastionMainLogGroup(obj.bastionMainLogGroup), 'SSHMetricFilter': toJson_CfnBastionModulePropsResourcesSshMetricFilter(obj.sshMetricFilter), 'BastionHostRole': toJson_CfnBastionModulePropsResourcesBastionHostRole(obj.bastionHostRole), 'BastionHostPolicy': toJson_CfnBastionModulePropsResourcesBastionHostPolicy(obj.bastionHostPolicy), 'BastionHostProfile': toJson_CfnBastionModulePropsResourcesBastionHostProfile(obj.bastionHostProfile), 'EIP1': toJson_CfnBastionModulePropsResourcesEip1(obj.eip1), 'EIP2': toJson_CfnBastionModulePropsResourcesEip2(obj.eip2), 'EIP3': toJson_CfnBastionModulePropsResourcesEip3(obj.eip3), 'EIP4': toJson_CfnBastionModulePropsResourcesEip4(obj.eip4), 'BastionAutoScalingGroup': toJson_CfnBastionModulePropsResourcesBastionAutoScalingGroup(obj.bastionAutoScalingGroup), 'BastionLaunchConfiguration': toJson_CfnBastionModulePropsResourcesBastionLaunchConfiguration(obj.bastionLaunchConfiguration), 'BastionSecurityGroup': toJson_CfnBastionModulePropsResourcesBastionSecurityGroup(obj.bastionSecurityGroup), }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * Logical Id of the MODULE * * @schema CfnBastionModulePropsParametersLogicalId */ export interface CfnBastionModulePropsParametersLogicalId { /** * @schema CfnBastionModulePropsParametersLogicalId#Type */ readonly type: string; /** * @schema CfnBastionModulePropsParametersLogicalId#Description */ readonly description: string; } /** * Converts an object of type 'CfnBastionModulePropsParametersLogicalId' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnBastionModulePropsParametersLogicalId(obj: CfnBastionModulePropsParametersLogicalId | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * The Linux distribution for the AMI to be used for the bastion instances. * * @schema CfnBastionModulePropsParametersBastionAmios */ export interface CfnBastionModulePropsParametersBastionAmios { /** * @schema CfnBastionModulePropsParametersBastionAmios#Type */ readonly type: string; /** * @schema CfnBastionModulePropsParametersBastionAmios#Description */ readonly description: string; } /** * Converts an object of type 'CfnBastionModulePropsParametersBastionAmios' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnBastionModulePropsParametersBastionAmios(obj: CfnBastionModulePropsParametersBastionAmios | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * The value used for the name tag of the bastion host * * @schema CfnBastionModulePropsParametersBastionHostName */ export interface CfnBastionModulePropsParametersBastionHostName { /** * @schema CfnBastionModulePropsParametersBastionHostName#Type */ readonly type: string; /** * @schema CfnBastionModulePropsParametersBastionHostName#Description */ readonly description: string; } /** * Converts an object of type 'CfnBastionModulePropsParametersBastionHostName' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnBastionModulePropsParametersBastionHostName(obj: CfnBastionModulePropsParametersBastionHostName | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * Banner text to display upon login. * * @schema CfnBastionModulePropsParametersBastionBanner */ export interface CfnBastionModulePropsParametersBastionBanner { /** * @schema CfnBastionModulePropsParametersBastionBanner#Type */ readonly type: string; /** * @schema CfnBastionModulePropsParametersBastionBanner#Description */ readonly description: string; } /** * Converts an object of type 'CfnBastionModulePropsParametersBastionBanner' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnBastionModulePropsParametersBastionBanner(obj: CfnBastionModulePropsParametersBastionBanner | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * VPC tenancy to launch the bastion in. Options: 'dedicated' or 'default' * * @schema CfnBastionModulePropsParametersBastionTenancy */ export interface CfnBastionModulePropsParametersBastionTenancy { /** * @schema CfnBastionModulePropsParametersBastionTenancy#Type */ readonly type: string; /** * @schema CfnBastionModulePropsParametersBastionTenancy#Description */ readonly description: string; } /** * Converts an object of type 'CfnBastionModulePropsParametersBastionTenancy' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnBastionModulePropsParametersBastionTenancy(obj: CfnBastionModulePropsParametersBastionTenancy | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * Amazon EC2 instance type for the bastion instances. * * @schema CfnBastionModulePropsParametersBastionInstanceType */ export interface CfnBastionModulePropsParametersBastionInstanceType { /** * @schema CfnBastionModulePropsParametersBastionInstanceType#Type */ readonly type: string; /** * @schema CfnBastionModulePropsParametersBastionInstanceType#Description */ readonly description: string; } /** * Converts an object of type 'CfnBastionModulePropsParametersBastionInstanceType' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnBastionModulePropsParametersBastionInstanceType(obj: CfnBastionModulePropsParametersBastionInstanceType | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * To include a banner to be displayed when connecting via SSH to the bastion, choose true. * * @schema CfnBastionModulePropsParametersEnableBanner */ export interface CfnBastionModulePropsParametersEnableBanner { /** * @schema CfnBastionModulePropsParametersEnableBanner#Type */ readonly type: string; /** * @schema CfnBastionModulePropsParametersEnableBanner#Description */ readonly description: string; } /** * Converts an object of type 'CfnBastionModulePropsParametersEnableBanner' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnBastionModulePropsParametersEnableBanner(obj: CfnBastionModulePropsParametersEnableBanner | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * To enable TCP forwarding, choose true. * * @schema CfnBastionModulePropsParametersEnableTcpForwarding */ export interface CfnBastionModulePropsParametersEnableTcpForwarding { /** * @schema CfnBastionModulePropsParametersEnableTcpForwarding#Type */ readonly type: string; /** * @schema CfnBastionModulePropsParametersEnableTcpForwarding#Description */ readonly description: string; } /** * Converts an object of type 'CfnBastionModulePropsParametersEnableTcpForwarding' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnBastionModulePropsParametersEnableTcpForwarding(obj: CfnBastionModulePropsParametersEnableTcpForwarding | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * To enable X11 forwarding, choose true. * * @schema CfnBastionModulePropsParametersEnableX11Forwarding */ export interface CfnBastionModulePropsParametersEnableX11Forwarding { /** * @schema CfnBastionModulePropsParametersEnableX11Forwarding#Type */ readonly type: string; /** * @schema CfnBastionModulePropsParametersEnableX11Forwarding#Description */ readonly description: string; } /** * Converts an object of type 'CfnBastionModulePropsParametersEnableX11Forwarding' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnBastionModulePropsParametersEnableX11Forwarding(obj: CfnBastionModulePropsParametersEnableX11Forwarding | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * Name of an existing public/private key pair. If you do not have one in this AWS Region, please create it before continuing. * * @schema CfnBastionModulePropsParametersKeyPairName */ export interface CfnBastionModulePropsParametersKeyPairName { /** * @schema CfnBastionModulePropsParametersKeyPairName#Type */ readonly type: string; /** * @schema CfnBastionModulePropsParametersKeyPairName#Description */ readonly description: string; } /** * Converts an object of type 'CfnBastionModulePropsParametersKeyPairName' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnBastionModulePropsParametersKeyPairName(obj: CfnBastionModulePropsParametersKeyPairName | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * The number of bastion hosts to create. The maximum number is four. * * @schema CfnBastionModulePropsParametersNumBastionHosts */ export interface CfnBastionModulePropsParametersNumBastionHosts { /** * @schema CfnBastionModulePropsParametersNumBastionHosts#Type */ readonly type: string; /** * @schema CfnBastionModulePropsParametersNumBastionHosts#Description */ readonly description: string; } /** * Converts an object of type 'CfnBastionModulePropsParametersNumBastionHosts' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnBastionModulePropsParametersNumBastionHosts(obj: CfnBastionModulePropsParametersNumBastionHosts | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * ID of the public subnet in Availability Zone 1 of your existing VPC (e.g., subnet-z0376dab). * * @schema CfnBastionModulePropsParametersPublicSubnet1Id */ export interface CfnBastionModulePropsParametersPublicSubnet1Id { /** * @schema CfnBastionModulePropsParametersPublicSubnet1Id#Type */ readonly type: string; /** * @schema CfnBastionModulePropsParametersPublicSubnet1Id#Description */ readonly description: string; } /** * Converts an object of type 'CfnBastionModulePropsParametersPublicSubnet1Id' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnBastionModulePropsParametersPublicSubnet1Id(obj: CfnBastionModulePropsParametersPublicSubnet1Id | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * ID of the public subnet in Availability Zone 1 of your existing VPC (e.g., subnet-z0376dab). * * @schema CfnBastionModulePropsParametersPublicSubnet2Id */ export interface CfnBastionModulePropsParametersPublicSubnet2Id { /** * @schema CfnBastionModulePropsParametersPublicSubnet2Id#Type */ readonly type: string; /** * @schema CfnBastionModulePropsParametersPublicSubnet2Id#Description */ readonly description: string; } /** * Converts an object of type 'CfnBastionModulePropsParametersPublicSubnet2Id' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnBastionModulePropsParametersPublicSubnet2Id(obj: CfnBastionModulePropsParametersPublicSubnet2Id | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * S3 bucket name for the Quick Start assets. Quick Start bucket name can include numbers, lowercase letters, uppercase letters, and hyphens (-). It cannot start or end with a hyphen (-). * * @schema CfnBastionModulePropsParametersQss3BucketName */ export interface CfnBastionModulePropsParametersQss3BucketName { /** * @schema CfnBastionModulePropsParametersQss3BucketName#Type */ readonly type: string; /** * @schema CfnBastionModulePropsParametersQss3BucketName#Description */ readonly description: string; } /** * Converts an object of type 'CfnBastionModulePropsParametersQss3BucketName' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnBastionModulePropsParametersQss3BucketName(obj: CfnBastionModulePropsParametersQss3BucketName | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * The AWS Region where the Quick Start S3 bucket (QSS3BucketName) is hosted. When using your own bucket, you must specify this value. * * @schema CfnBastionModulePropsParametersQss3BucketRegion */ export interface CfnBastionModulePropsParametersQss3BucketRegion { /** * @schema CfnBastionModulePropsParametersQss3BucketRegion#Type */ readonly type: string; /** * @schema CfnBastionModulePropsParametersQss3BucketRegion#Description */ readonly description: string; } /** * Converts an object of type 'CfnBastionModulePropsParametersQss3BucketRegion' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnBastionModulePropsParametersQss3BucketRegion(obj: CfnBastionModulePropsParametersQss3BucketRegion | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * S3 key prefix for the Quick Start assets. Quick Start key prefix can include numbers, lowercase letters, uppercase letters, hyphens (-), dots (.) and forward slash (/) and it should end with a forward slash (/). * * @schema CfnBastionModulePropsParametersQss3KeyPrefix */ export interface CfnBastionModulePropsParametersQss3KeyPrefix { /** * @schema CfnBastionModulePropsParametersQss3KeyPrefix#Type */ readonly type: string; /** * @schema CfnBastionModulePropsParametersQss3KeyPrefix#Description */ readonly description: string; } /** * Converts an object of type 'CfnBastionModulePropsParametersQss3KeyPrefix' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnBastionModulePropsParametersQss3KeyPrefix(obj: CfnBastionModulePropsParametersQss3KeyPrefix | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * Allowed CIDR block for external SSH access to the bastions. * * @schema CfnBastionModulePropsParametersRemoteAccessCidr */ export interface CfnBastionModulePropsParametersRemoteAccessCidr { /** * @schema CfnBastionModulePropsParametersRemoteAccessCidr#Type */ readonly type: string; /** * @schema CfnBastionModulePropsParametersRemoteAccessCidr#Description */ readonly description: string; } /** * Converts an object of type 'CfnBastionModulePropsParametersRemoteAccessCidr' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnBastionModulePropsParametersRemoteAccessCidr(obj: CfnBastionModulePropsParametersRemoteAccessCidr | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * ID of the VPC (e.g., vpc-0343606e). * * @schema CfnBastionModulePropsParametersVpcid */ export interface CfnBastionModulePropsParametersVpcid { /** * @schema CfnBastionModulePropsParametersVpcid#Type */ readonly type: string; /** * @schema CfnBastionModulePropsParametersVpcid#Description */ readonly description: string; } /** * Converts an object of type 'CfnBastionModulePropsParametersVpcid' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnBastionModulePropsParametersVpcid(obj: CfnBastionModulePropsParametersVpcid | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * An alternative initialization script to run during setup. * * @schema CfnBastionModulePropsParametersAlternativeInitializationScript */ export interface CfnBastionModulePropsParametersAlternativeInitializationScript { /** * @schema CfnBastionModulePropsParametersAlternativeInitializationScript#Type */ readonly type: string; /** * @schema CfnBastionModulePropsParametersAlternativeInitializationScript#Description */ readonly description: string; } /** * Converts an object of type 'CfnBastionModulePropsParametersAlternativeInitializationScript' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnBastionModulePropsParametersAlternativeInitializationScript(obj: CfnBastionModulePropsParametersAlternativeInitializationScript | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * The Region-specific image to use for the instance. * * @schema CfnBastionModulePropsParametersOsImageOverride */ export interface CfnBastionModulePropsParametersOsImageOverride { /** * @schema CfnBastionModulePropsParametersOsImageOverride#Type */ readonly type: string; /** * @schema CfnBastionModulePropsParametersOsImageOverride#Description */ readonly description: string; } /** * Converts an object of type 'CfnBastionModulePropsParametersOsImageOverride' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnBastionModulePropsParametersOsImageOverride(obj: CfnBastionModulePropsParametersOsImageOverride | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * A comma-separated list of environment variables for use in bootstrapping. Variables must be in the format KEY=VALUE. VALUE cannot contain commas. * * @schema CfnBastionModulePropsParametersEnvironmentVariables */ export interface CfnBastionModulePropsParametersEnvironmentVariables { /** * @schema CfnBastionModulePropsParametersEnvironmentVariables#Type */ readonly type: string; /** * @schema CfnBastionModulePropsParametersEnvironmentVariables#Description */ readonly description: string; } /** * Converts an object of type 'CfnBastionModulePropsParametersEnvironmentVariables' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnBastionModulePropsParametersEnvironmentVariables(obj: CfnBastionModulePropsParametersEnvironmentVariables | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * The size in GB for the root EBS volume. * * @schema CfnBastionModulePropsParametersRootVolumeSize */ export interface CfnBastionModulePropsParametersRootVolumeSize { /** * @schema CfnBastionModulePropsParametersRootVolumeSize#Type */ readonly type: string; /** * @schema CfnBastionModulePropsParametersRootVolumeSize#Description */ readonly description: string; } /** * Converts an object of type 'CfnBastionModulePropsParametersRootVolumeSize' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnBastionModulePropsParametersRootVolumeSize(obj: CfnBastionModulePropsParametersRootVolumeSize | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Description': obj.description, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnBastionModulePropsResourcesBastionMainLogGroup */ export interface CfnBastionModulePropsResourcesBastionMainLogGroup { /** * @schema CfnBastionModulePropsResourcesBastionMainLogGroup#Type */ readonly type?: string; /** * @schema CfnBastionModulePropsResourcesBastionMainLogGroup#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnBastionModulePropsResourcesBastionMainLogGroup' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnBastionModulePropsResourcesBastionMainLogGroup(obj: CfnBastionModulePropsResourcesBastionMainLogGroup | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnBastionModulePropsResourcesSshMetricFilter */ export interface CfnBastionModulePropsResourcesSshMetricFilter { /** * @schema CfnBastionModulePropsResourcesSshMetricFilter#Type */ readonly type?: string; /** * @schema CfnBastionModulePropsResourcesSshMetricFilter#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnBastionModulePropsResourcesSshMetricFilter' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnBastionModulePropsResourcesSshMetricFilter(obj: CfnBastionModulePropsResourcesSshMetricFilter | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnBastionModulePropsResourcesBastionHostRole */ export interface CfnBastionModulePropsResourcesBastionHostRole { /** * @schema CfnBastionModulePropsResourcesBastionHostRole#Type */ readonly type?: string; /** * @schema CfnBastionModulePropsResourcesBastionHostRole#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnBastionModulePropsResourcesBastionHostRole' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnBastionModulePropsResourcesBastionHostRole(obj: CfnBastionModulePropsResourcesBastionHostRole | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnBastionModulePropsResourcesBastionHostPolicy */ export interface CfnBastionModulePropsResourcesBastionHostPolicy { /** * @schema CfnBastionModulePropsResourcesBastionHostPolicy#Type */ readonly type?: string; /** * @schema CfnBastionModulePropsResourcesBastionHostPolicy#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnBastionModulePropsResourcesBastionHostPolicy' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnBastionModulePropsResourcesBastionHostPolicy(obj: CfnBastionModulePropsResourcesBastionHostPolicy | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnBastionModulePropsResourcesBastionHostProfile */ export interface CfnBastionModulePropsResourcesBastionHostProfile { /** * @schema CfnBastionModulePropsResourcesBastionHostProfile#Type */ readonly type?: string; /** * @schema CfnBastionModulePropsResourcesBastionHostProfile#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnBastionModulePropsResourcesBastionHostProfile' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnBastionModulePropsResourcesBastionHostProfile(obj: CfnBastionModulePropsResourcesBastionHostProfile | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnBastionModulePropsResourcesEip1 */ export interface CfnBastionModulePropsResourcesEip1 { /** * @schema CfnBastionModulePropsResourcesEip1#Type */ readonly type?: string; /** * @schema CfnBastionModulePropsResourcesEip1#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnBastionModulePropsResourcesEip1' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnBastionModulePropsResourcesEip1(obj: CfnBastionModulePropsResourcesEip1 | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnBastionModulePropsResourcesEip2 */ export interface CfnBastionModulePropsResourcesEip2 { /** * @schema CfnBastionModulePropsResourcesEip2#Type */ readonly type?: string; /** * @schema CfnBastionModulePropsResourcesEip2#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnBastionModulePropsResourcesEip2' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnBastionModulePropsResourcesEip2(obj: CfnBastionModulePropsResourcesEip2 | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnBastionModulePropsResourcesEip3 */ export interface CfnBastionModulePropsResourcesEip3 { /** * @schema CfnBastionModulePropsResourcesEip3#Type */ readonly type?: string; /** * @schema CfnBastionModulePropsResourcesEip3#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnBastionModulePropsResourcesEip3' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnBastionModulePropsResourcesEip3(obj: CfnBastionModulePropsResourcesEip3 | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnBastionModulePropsResourcesEip4 */ export interface CfnBastionModulePropsResourcesEip4 { /** * @schema CfnBastionModulePropsResourcesEip4#Type */ readonly type?: string; /** * @schema CfnBastionModulePropsResourcesEip4#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnBastionModulePropsResourcesEip4' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnBastionModulePropsResourcesEip4(obj: CfnBastionModulePropsResourcesEip4 | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnBastionModulePropsResourcesBastionAutoScalingGroup */ export interface CfnBastionModulePropsResourcesBastionAutoScalingGroup { /** * @schema CfnBastionModulePropsResourcesBastionAutoScalingGroup#Type */ readonly type?: string; /** * @schema CfnBastionModulePropsResourcesBastionAutoScalingGroup#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnBastionModulePropsResourcesBastionAutoScalingGroup' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnBastionModulePropsResourcesBastionAutoScalingGroup(obj: CfnBastionModulePropsResourcesBastionAutoScalingGroup | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnBastionModulePropsResourcesBastionLaunchConfiguration */ export interface CfnBastionModulePropsResourcesBastionLaunchConfiguration { /** * @schema CfnBastionModulePropsResourcesBastionLaunchConfiguration#Type */ readonly type?: string; /** * @schema CfnBastionModulePropsResourcesBastionLaunchConfiguration#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnBastionModulePropsResourcesBastionLaunchConfiguration' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnBastionModulePropsResourcesBastionLaunchConfiguration(obj: CfnBastionModulePropsResourcesBastionLaunchConfiguration | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnBastionModulePropsResourcesBastionSecurityGroup */ export interface CfnBastionModulePropsResourcesBastionSecurityGroup { /** * @schema CfnBastionModulePropsResourcesBastionSecurityGroup#Type */ readonly type?: string; /** * @schema CfnBastionModulePropsResourcesBastionSecurityGroup#Properties */ readonly properties?: any; } /** * Converts an object of type 'CfnBastionModulePropsResourcesBastionSecurityGroup' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnBastionModulePropsResourcesBastionSecurityGroup(obj: CfnBastionModulePropsResourcesBastionSecurityGroup | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Type': obj.type, 'Properties': obj.properties, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * A CloudFormation \`JFrog::Linux::Bastion::MODULE\` * * @cloudformationResource JFrog::Linux::Bastion::MODULE * @stability external */ export class CfnBastionModule extends cdk.CfnResource { /** * The CloudFormation resource type name for this resource class. */ public static readonly CFN_RESOURCE_TYPE_NAME = \\"JFrog::Linux::Bastion::MODULE\\"; /** * Resource props. */ public readonly props: CfnBastionModuleProps; /** * Create a new \`JFrog::Linux::Bastion::MODULE\`. * * @param scope - scope in which this resource is defined * @param id - scoped id of the resource * @param props - resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnBastionModuleProps) { super(scope, id, { type: CfnBastionModule.CFN_RESOURCE_TYPE_NAME, properties: toJson_CfnBastionModuleProps(props)! }); this.props = props; } }" `; exports[`generate test-util-list.json 1`] = ` "// Generated by cdk-import import * as cdk from 'aws-cdk-lib'; import * as constructs from 'constructs'; /** * Simple utility resource to work around some rough edges in Cloudformation * * @schema CfnListProps */ export interface CfnListProps { /** * @schema CfnListProps#Input */ readonly input: string[]; } /** * Converts an object of type 'CfnListProps' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnListProps(obj: CfnListProps | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Input': obj.input?.map(y => y), }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * A CloudFormation \`TEST::Util::List\` * * @cloudformationResource TEST::Util::List * @stability external * @link https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git */ export class CfnList extends cdk.CfnResource { /** * The CloudFormation resource type name for this resource class. */ public static readonly CFN_RESOURCE_TYPE_NAME = \\"TEST::Util::List\\"; /** * Resource props. */ public readonly props: CfnListProps; /** * Attribute \`TEST::Util::List.Id\` * @link https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git */ public readonly attrId: string; /** * Attribute \`TEST::Util::List.Values\` * @link https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git */ public readonly attrValues: string[]; /** * Create a new \`TEST::Util::List\`. * * @param scope - scope in which this resource is defined * @param id - scoped id of the resource * @param props - resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnListProps) { super(scope, id, { type: CfnList.CFN_RESOURCE_TYPE_NAME, properties: toJson_CfnListProps(props)! }); this.props = props; this.attrId = cdk.Token.asString(this.getAtt('Id')); this.attrValues = cdk.Token.asList(this.getAtt('Values')); } }" `; exports[`generate tf-cloudflare-record.json 1`] = ` "// Generated by cdk-import import * as cdk from 'aws-cdk-lib'; import * as constructs from 'constructs'; /** * Provides a Cloudflare record resource. * * @schema CfnRecordProps */ export interface CfnRecordProps { /** * Map of attributes that constitute the record value. Primarily used for LOC and SRV record types. Either this or \`value\` must be specified. * * @schema CfnRecordProps#Data */ readonly data?: DataDefinition[]; /** * @schema CfnRecordProps#Metadata */ readonly metadata?: MetadataDefinition[]; /** * The name of the record. * * @schema CfnRecordProps#Name */ readonly name: string; /** * The priority of the record. * * @schema CfnRecordProps#Priority */ readonly priority?: number; /** * Whether the record gets Cloudflare's origin protection; defaults to \`false\`. * * @schema CfnRecordProps#Proxied */ readonly proxied?: boolean; /** * The TTL of the record ([automatic: '1'](https://api.cloudflare.com/#dns-records-for-a-zone-create-dns-record)). * * @schema CfnRecordProps#Ttl */ readonly ttl?: number; /** * The type of the record. * * @schema CfnRecordProps#Type */ readonly type: string; /** * The (string) value of the record. Either this or \`data\` must be specified. * * @schema CfnRecordProps#Value */ readonly value?: string; /** * The DNS zone ID to add the record to. * * @schema CfnRecordProps#ZoneId */ readonly zoneId: string; /** * @schema CfnRecordProps#Timeouts */ readonly timeouts?: TimeoutsDefinition; } /** * Converts an object of type 'CfnRecordProps' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnRecordProps(obj: CfnRecordProps | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Data': obj.data?.map(y => toJson_DataDefinition(y)), 'Metadata': obj.metadata?.map(y => toJson_MetadataDefinition(y)), 'Name': obj.name, 'Priority': obj.priority, 'Proxied': obj.proxied, 'Ttl': obj.ttl, 'Type': obj.type, 'Value': obj.value, 'ZoneId': obj.zoneId, 'Timeouts': toJson_TimeoutsDefinition(obj.timeouts), }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema DataDefinition */ export interface DataDefinition { /** * @schema DataDefinition#MapKey */ readonly mapKey: string; /** * @schema DataDefinition#MapValue */ readonly mapValue: string; } /** * Converts an object of type 'DataDefinition' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_DataDefinition(obj: DataDefinition | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'MapKey': obj.mapKey, 'MapValue': obj.mapValue, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema MetadataDefinition */ export interface MetadataDefinition { /** * @schema MetadataDefinition#MapKey */ readonly mapKey: string; /** * @schema MetadataDefinition#MapValue */ readonly mapValue: string; } /** * Converts an object of type 'MetadataDefinition' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_MetadataDefinition(obj: MetadataDefinition | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'MapKey': obj.mapKey, 'MapValue': obj.mapValue, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema TimeoutsDefinition */ export interface TimeoutsDefinition { /** * @schema TimeoutsDefinition#Create */ readonly create?: string; /** * @schema TimeoutsDefinition#Update */ readonly update?: string; } /** * Converts an object of type 'TimeoutsDefinition' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_TimeoutsDefinition(obj: TimeoutsDefinition | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Create': obj.create, 'Update': obj.update, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * A CloudFormation \`TF::Cloudflare::Record\` * * @cloudformationResource TF::Cloudflare::Record * @stability external * @link https://github.com/iann0036/cfn-tf-custom-types.git */ export class CfnRecord extends cdk.CfnResource { /** * The CloudFormation resource type name for this resource class. */ public static readonly CFN_RESOURCE_TYPE_NAME = \\"TF::Cloudflare::Record\\"; /** * Resource props. */ public readonly props: CfnRecordProps; /** * Attribute \`TF::Cloudflare::Record.tfcfnid\` * @link https://github.com/iann0036/cfn-tf-custom-types.git */ public readonly attrTfcfnid: string; /** * Attribute \`TF::Cloudflare::Record.CreatedOn\` * @link https://github.com/iann0036/cfn-tf-custom-types.git */ public readonly attrCreatedOn: string; /** * Attribute \`TF::Cloudflare::Record.Hostname\` * @link https://github.com/iann0036/cfn-tf-custom-types.git */ public readonly attrHostname: string; /** * Attribute \`TF::Cloudflare::Record.Id\` * @link https://github.com/iann0036/cfn-tf-custom-types.git */ public readonly attrId: string; /** * Attribute \`TF::Cloudflare::Record.ModifiedOn\` * @link https://github.com/iann0036/cfn-tf-custom-types.git */ public readonly attrModifiedOn: string; /** * Attribute \`TF::Cloudflare::Record.Proxiable\` * @link https://github.com/iann0036/cfn-tf-custom-types.git */ public readonly attrProxiable: cdk.IResolvable; /** * Create a new \`TF::Cloudflare::Record\`. * * @param scope - scope in which this resource is defined * @param id - scoped id of the resource * @param props - resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnRecordProps) { super(scope, id, { type: CfnRecord.CFN_RESOURCE_TYPE_NAME, properties: toJson_CfnRecordProps(props)! }); this.props = props; this.attrTfcfnid = cdk.Token.asString(this.getAtt('tfcfnid')); this.attrCreatedOn = cdk.Token.asString(this.getAtt('CreatedOn')); this.attrHostname = cdk.Token.asString(this.getAtt('Hostname')); this.attrId = cdk.Token.asString(this.getAtt('Id')); this.attrModifiedOn = cdk.Token.asString(this.getAtt('ModifiedOn')); this.attrProxiable = this.getAtt('Proxiable'); } }" `;