Skip not importable CRDs during import of multiple resources
d3nnxs opened this issue · comments
Description of the feature or enhancement:
Skip import of CRDs which cannot be imported. Example:
cdk8s import -o aws github:crossplane-contrib/provider-aws
fails because of an issue in apigateway.aws.crossplane.io
. Unfortunately the whole import stop at this point. It would be gerat if it was possible to complete the import an skip the failed resources.
Importing resources, this may take a few moments...
acm.aws.crossplane.io
acm.aws.crossplane.io/certificate
acmpca.aws.crossplane.io
acmpca.aws.crossplane.io/certificateauthority
acmpca.aws.crossplane.io/certificateauthoritypermission
apigateway.aws.crossplane.io
apigateway.aws.crossplane.io/apikey
apigateway.aws.crossplane.io/authorizer
apigateway.aws.crossplane.io/basepathmapping
apigateway.aws.crossplane.io/deployment
apigateway.aws.crossplane.io/documentationpart
apigateway.aws.crossplane.io/documentationversion
apigateway.aws.crossplane.io/domainname
apigateway.aws.crossplane.io/gatewayresponse
apigateway.aws.crossplane.io/integration
apigateway.aws.crossplane.io/integrationresponse
apigateway.aws.crossplane.io/method
apigateway.aws.crossplane.io/methodresponse
apigateway.aws.crossplane.io/model
apigateway.aws.crossplane.io/requestvalidator
apigateway.aws.crossplane.io/resource
apigateway.aws.crossplane.io/restapi
apigateway.aws.crossplane.io/stage
apigateway.aws.crossplane.io/usageplan
apigateway.aws.crossplane.io/usageplankey
apigateway.aws.crossplane.io/vpclink
NOTE: Temp directory retained due to an error: /var/folders/1v/pkfz_x9j7250d5r8nqzb9kth0000gn/T/temp-Yralli
Error: jsii compilation failed with non-zero exit code: 1
| [2023-06-16T16:25:44.093] [ERROR] jsii/compiler - Compilation errors prevented the JSII assembly from being created
| warning JSII6: A "peerDependency" on "constructs" at "10.2.44" means you should take a "devDependency" on "constructs" at "10.2.44" (found "undefined")
| warning JSII6: A "peerDependency" on "cdk8s" at "2.7.77" means you should take a "devDependency" on "cdk8s" at "2.7.77" (found "undefined")
| warning JSII3: There is no "README.md" file. It is required in order to generate valid PyPI (Python) packages.
| apigateway.aws.crossplane.io.ts:9427:12 - error TS2300: Duplicate identifier 'authorizerId'.
| 9427 readonly authorizerId?: string;
| ~~~~~~~~~~~~
| apigateway.aws.crossplane.io.ts:9434:12 - error TS2300: Duplicate identifier 'authorizerId'.
| 9434 readonly authorizerId?: string;
| ~~~~~~~~~~~~
| apigateway.aws.crossplane.io.ts:9490:12 - error TS2300: Duplicate identifier 'requestValidatorId'.
| 9490 readonly requestValidatorId?: string;
| ~~~~~~~~~~~~~~~~~~
| apigateway.aws.crossplane.io.ts:9497:12 - error TS2300: Duplicate identifier 'requestValidatorId'.
| 9497 readonly requestValidatorId?: string;
| ~~~~~~~~~~~~~~~~~~
+----------------------------------------------------------------------------------
| Command: /opt/homebrew/Cellar/cdk8s/2.2.53/libexec/lib/node_modules/cdk8s-cli/node_modules/jsii-srcmak/node_modules/jsii/bin/jsii --silence-warnings reserved-word
| Workdir: /var/folders/1v/pkfz_x9j7250d5r8nqzb9kth0000gn/T/temp-Yralli
+----------------------------------------------------------------------------------
at newError (/opt/homebrew/Cellar/cdk8s/2.2.53/libexec/lib/node_modules/cdk8s-cli/node_modules/jsii-srcmak/lib/util.js:62:20)
at ChildProcess.<anonymous> (/opt/homebrew/Cellar/cdk8s/2.2.53/libexec/lib/node_modules/cdk8s-cli/node_modules/jsii-srcmak/lib/util.js:79:29)
at Object.onceWrapper (node:events:642:26)
at ChildProcess.emit (node:events:527:28)
at Process.ChildProcess._handle.onexit (node:internal/child_process:291:12)
Use Case:
Skipping not importable CRDs and complete the import would allow to use the other working CRDs in CDK8s.
Proposed Solution:
Other:
- 👋 I may be able to implement this feature request
-
⚠️ This feature might incur a breaking change
This is a 🚀 Feature Request
Hey @d3nnxs , I see this is working with the latest version of cdk8s
. Could you confirm on your end?
This is the output I see with cdk8s 2.41.0
:
❯ cdk8s import -o aws github:crossplane-contrib/provider-aws
Importing resources, this may take a few moments...
acm.aws.crossplane.io
acm.aws.crossplane.io/certificate
acmpca.aws.crossplane.io
acmpca.aws.crossplane.io/certificateauthority
acmpca.aws.crossplane.io/certificateauthoritypermission
apigateway.aws.crossplane.io
apigateway.aws.crossplane.io/apikey
apigateway.aws.crossplane.io/authorizer
apigateway.aws.crossplane.io/basepathmapping
apigateway.aws.crossplane.io/deployment
apigateway.aws.crossplane.io/documentationpart
apigateway.aws.crossplane.io/documentationversion
apigateway.aws.crossplane.io/domainname
apigateway.aws.crossplane.io/gatewayresponse
apigateway.aws.crossplane.io/integration
apigateway.aws.crossplane.io/integrationresponse
apigateway.aws.crossplane.io/method
apigateway.aws.crossplane.io/methodresponse
apigateway.aws.crossplane.io/model
apigateway.aws.crossplane.io/requestvalidator
apigateway.aws.crossplane.io/resource
apigateway.aws.crossplane.io/restapi
apigateway.aws.crossplane.io/stage
apigateway.aws.crossplane.io/usageplan
apigateway.aws.crossplane.io/usageplankey
apigateway.aws.crossplane.io/vpclink
apigatewayv2.aws.crossplane.io
apigatewayv2.aws.crossplane.io/api
apigatewayv2.aws.crossplane.io/apimapping
apigatewayv2.aws.crossplane.io/authorizer
apigatewayv2.aws.crossplane.io/deployment
apigatewayv2.aws.crossplane.io/domainname
apigatewayv2.aws.crossplane.io/integration
apigatewayv2.aws.crossplane.io/integrationresponse
apigatewayv2.aws.crossplane.io/model
apigatewayv2.aws.crossplane.io/route
apigatewayv2.aws.crossplane.io/routeresponse
apigatewayv2.aws.crossplane.io/stage
apigatewayv2.aws.crossplane.io/vpclink
athena.aws.crossplane.io
athena.aws.crossplane.io/workgroup
autoscaling.aws.crossplane.io
autoscaling.aws.crossplane.io/autoscalinggroup
aws.crossplane.io
aws.crossplane.io/providerconfig
aws.crossplane.io/providerconfigusage
aws.crossplane.io/storeconfig
batch.aws.crossplane.io
batch.aws.crossplane.io/computeenvironment
batch.aws.crossplane.io/job
batch.aws.crossplane.io/jobdefinition
batch.aws.crossplane.io/jobqueue
cache.aws.crossplane.io
cache.aws.crossplane.io/cachecluster
cache.aws.crossplane.io/cachesubnetgroup
cache.aws.crossplane.io/replicationgroup
cloudfront.aws.crossplane.io
cloudfront.aws.crossplane.io/cachepolicy
cloudfront.aws.crossplane.io/cloudfrontoriginaccessidentity
cloudfront.aws.crossplane.io/distribution
cloudfront.aws.crossplane.io/responseheaderspolicy
cloudsearch.aws.crossplane.io
cloudsearch.aws.crossplane.io/domain
cloudwatchlogs.aws.crossplane.io
cloudwatchlogs.aws.crossplane.io/loggroup
cognitoidentity.aws.crossplane.io
cognitoidentity.aws.crossplane.io/identitypool
cognitoidentityprovider.aws.crossplane.io
cognitoidentityprovider.aws.crossplane.io/group
cognitoidentityprovider.aws.crossplane.io/groupusermembership
cognitoidentityprovider.aws.crossplane.io/identityprovider
cognitoidentityprovider.aws.crossplane.io/resourceserver
cognitoidentityprovider.aws.crossplane.io/userpool
cognitoidentityprovider.aws.crossplane.io/userpoolclient
cognitoidentityprovider.aws.crossplane.io/userpooldomain
database.aws.crossplane.io
database.aws.crossplane.io/dbsubnetgroup
database.aws.crossplane.io/rdsinstance
dax.aws.crossplane.io
dax.aws.crossplane.io/cluster
dax.aws.crossplane.io/parametergroup
dax.aws.crossplane.io/subnetgroup
docdb.aws.crossplane.io
docdb.aws.crossplane.io/dbcluster
docdb.aws.crossplane.io/dbclusterparametergroup
docdb.aws.crossplane.io/dbinstance
docdb.aws.crossplane.io/dbsubnetgroup
dynamodb.aws.crossplane.io
dynamodb.aws.crossplane.io/backup
dynamodb.aws.crossplane.io/globaltable
dynamodb.aws.crossplane.io/table
ec2.aws.crossplane.io
ec2.aws.crossplane.io/address
ec2.aws.crossplane.io/flowlog
ec2.aws.crossplane.io/instance
ec2.aws.crossplane.io/internetgateway
ec2.aws.crossplane.io/launchtemplate
ec2.aws.crossplane.io/launchtemplateversion
ec2.aws.crossplane.io/natgateway
ec2.aws.crossplane.io/route
ec2.aws.crossplane.io/routetable
ec2.aws.crossplane.io/securitygroup
ec2.aws.crossplane.io/securitygrouprule
ec2.aws.crossplane.io/subnet
ec2.aws.crossplane.io/transitgateway
ec2.aws.crossplane.io/transitgatewayroute
ec2.aws.crossplane.io/transitgatewayroutetable
ec2.aws.crossplane.io/transitgatewayvpcattachment
ec2.aws.crossplane.io/volume
ec2.aws.crossplane.io/vpc
ec2.aws.crossplane.io/vpccidrblock
ec2.aws.crossplane.io/vpcendpoint
ec2.aws.crossplane.io/vpcendpointserviceconfiguration
ec2.aws.crossplane.io/vpcpeeringconnection
ecr.aws.crossplane.io
ecr.aws.crossplane.io/lifecyclepolicy
ecr.aws.crossplane.io/repository
ecr.aws.crossplane.io/repositorypolicy
ecs.aws.crossplane.io
ecs.aws.crossplane.io/cluster
ecs.aws.crossplane.io/service
ecs.aws.crossplane.io/taskdefinition
efs.aws.crossplane.io
efs.aws.crossplane.io/accesspoint
efs.aws.crossplane.io/filesystem
efs.aws.crossplane.io/mounttarget
eks.aws.crossplane.io
eks.aws.crossplane.io/addon
eks.aws.crossplane.io/cluster
eks.aws.crossplane.io/fargateprofile
eks.aws.crossplane.io/identityproviderconfig
eks.aws.crossplane.io/nodegroup
elasticache.aws.crossplane.io
elasticache.aws.crossplane.io/cacheparametergroup
elasticloadbalancing.aws.crossplane.io
elasticloadbalancing.aws.crossplane.io/elb
elasticloadbalancing.aws.crossplane.io/elbattachment
elbv2.aws.crossplane.io
elbv2.aws.crossplane.io/listener
elbv2.aws.crossplane.io/loadbalancer
elbv2.aws.crossplane.io/target
elbv2.aws.crossplane.io/targetgroup
emrcontainers.aws.crossplane.io
emrcontainers.aws.crossplane.io/jobrun
emrcontainers.aws.crossplane.io/virtualcluster
glue.aws.crossplane.io
glue.aws.crossplane.io/classifier
glue.aws.crossplane.io/connection
glue.aws.crossplane.io/crawler
glue.aws.crossplane.io/database
glue.aws.crossplane.io/job
glue.aws.crossplane.io/securityconfiguration
iam.aws.crossplane.io
iam.aws.crossplane.io/accesskey
iam.aws.crossplane.io/group
iam.aws.crossplane.io/grouppolicyattachment
iam.aws.crossplane.io/groupusermembership
iam.aws.crossplane.io/instanceprofile
iam.aws.crossplane.io/openidconnectprovider
iam.aws.crossplane.io/policy
iam.aws.crossplane.io/role
iam.aws.crossplane.io/rolepolicyattachment
iam.aws.crossplane.io/servicelinkedrole
iam.aws.crossplane.io/user
iam.aws.crossplane.io/userpolicyattachment
iot.aws.crossplane.io
iot.aws.crossplane.io/policy
iot.aws.crossplane.io/thing
kafka.aws.crossplane.io
kafka.aws.crossplane.io/cluster
kafka.aws.crossplane.io/configuration
kinesis.aws.crossplane.io
kinesis.aws.crossplane.io/stream
kms.aws.crossplane.io
kms.aws.crossplane.io/alias
kms.aws.crossplane.io/key
lambda.aws.crossplane.io
lambda.aws.crossplane.io/function
lambda.aws.crossplane.io/functionurlconfig
lambda.aws.crossplane.io/permission
mq.aws.crossplane.io
mq.aws.crossplane.io/broker
mq.aws.crossplane.io/user
mwaa.aws.crossplane.io
mwaa.aws.crossplane.io/environment
neptune.aws.crossplane.io
neptune.aws.crossplane.io/dbcluster
opensearchservice.aws.crossplane.io
opensearchservice.aws.crossplane.io/domain
prometheusservice.aws.crossplane.io
prometheusservice.aws.crossplane.io/alertmanagerdefinition
prometheusservice.aws.crossplane.io/rulegroupsnamespace
prometheusservice.aws.crossplane.io/workspace
ram.aws.crossplane.io
ram.aws.crossplane.io/resourceshare
rds.aws.crossplane.io
rds.aws.crossplane.io/dbcluster
rds.aws.crossplane.io/dbclusterparametergroup
rds.aws.crossplane.io/dbinstance
rds.aws.crossplane.io/dbinstanceroleassociation
rds.aws.crossplane.io/dbparametergroup
rds.aws.crossplane.io/globalcluster
rds.aws.crossplane.io/optiongroup
redshift.aws.crossplane.io
redshift.aws.crossplane.io/cluster
route53.aws.crossplane.io
route53.aws.crossplane.io/hostedzone
route53.aws.crossplane.io/resourcerecordset
route53resolver.aws.crossplane.io
route53resolver.aws.crossplane.io/resolverendpoint
route53resolver.aws.crossplane.io/resolverrule
route53resolver.aws.crossplane.io/resolverruleassociation
s3.aws.crossplane.io
s3.aws.crossplane.io/bucket
s3.aws.crossplane.io/bucketpolicy
secretsmanager.aws.crossplane.io
secretsmanager.aws.crossplane.io/secret
servicediscovery.aws.crossplane.io
servicediscovery.aws.crossplane.io/httpnamespace
servicediscovery.aws.crossplane.io/privatednsnamespace
servicediscovery.aws.crossplane.io/publicdnsnamespace
servicediscovery.aws.crossplane.io/service
sesv2.aws.crossplane.io
sesv2.aws.crossplane.io/configurationset
sesv2.aws.crossplane.io/emailidentity
sesv2.aws.crossplane.io/emailtemplate
sfn.aws.crossplane.io
sfn.aws.crossplane.io/activity
sfn.aws.crossplane.io/statemachine
sns.aws.crossplane.io
sns.aws.crossplane.io/subscription
sns.aws.crossplane.io/topic
sqs.aws.crossplane.io
sqs.aws.crossplane.io/queue
transfer.aws.crossplane.io
transfer.aws.crossplane.io/server
transfer.aws.crossplane.io/user
This issue has not received a response in a while and will be closed soon. If you want to keep it open, please leave a comment below @mentioning a maintainer.
Still seeing the issue:
cdk8s import github:crossplane-contrib/provider-aws@0.45.2
Importing resources, this may take a few moments...
aws.crossplane.io
aws.crossplane.io/providerconfig
aws.crossplane.io/providerconfigusage
aws.crossplane.io/storeconfig
acm.aws.crossplane.io
acm.aws.crossplane.io/certificate
acmpca.aws.crossplane.io
acmpca.aws.crossplane.io/certificateauthority
acmpca.aws.crossplane.io/certificateauthoritypermission
apigateway.aws.crossplane.io
apigateway.aws.crossplane.io/apikey
apigateway.aws.crossplane.io/authorizer
apigateway.aws.crossplane.io/basepathmapping
apigateway.aws.crossplane.io/deployment
apigateway.aws.crossplane.io/documentationpart
apigateway.aws.crossplane.io/documentationversion
apigateway.aws.crossplane.io/domainname
apigateway.aws.crossplane.io/gatewayresponse
apigateway.aws.crossplane.io/integration
apigateway.aws.crossplane.io/integrationresponse
apigateway.aws.crossplane.io/method
apigateway.aws.crossplane.io/methodresponse
apigateway.aws.crossplane.io/model
apigateway.aws.crossplane.io/requestvalidator
apigateway.aws.crossplane.io/resource
apigateway.aws.crossplane.io/restapi
apigateway.aws.crossplane.io/stage
apigateway.aws.crossplane.io/usageplan
apigateway.aws.crossplane.io/usageplankey
apigateway.aws.crossplane.io/vpclink
NOTE: Temp directory retained due to an error: /tmp/temp-2DD13g
Error: jsii compilation failed with non-zero exit code: 1
| [2023-12-04T13:47:34.052] [ERROR] jsii/compiler - Compilation errors prevented the JSII assembly from being created
| warning JSII6: A "peerDependency" on "constructs" at "10.3.0" means you should take a "devDependency" on "constructs" at "10.3.0" (found "undefined")
| warning JSII6: A "peerDependency" on "cdk8s" at "2.68.15" means you should take a "devDependency" on "cdk8s" at "2.68.15" (found "undefined")
| warning JSII3: There is no "README.md" file. It is required in order to generate valid PyPI (Python) packages.
| io.crossplane.aws.apigateway.ts:8647:12 - error TS2300: Duplicate identifier 'authorizerId'.
| 8647 readonly authorizerId?: string;
| ~~~~~~~~~~~~
| io.crossplane.aws.apigateway.ts:8654:12 - error TS2300: Duplicate identifier 'authorizerId'.
| 8654 readonly authorizerId?: string;
| ~~~~~~~~~~~~
| io.crossplane.aws.apigateway.ts:8710:12 - error TS2300: Duplicate identifier 'requestValidatorId'.
| 8710 readonly requestValidatorId?: string;
| ~~~~~~~~~~~~~~~~~~
| io.crossplane.aws.apigateway.ts:8717:12 - error TS2300: Duplicate identifier 'requestValidatorId'.
| 8717 readonly requestValidatorId?: string;
| ~~~~~~~~~~~~~~~~~~