{ "typeName": "JFrog::Linux::Bastion::MODULE", "description": "Schema for Module Fragment of type JFrog::Linux::Bastion::MODULE", "properties": { "Parameters": { "type": "object", "properties": { "LogicalId": { "type": "object", "properties": { "Type": { "type": "string" }, "Description": { "type": "string" } }, "required": [ "Type", "Description" ], "description": "Logical Id of the MODULE" }, "BastionAMIOS": { "type": "object", "properties": { "Type": { "type": "string" }, "Description": { "type": "string" } }, "required": [ "Type", "Description" ], "description": "The Linux distribution for the AMI to be used for the bastion instances." }, "BastionHostName": { "type": "object", "properties": { "Type": { "type": "string" }, "Description": { "type": "string" } }, "required": [ "Type", "Description" ], "description": "The value used for the name tag of the bastion host" }, "BastionBanner": { "type": "object", "properties": { "Type": { "type": "string" }, "Description": { "type": "string" } }, "required": [ "Type", "Description" ], "description": "Banner text to display upon login." }, "BastionTenancy": { "type": "object", "properties": { "Type": { "type": "string" }, "Description": { "type": "string" } }, "required": [ "Type", "Description" ], "description": "VPC tenancy to launch the bastion in. Options: 'dedicated' or 'default'" }, "BastionInstanceType": { "type": "object", "properties": { "Type": { "type": "string" }, "Description": { "type": "string" } }, "required": [ "Type", "Description" ], "description": "Amazon EC2 instance type for the bastion instances." }, "EnableBanner": { "type": "object", "properties": { "Type": { "type": "string" }, "Description": { "type": "string" } }, "required": [ "Type", "Description" ], "description": "To include a banner to be displayed when connecting via SSH to the bastion, choose true." }, "EnableTCPForwarding": { "type": "object", "properties": { "Type": { "type": "string" }, "Description": { "type": "string" } }, "required": [ "Type", "Description" ], "description": "To enable TCP forwarding, choose true." }, "EnableX11Forwarding": { "type": "object", "properties": { "Type": { "type": "string" }, "Description": { "type": "string" } }, "required": [ "Type", "Description" ], "description": "To enable X11 forwarding, choose true." }, "KeyPairName": { "type": "object", "properties": { "Type": { "type": "string" }, "Description": { "type": "string" } }, "required": [ "Type", "Description" ], "description": "Name of an existing public/private key pair. If you do not have one in this AWS Region, please create it before continuing." }, "NumBastionHosts": { "type": "object", "properties": { "Type": { "type": "string" }, "Description": { "type": "string" } }, "required": [ "Type", "Description" ], "description": "The number of bastion hosts to create. The maximum number is four." }, "PublicSubnet1Id": { "type": "object", "properties": { "Type": { "type": "string" }, "Description": { "type": "string" } }, "required": [ "Type", "Description" ], "description": "ID of the public subnet in Availability Zone 1 of your existing VPC (e.g., subnet-z0376dab)." }, "PublicSubnet2Id": { "type": "object", "properties": { "Type": { "type": "string" }, "Description": { "type": "string" } }, "required": [ "Type", "Description" ], "description": "ID of the public subnet in Availability Zone 1 of your existing VPC (e.g., subnet-z0376dab)." }, "QSS3BucketName": { "type": "object", "properties": { "Type": { "type": "string" }, "Description": { "type": "string" } }, "required": [ "Type", "Description" ], "description": "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 (-)." }, "QSS3BucketRegion": { "type": "object", "properties": { "Type": { "type": "string" }, "Description": { "type": "string" } }, "required": [ "Type", "Description" ], "description": "The AWS Region where the Quick Start S3 bucket (QSS3BucketName) is hosted. When using your own bucket, you must specify this value." }, "QSS3KeyPrefix": { "type": "object", "properties": { "Type": { "type": "string" }, "Description": { "type": "string" } }, "required": [ "Type", "Description" ], "description": "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 (/)." }, "RemoteAccessCIDR": { "type": "object", "properties": { "Type": { "type": "string" }, "Description": { "type": "string" } }, "required": [ "Type", "Description" ], "description": "Allowed CIDR block for external SSH access to the bastions." }, "VPCID": { "type": "object", "properties": { "Type": { "type": "string" }, "Description": { "type": "string" } }, "required": [ "Type", "Description" ], "description": "ID of the VPC (e.g., vpc-0343606e)." }, "AlternativeInitializationScript": { "type": "object", "properties": { "Type": { "type": "string" }, "Description": { "type": "string" } }, "required": [ "Type", "Description" ], "description": "An alternative initialization script to run during setup." }, "OSImageOverride": { "type": "object", "properties": { "Type": { "type": "string" }, "Description": { "type": "string" } }, "required": [ "Type", "Description" ], "description": "The Region-specific image to use for the instance." }, "EnvironmentVariables": { "type": "object", "properties": { "Type": { "type": "string" }, "Description": { "type": "string" } }, "required": [ "Type", "Description" ], "description": "A comma-separated list of environment variables for use in bootstrapping. Variables must be in the format KEY=VALUE. VALUE cannot contain commas." }, "RootVolumeSize": { "type": "object", "properties": { "Type": { "type": "string" }, "Description": { "type": "string" } }, "required": [ "Type", "Description" ], "description": "The size in GB for the root EBS volume." } } }, "Resources": { "properties": { "BastionMainLogGroup": { "type": "object", "properties": { "Type": { "type": "string", "const": "AWS::Logs::LogGroup" }, "Properties": { "type": "object" } } }, "SSHMetricFilter": { "type": "object", "properties": { "Type": { "type": "string", "const": "AWS::Logs::MetricFilter" }, "Properties": { "type": "object" } } }, "BastionHostRole": { "type": "object", "properties": { "Type": { "type": "string", "const": "AWS::IAM::Role" }, "Properties": { "type": "object" } } }, "BastionHostPolicy": { "type": "object", "properties": { "Type": { "type": "string", "const": "AWS::IAM::Policy" }, "Properties": { "type": "object" } } }, "BastionHostProfile": { "type": "object", "properties": { "Type": { "type": "string", "const": "AWS::IAM::InstanceProfile" }, "Properties": { "type": "object" } } }, "EIP1": { "type": "object", "properties": { "Type": { "type": "string", "const": "AWS::EC2::EIP" }, "Properties": { "type": "object" } } }, "EIP2": { "type": "object", "properties": { "Type": { "type": "string", "const": "AWS::EC2::EIP" }, "Properties": { "type": "object" } } }, "EIP3": { "type": "object", "properties": { "Type": { "type": "string", "const": "AWS::EC2::EIP" }, "Properties": { "type": "object" } } }, "EIP4": { "type": "object", "properties": { "Type": { "type": "string", "const": "AWS::EC2::EIP" }, "Properties": { "type": "object" } } }, "BastionAutoScalingGroup": { "type": "object", "properties": { "Type": { "type": "string", "const": "AWS::AutoScaling::AutoScalingGroup" }, "Properties": { "type": "object" } } }, "BastionLaunchConfiguration": { "type": "object", "properties": { "Type": { "type": "string", "const": "AWS::AutoScaling::LaunchConfiguration" }, "Properties": { "type": "object" } } }, "BastionSecurityGroup": { "type": "object", "properties": { "Type": { "type": "string", "const": "AWS::EC2::SecurityGroup" }, "Properties": { "type": "object" } } } }, "type": "object", "additionalProperties": false } }, "additionalProperties": true }