crossplane-contrib / provider-jet-aws

AWS Provider for Crossplane that is built with Terrajet.
https://crossplane.io
Apache License 2.0
37 stars 30 forks source link

Error while creating VPC with Jet AWS provider #162

Closed vara-bonthu closed 2 years ago

vara-bonthu commented 2 years ago

What happened?

I have tried to create a VPC using provider-jet-aws with the below manifest and it throws an error for few fields saying unknownField

Failed Example

---
apiVersion: ec2.aws.jet.crossplane.io/v1alpha2
kind: VPC
metadata:
  name: jet-aws-provider-vpc
spec:
  forProvider:
    region: eu-west-1
    enableDnsHostNames: true
    enableDnsSupport: true
    enableClasiclink: true
    cidrBlock: 10.30.0.0/16
    enableClassiclinkDnsSupport: true
    tags:
      Name: jet-aws-provider-vpc
  providerConfigRef:
    name: jet-aws-provider-config

Successful Example

---
apiVersion: ec2.aws.jet.crossplane.io/v1alpha2
kind: VPC
metadata:
  name: jet-aws-provider-vpc
spec:
  forProvider:
    region: eu-west-1
    cidrBlock: 10.30.0.0/16
    enableClassiclinkDnsSupport: true
    tags:
      Name: jet-aws-provider-vpc
  providerConfigRef:
    name: jet-aws-provider-config

ERROR

error: error validating "vpc-japc.yaml": error validating data: ValidationError(VPC.spec.forProvider): unknown field "enableDnsHostNames" in io.crossplane.jet.aws.ec2.v1alpha2.VPC.spec.forProvider; if you choose to ignore these errors, turn validation off with --validate=false

The below three fields are causing the error

    enableDnsHostNames: true
    enableDnsSupport: true
    enableClasiclink: true

How can we reproduce it?

Apply the above manifest file.

What environment did it happen in?

Crossplane Verison: v1.6.3 provider-jet-aws Verison: v0.4.0 # tried with v0.4.1 as well

haarchri commented 2 years ago

@vara-bonthu can you try the following?

apiVersion: ec2.aws.jet.crossplane.io/v1alpha2
kind: VPC
metadata:
  name: sample-vpc
spec:
  forProvider:
    region: us-west-1
    cidrBlock: 172.16.0.0/16
    enableDnsHostnames: true
    enableDnsSupport: true
    enableClassiclink: true
    tags:
      Name: DemoVpc

it is working:

NAME                                       READY   SYNCED   EXTERNAL-NAME           AGE
vpc.ec2.aws.jet.crossplane.io/sample-vpc   True    True     vpc-09dd37af4a9019ef2   3m11s
apiVersion: ec2.aws.jet.crossplane.io/v1alpha2
kind: VPC
metadata:
  annotations:
    crossplane.io/external-create-pending: "2022-05-08T12:38:24+02:00"
    crossplane.io/external-create-succeeded: "2022-05-08T12:38:51+02:00"
    crossplane.io/external-name: vpc-09dd37af4a9019ef2
    kubectl.kubernetes.io/last-applied-configuration: |
      {"apiVersion":"ec2.aws.jet.crossplane.io/v1alpha2","kind":"VPC","metadata":{"annotations":{},"name":"sample-vpc"},"spec":{"forProvider":{"cidrBlock":"172.16.0.0/16","enableClassiclink":true,"enableDnsHostnames":true,"enableDnsSupport":true,"region":"us-west-1","tags":{"Name":"DemoVpc"}}}}
    terrajet.crossplane.io/provider-meta: '{"schema_version":"1"}'
  creationTimestamp: "2022-05-08T10:38:12Z"
  finalizers:
  - finalizer.managedresource.crossplane.io
  generation: 3
  name: sample-vpc
  resourceVersion: "34938"
  uid: f7ec1c53-eaa6-4e8a-81ff-0386444b4335
spec:
  deletionPolicy: Delete
  forProvider:
    cidrBlock: 172.16.0.0/16
    enableClassiclink: true
    enableDnsHostnames: true
    enableDnsSupport: true
    instanceTenancy: default
    region: us-west-1
    tags:
      Name: DemoVpc
      crossplane-kind: vpc.ec2.aws.jet.crossplane.io
      crossplane-name: sample-vpc
      crossplane-providerconfig: default
  providerConfigRef:
    name: default
status:
  atProvider:
    arn: arn:aws:ec2:us-west-1:12345678910:vpc/vpc-09dd37af4a9019ef2
    defaultNetworkAclId: acl-095c155ac1ba859d3
    defaultRouteTableId: rtb-01694bac4e2d15824
    defaultSecurityGroupId: sg-0e42830cc4b204be0
    dhcpOptionsId: dopt-f5ea3393
    id: vpc-09dd37af4a9019ef2
    ipv6AssociationId: ""
    ipv6CidrBlock: ""
    mainRouteTableId: rtb-01694bac4e2d15824
    ownerId: "12345678910"
    tagsAll:
      Name: DemoVpc
      crossplane-kind: vpc.ec2.aws.jet.crossplane.io
      crossplane-name: sample-vpc
      crossplane-providerconfig: default
  conditions:
  - lastTransitionTime: "2022-05-08T10:39:01Z"
    reason: Available
    status: "True"
    type: Ready
  - lastTransitionTime: "2022-05-08T10:38:51Z"
    reason: ReconcileSuccess
    status: "True"
    type: Synced
haarchri commented 2 years ago

@vara-bonthu can we close this issue ?

haarchri commented 2 years ago

@muvaf we can close this issue