Documentation
¶
Overview ¶
AUTOGENERATED CODE DO NOT EDIT This file is automatically generated from /internal/codegen/templates/s3_parquet_dao.tmpl
Index ¶
- type S3ParquetClient
- func (c *S3ParquetClient) CloseAll(ctx context.Context) error
- func (c *S3ParquetClient) FinishIndex(ctx context.Context, indices []string, reportDateUnixMilli int64) error
- func (c *S3ParquetClient) GetResourceFile(ctx context.Context, indices []string, reportDateUnixMilli int64, ...) (*S3ParquetFile, error)
- type S3ParquetFile
- type S3ParquetWriterDAO
- func (dao *S3ParquetWriterDAO) Finish(ctx context.Context) error
- func (dao *S3ParquetWriterDAO) FinishIndex(ctx context.Context, indices []string, reportDateUnixMilli int64) error
- func (dao *S3ParquetWriterDAO) PutAwsACMCertificates(ctx context.Context, resources []*acm.Certificate) error
- func (dao *S3ParquetWriterDAO) PutAwsApiGatewayRestApis(ctx context.Context, resources []*apigateway.RestApi) error
- func (dao *S3ParquetWriterDAO) PutAwsApiGatewayV2Apis(ctx context.Context, resources []*apigatewayv2.Api) error
- func (dao *S3ParquetWriterDAO) PutAwsApplicationAutoScalingScalingPolicies(ctx context.Context, resources []*applicationautoscaling.ScalingPolicy) error
- func (dao *S3ParquetWriterDAO) PutAwsAthenaDataCatalogs(ctx context.Context, resources []*athena.DataCatalog) error
- func (dao *S3ParquetWriterDAO) PutAwsAthenaDatabases(ctx context.Context, resources []*athena.Database) error
- func (dao *S3ParquetWriterDAO) PutAwsAthenaWorkGroups(ctx context.Context, resources []*athena.WorkGroup) error
- func (dao *S3ParquetWriterDAO) PutAwsAutoScalingAutoScalingGroups(ctx context.Context, resources []*autoscaling.AutoScalingGroup) error
- func (dao *S3ParquetWriterDAO) PutAwsAutoScalingLaunchConfigurations(ctx context.Context, resources []*autoscaling.LaunchConfiguration) error
- func (dao *S3ParquetWriterDAO) PutAwsBackupBackupPlans(ctx context.Context, resources []*backup.BackupPlan) error
- func (dao *S3ParquetWriterDAO) PutAwsBackupBackupVaults(ctx context.Context, resources []*backup.BackupVault) error
- func (dao *S3ParquetWriterDAO) PutAwsCloudFormationStacks(ctx context.Context, resources []*cloudformation.Stack) error
- func (dao *S3ParquetWriterDAO) PutAwsCloudFrontDistributions(ctx context.Context, resources []*cloudfront.Distribution) error
- func (dao *S3ParquetWriterDAO) PutAwsCloudTrailTrails(ctx context.Context, resources []*cloudtrail.Trail) error
- func (dao *S3ParquetWriterDAO) PutAwsCloudWatchCompositeAlarms(ctx context.Context, resources []*cloudwatch.CompositeAlarm) error
- func (dao *S3ParquetWriterDAO) PutAwsCloudWatchLogsLogGroups(ctx context.Context, resources []*cloudwatchlogs.LogGroup) error
- func (dao *S3ParquetWriterDAO) PutAwsCloudWatchMetricAlarms(ctx context.Context, resources []*cloudwatch.MetricAlarm) error
- func (dao *S3ParquetWriterDAO) PutAwsDynamoDBTables(ctx context.Context, resources []*dynamodb.Table) error
- func (dao *S3ParquetWriterDAO) PutAwsEC2Addresses(ctx context.Context, resources []*ec2.Address) error
- func (dao *S3ParquetWriterDAO) PutAwsEC2DhcpOptions(ctx context.Context, resources []*ec2.DhcpOptions) error
- func (dao *S3ParquetWriterDAO) PutAwsEC2Images(ctx context.Context, resources []*ec2.Image) error
- func (dao *S3ParquetWriterDAO) PutAwsEC2Instances(ctx context.Context, resources []*ec2.Instance) error
- func (dao *S3ParquetWriterDAO) PutAwsEC2InternetGateways(ctx context.Context, resources []*ec2.InternetGateway) error
- func (dao *S3ParquetWriterDAO) PutAwsEC2ManagedPrefixLists(ctx context.Context, resources []*ec2.ManagedPrefixList) error
- func (dao *S3ParquetWriterDAO) PutAwsEC2NatGateways(ctx context.Context, resources []*ec2.NatGateway) error
- func (dao *S3ParquetWriterDAO) PutAwsEC2NetworkAcls(ctx context.Context, resources []*ec2.NetworkAcl) error
- func (dao *S3ParquetWriterDAO) PutAwsEC2NetworkInterfaces(ctx context.Context, resources []*ec2.NetworkInterface) error
- func (dao *S3ParquetWriterDAO) PutAwsEC2PlacementGroups(ctx context.Context, resources []*ec2.PlacementGroup) error
- func (dao *S3ParquetWriterDAO) PutAwsEC2ReservedInstances(ctx context.Context, resources []*ec2.ReservedInstances) error
- func (dao *S3ParquetWriterDAO) PutAwsEC2RouteTables(ctx context.Context, resources []*ec2.RouteTable) error
- func (dao *S3ParquetWriterDAO) PutAwsEC2SecurityGroups(ctx context.Context, resources []*ec2.SecurityGroup) error
- func (dao *S3ParquetWriterDAO) PutAwsEC2Subnets(ctx context.Context, resources []*ec2.Subnet) error
- func (dao *S3ParquetWriterDAO) PutAwsEC2TransitGatewayPeeringAttachments(ctx context.Context, resources []*ec2.TransitGatewayPeeringAttachment) error
- func (dao *S3ParquetWriterDAO) PutAwsEC2TransitGatewayRouteTables(ctx context.Context, resources []*ec2.TransitGatewayRouteTable) error
- func (dao *S3ParquetWriterDAO) PutAwsEC2TransitGatewayVpcAttachments(ctx context.Context, resources []*ec2.TransitGatewayVpcAttachment) error
- func (dao *S3ParquetWriterDAO) PutAwsEC2TransitGateways(ctx context.Context, resources []*ec2.TransitGateway) error
- func (dao *S3ParquetWriterDAO) PutAwsEC2Volumes(ctx context.Context, resources []*ec2.Volume) error
- func (dao *S3ParquetWriterDAO) PutAwsEC2VpcEndpoints(ctx context.Context, resources []*ec2.VpcEndpoint) error
- func (dao *S3ParquetWriterDAO) PutAwsEC2VpcPeeringConnections(ctx context.Context, resources []*ec2.VpcPeeringConnection) error
- func (dao *S3ParquetWriterDAO) PutAwsEC2Vpcs(ctx context.Context, resources []*ec2.Vpc) error
- func (dao *S3ParquetWriterDAO) PutAwsEC2VpnGateways(ctx context.Context, resources []*ec2.VpnGateway) error
- func (dao *S3ParquetWriterDAO) PutAwsECRRepositories(ctx context.Context, resources []*ecr.Repository) error
- func (dao *S3ParquetWriterDAO) PutAwsECSClusters(ctx context.Context, resources []*ecs.Cluster) error
- func (dao *S3ParquetWriterDAO) PutAwsECSServices(ctx context.Context, resources []*ecs.Service) error
- func (dao *S3ParquetWriterDAO) PutAwsECSTasks(ctx context.Context, resources []*ecs.Task) error
- func (dao *S3ParquetWriterDAO) PutAwsEFSFileSystems(ctx context.Context, resources []*efs.FileSystem) error
- func (dao *S3ParquetWriterDAO) PutAwsElastiCacheCacheClusters(ctx context.Context, resources []*elasticache.CacheCluster) error
- func (dao *S3ParquetWriterDAO) PutAwsElasticLoadBalancingLoadBalancers(ctx context.Context, resources []*elasticloadbalancing.LoadBalancer) error
- func (dao *S3ParquetWriterDAO) PutAwsElasticLoadBalancingV2LoadBalancers(ctx context.Context, resources []*elasticloadbalancingv2.LoadBalancer) error
- func (dao *S3ParquetWriterDAO) PutAwsElasticLoadBalancingV2TargetGroups(ctx context.Context, resources []*elasticloadbalancingv2.TargetGroup) error
- func (dao *S3ParquetWriterDAO) PutAwsIAMGroups(ctx context.Context, resources []*iam.Group) error
- func (dao *S3ParquetWriterDAO) PutAwsIAMPolicies(ctx context.Context, resources []*iam.Policy) error
- func (dao *S3ParquetWriterDAO) PutAwsIAMRoles(ctx context.Context, resources []*iam.Role) error
- func (dao *S3ParquetWriterDAO) PutAwsIAMUsers(ctx context.Context, resources []*iam.User) error
- func (dao *S3ParquetWriterDAO) PutAwsKMSKeys(ctx context.Context, resources []*kms.Key) error
- func (dao *S3ParquetWriterDAO) PutAwsLambdaFunctions(ctx context.Context, resources []*lambda.Function) error
- func (dao *S3ParquetWriterDAO) PutAwsRDSDBClusters(ctx context.Context, resources []*rds.DBCluster) error
- func (dao *S3ParquetWriterDAO) PutAwsRDSDBInstances(ctx context.Context, resources []*rds.DBInstance) error
- func (dao *S3ParquetWriterDAO) PutAwsRedshiftClusters(ctx context.Context, resources []*redshift.Cluster) error
- func (dao *S3ParquetWriterDAO) PutAwsRoute53HostedZones(ctx context.Context, resources []*route53.HostedZone) error
- func (dao *S3ParquetWriterDAO) PutAwsS3Buckets(ctx context.Context, resources []*s3.Bucket) error
- func (dao *S3ParquetWriterDAO) PutAwsSNSSubscriptions(ctx context.Context, resources []*sns.Subscription) error
- func (dao *S3ParquetWriterDAO) PutAwsSNSTopics(ctx context.Context, resources []*sns.Topic) error
- func (dao *S3ParquetWriterDAO) PutAwsSQSQueues(ctx context.Context, resources []*sqs.Queue) error
- func (dao *S3ParquetWriterDAO) PutAwsSSMParameters(ctx context.Context, resources []*ssm.Parameter) error
- func (dao *S3ParquetWriterDAO) PutAwsSecretsManagerSecrets(ctx context.Context, resources []*secretsmanager.Secret) error
- func (dao *S3ParquetWriterDAO) PutAwsStorageGatewayGateways(ctx context.Context, resources []*storagegateway.Gateway) error
- func (dao *S3ParquetWriterDAO) WriteIngestionTimestamp(ctx context.Context, metadata *meta.IngestionTimestamp) error
- func (dao *S3ParquetWriterDAO) WriteInventoryResults(ctx context.Context, metadata *meta.InventoryResults) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type S3ParquetClient ¶
type S3ParquetClient struct { Bucket string PathPrefix string S3Client s3v2.S3API FilesLock sync.Mutex Files map[string]*S3ParquetFile NumProcessors int64 }
func NewS3ParquetClient ¶
func NewS3ParquetClient(client s3v2.S3API, bucket string, numProcessors int64) *S3ParquetClient
func (*S3ParquetClient) FinishIndex ¶
func (*S3ParquetClient) GetResourceFile ¶
func (c *S3ParquetClient) GetResourceFile(ctx context.Context, indices []string, reportDateUnixMilli int64, sampleObj interface{}) (*S3ParquetFile, error)
type S3ParquetFile ¶
type S3ParquetFile struct { FileKey string Bucket string Lock sync.Mutex S3Client s3v2.S3API // contains filtered or unexported fields }
func (*S3ParquetFile) Write ¶
func (f *S3ParquetFile) Write(obj interface{}) error
type S3ParquetWriterDAO ¶
type S3ParquetWriterDAO struct {
// contains filtered or unexported fields
}
func NewS3ParquetWriterDAO ¶
func NewS3ParquetWriterDAO(s3Client *awsS3.Client, bucket string, numProcessors int64) *S3ParquetWriterDAO
func (*S3ParquetWriterDAO) Finish ¶
func (dao *S3ParquetWriterDAO) Finish(ctx context.Context) error
func (*S3ParquetWriterDAO) FinishIndex ¶
func (*S3ParquetWriterDAO) PutAwsACMCertificates ¶
func (dao *S3ParquetWriterDAO) PutAwsACMCertificates(ctx context.Context, resources []*acm.Certificate) error
func (*S3ParquetWriterDAO) PutAwsApiGatewayRestApis ¶
func (dao *S3ParquetWriterDAO) PutAwsApiGatewayRestApis(ctx context.Context, resources []*apigateway.RestApi) error
func (*S3ParquetWriterDAO) PutAwsApiGatewayV2Apis ¶
func (dao *S3ParquetWriterDAO) PutAwsApiGatewayV2Apis(ctx context.Context, resources []*apigatewayv2.Api) error
func (*S3ParquetWriterDAO) PutAwsApplicationAutoScalingScalingPolicies ¶
func (dao *S3ParquetWriterDAO) PutAwsApplicationAutoScalingScalingPolicies(ctx context.Context, resources []*applicationautoscaling.ScalingPolicy) error
func (*S3ParquetWriterDAO) PutAwsAthenaDataCatalogs ¶
func (dao *S3ParquetWriterDAO) PutAwsAthenaDataCatalogs(ctx context.Context, resources []*athena.DataCatalog) error
func (*S3ParquetWriterDAO) PutAwsAthenaDatabases ¶
func (*S3ParquetWriterDAO) PutAwsAthenaWorkGroups ¶
func (*S3ParquetWriterDAO) PutAwsAutoScalingAutoScalingGroups ¶
func (dao *S3ParquetWriterDAO) PutAwsAutoScalingAutoScalingGroups(ctx context.Context, resources []*autoscaling.AutoScalingGroup) error
func (*S3ParquetWriterDAO) PutAwsAutoScalingLaunchConfigurations ¶
func (dao *S3ParquetWriterDAO) PutAwsAutoScalingLaunchConfigurations(ctx context.Context, resources []*autoscaling.LaunchConfiguration) error
func (*S3ParquetWriterDAO) PutAwsBackupBackupPlans ¶
func (dao *S3ParquetWriterDAO) PutAwsBackupBackupPlans(ctx context.Context, resources []*backup.BackupPlan) error
func (*S3ParquetWriterDAO) PutAwsBackupBackupVaults ¶
func (dao *S3ParquetWriterDAO) PutAwsBackupBackupVaults(ctx context.Context, resources []*backup.BackupVault) error
func (*S3ParquetWriterDAO) PutAwsCloudFormationStacks ¶
func (dao *S3ParquetWriterDAO) PutAwsCloudFormationStacks(ctx context.Context, resources []*cloudformation.Stack) error
func (*S3ParquetWriterDAO) PutAwsCloudFrontDistributions ¶
func (dao *S3ParquetWriterDAO) PutAwsCloudFrontDistributions(ctx context.Context, resources []*cloudfront.Distribution) error
func (*S3ParquetWriterDAO) PutAwsCloudTrailTrails ¶
func (dao *S3ParquetWriterDAO) PutAwsCloudTrailTrails(ctx context.Context, resources []*cloudtrail.Trail) error
func (*S3ParquetWriterDAO) PutAwsCloudWatchCompositeAlarms ¶
func (dao *S3ParquetWriterDAO) PutAwsCloudWatchCompositeAlarms(ctx context.Context, resources []*cloudwatch.CompositeAlarm) error
func (*S3ParquetWriterDAO) PutAwsCloudWatchLogsLogGroups ¶
func (dao *S3ParquetWriterDAO) PutAwsCloudWatchLogsLogGroups(ctx context.Context, resources []*cloudwatchlogs.LogGroup) error
func (*S3ParquetWriterDAO) PutAwsCloudWatchMetricAlarms ¶
func (dao *S3ParquetWriterDAO) PutAwsCloudWatchMetricAlarms(ctx context.Context, resources []*cloudwatch.MetricAlarm) error
func (*S3ParquetWriterDAO) PutAwsDynamoDBTables ¶
func (*S3ParquetWriterDAO) PutAwsEC2Addresses ¶
func (*S3ParquetWriterDAO) PutAwsEC2DhcpOptions ¶
func (dao *S3ParquetWriterDAO) PutAwsEC2DhcpOptions(ctx context.Context, resources []*ec2.DhcpOptions) error
func (*S3ParquetWriterDAO) PutAwsEC2Images ¶
func (*S3ParquetWriterDAO) PutAwsEC2Instances ¶
func (*S3ParquetWriterDAO) PutAwsEC2InternetGateways ¶
func (dao *S3ParquetWriterDAO) PutAwsEC2InternetGateways(ctx context.Context, resources []*ec2.InternetGateway) error
func (*S3ParquetWriterDAO) PutAwsEC2ManagedPrefixLists ¶
func (dao *S3ParquetWriterDAO) PutAwsEC2ManagedPrefixLists(ctx context.Context, resources []*ec2.ManagedPrefixList) error
func (*S3ParquetWriterDAO) PutAwsEC2NatGateways ¶
func (dao *S3ParquetWriterDAO) PutAwsEC2NatGateways(ctx context.Context, resources []*ec2.NatGateway) error
func (*S3ParquetWriterDAO) PutAwsEC2NetworkAcls ¶
func (dao *S3ParquetWriterDAO) PutAwsEC2NetworkAcls(ctx context.Context, resources []*ec2.NetworkAcl) error
func (*S3ParquetWriterDAO) PutAwsEC2NetworkInterfaces ¶
func (dao *S3ParquetWriterDAO) PutAwsEC2NetworkInterfaces(ctx context.Context, resources []*ec2.NetworkInterface) error
func (*S3ParquetWriterDAO) PutAwsEC2PlacementGroups ¶
func (dao *S3ParquetWriterDAO) PutAwsEC2PlacementGroups(ctx context.Context, resources []*ec2.PlacementGroup) error
func (*S3ParquetWriterDAO) PutAwsEC2ReservedInstances ¶
func (dao *S3ParquetWriterDAO) PutAwsEC2ReservedInstances(ctx context.Context, resources []*ec2.ReservedInstances) error
func (*S3ParquetWriterDAO) PutAwsEC2RouteTables ¶
func (dao *S3ParquetWriterDAO) PutAwsEC2RouteTables(ctx context.Context, resources []*ec2.RouteTable) error
func (*S3ParquetWriterDAO) PutAwsEC2SecurityGroups ¶
func (dao *S3ParquetWriterDAO) PutAwsEC2SecurityGroups(ctx context.Context, resources []*ec2.SecurityGroup) error
func (*S3ParquetWriterDAO) PutAwsEC2Subnets ¶
func (*S3ParquetWriterDAO) PutAwsEC2TransitGatewayPeeringAttachments ¶
func (dao *S3ParquetWriterDAO) PutAwsEC2TransitGatewayPeeringAttachments(ctx context.Context, resources []*ec2.TransitGatewayPeeringAttachment) error
func (*S3ParquetWriterDAO) PutAwsEC2TransitGatewayRouteTables ¶
func (dao *S3ParquetWriterDAO) PutAwsEC2TransitGatewayRouteTables(ctx context.Context, resources []*ec2.TransitGatewayRouteTable) error
func (*S3ParquetWriterDAO) PutAwsEC2TransitGatewayVpcAttachments ¶
func (dao *S3ParquetWriterDAO) PutAwsEC2TransitGatewayVpcAttachments(ctx context.Context, resources []*ec2.TransitGatewayVpcAttachment) error
func (*S3ParquetWriterDAO) PutAwsEC2TransitGateways ¶
func (dao *S3ParquetWriterDAO) PutAwsEC2TransitGateways(ctx context.Context, resources []*ec2.TransitGateway) error
func (*S3ParquetWriterDAO) PutAwsEC2Volumes ¶
func (*S3ParquetWriterDAO) PutAwsEC2VpcEndpoints ¶
func (dao *S3ParquetWriterDAO) PutAwsEC2VpcEndpoints(ctx context.Context, resources []*ec2.VpcEndpoint) error
func (*S3ParquetWriterDAO) PutAwsEC2VpcPeeringConnections ¶
func (dao *S3ParquetWriterDAO) PutAwsEC2VpcPeeringConnections(ctx context.Context, resources []*ec2.VpcPeeringConnection) error
func (*S3ParquetWriterDAO) PutAwsEC2Vpcs ¶
func (*S3ParquetWriterDAO) PutAwsEC2VpnGateways ¶
func (dao *S3ParquetWriterDAO) PutAwsEC2VpnGateways(ctx context.Context, resources []*ec2.VpnGateway) error
func (*S3ParquetWriterDAO) PutAwsECRRepositories ¶
func (dao *S3ParquetWriterDAO) PutAwsECRRepositories(ctx context.Context, resources []*ecr.Repository) error
func (*S3ParquetWriterDAO) PutAwsECSClusters ¶
func (*S3ParquetWriterDAO) PutAwsECSServices ¶
func (*S3ParquetWriterDAO) PutAwsECSTasks ¶
func (*S3ParquetWriterDAO) PutAwsEFSFileSystems ¶
func (dao *S3ParquetWriterDAO) PutAwsEFSFileSystems(ctx context.Context, resources []*efs.FileSystem) error
func (*S3ParquetWriterDAO) PutAwsElastiCacheCacheClusters ¶
func (dao *S3ParquetWriterDAO) PutAwsElastiCacheCacheClusters(ctx context.Context, resources []*elasticache.CacheCluster) error
func (*S3ParquetWriterDAO) PutAwsElasticLoadBalancingLoadBalancers ¶
func (dao *S3ParquetWriterDAO) PutAwsElasticLoadBalancingLoadBalancers(ctx context.Context, resources []*elasticloadbalancing.LoadBalancer) error
func (*S3ParquetWriterDAO) PutAwsElasticLoadBalancingV2LoadBalancers ¶
func (dao *S3ParquetWriterDAO) PutAwsElasticLoadBalancingV2LoadBalancers(ctx context.Context, resources []*elasticloadbalancingv2.LoadBalancer) error
func (*S3ParquetWriterDAO) PutAwsElasticLoadBalancingV2TargetGroups ¶
func (dao *S3ParquetWriterDAO) PutAwsElasticLoadBalancingV2TargetGroups(ctx context.Context, resources []*elasticloadbalancingv2.TargetGroup) error
func (*S3ParquetWriterDAO) PutAwsIAMGroups ¶
func (*S3ParquetWriterDAO) PutAwsIAMPolicies ¶
func (*S3ParquetWriterDAO) PutAwsIAMRoles ¶
func (*S3ParquetWriterDAO) PutAwsIAMUsers ¶
func (*S3ParquetWriterDAO) PutAwsKMSKeys ¶
func (*S3ParquetWriterDAO) PutAwsLambdaFunctions ¶
func (*S3ParquetWriterDAO) PutAwsRDSDBClusters ¶
func (*S3ParquetWriterDAO) PutAwsRDSDBInstances ¶
func (dao *S3ParquetWriterDAO) PutAwsRDSDBInstances(ctx context.Context, resources []*rds.DBInstance) error
func (*S3ParquetWriterDAO) PutAwsRedshiftClusters ¶
func (*S3ParquetWriterDAO) PutAwsRoute53HostedZones ¶
func (dao *S3ParquetWriterDAO) PutAwsRoute53HostedZones(ctx context.Context, resources []*route53.HostedZone) error
func (*S3ParquetWriterDAO) PutAwsS3Buckets ¶
func (*S3ParquetWriterDAO) PutAwsSNSSubscriptions ¶
func (dao *S3ParquetWriterDAO) PutAwsSNSSubscriptions(ctx context.Context, resources []*sns.Subscription) error
func (*S3ParquetWriterDAO) PutAwsSNSTopics ¶
func (*S3ParquetWriterDAO) PutAwsSQSQueues ¶
func (*S3ParquetWriterDAO) PutAwsSSMParameters ¶
func (*S3ParquetWriterDAO) PutAwsSecretsManagerSecrets ¶
func (dao *S3ParquetWriterDAO) PutAwsSecretsManagerSecrets(ctx context.Context, resources []*secretsmanager.Secret) error
func (*S3ParquetWriterDAO) PutAwsStorageGatewayGateways ¶
func (dao *S3ParquetWriterDAO) PutAwsStorageGatewayGateways(ctx context.Context, resources []*storagegateway.Gateway) error
func (*S3ParquetWriterDAO) WriteIngestionTimestamp ¶
func (dao *S3ParquetWriterDAO) WriteIngestionTimestamp(ctx context.Context, metadata *meta.IngestionTimestamp) error
func (*S3ParquetWriterDAO) WriteInventoryResults ¶
func (dao *S3ParquetWriterDAO) WriteInventoryResults(ctx context.Context, metadata *meta.InventoryResults) error
Click to show internal directories.
Click to hide internal directories.