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

feat(pc): add assumeRoleARN to providerConfig like "native" provider-aws #160

Closed haarchri closed 2 years ago

haarchri commented 2 years ago

Signed-off-by: haarchri chhaar30@googlemail.com

Description of your changes

Fixes #155

I have:

How has this code been tested

NAME                                                 READY   SYNCED   EXTERNAL-NAME           AGE
vpc.ec2.aws.jet.crossplane.io/sample-vpc             True    True     vpc-0bb9c4f22bdd776c0   51m
vpc.ec2.aws.jet.crossplane.io/sample-vpc-account-b   True    True     vpc-00471f9f33edc62b7   61m

account-a Owner Id: 255932642927

kubectl describe vpc.ec2.aws.jet.crossplane.io/sample-vpc 
Name:         sample-vpc
Namespace:    
Labels:       <none>
Annotations:  crossplane.io/external-create-pending: 2022-02-06T15:41:08+01:00
              crossplane.io/external-create-succeeded: 2022-02-06T15:41:22+01:00
              crossplane.io/external-name: vpc-0bb9c4f22bdd776c0
              terrajet.crossplane.io/provider-meta: {"schema_version":"1"}
API Version:  ec2.aws.jet.crossplane.io/v1alpha2
Kind:         VPC
Metadata:
  Creation Timestamp:  2022-02-06T14:32:20Z
  Finalizers:
    finalizer.managedresource.crossplane.io
  Generation:  3
    Manager:         provider
    Operation:       Update
    Time:            2022-02-06T14:41:46Z
  Resource Version:  1757467
  UID:               79581aab-1908-4752-8533-031a891e0e5a
Spec:
  Deletion Policy:  Delete
  For Provider:
    Cidr Block:          172.16.0.0/16
    Enable Dns Support:  true
    Instance Tenancy:    default
    Region:              us-west-1
    Tags:
      Name:                         DemoVpc
      Crossplane - Kind:            vpc.ec2.aws.jet.crossplane.io
      Crossplane - Name:            sample-vpc
      Crossplane - Providerconfig:  default
  Provider Config Ref:
    Name:  default
Status:
  At Provider:
    Arn:                        arn:aws:ec2:us-west-1:255932642927:vpc/vpc-0bb9c4f22bdd776c0
    Default Network Acl Id:     acl-0b6622090ce512dda
    Default Route Table Id:     rtb-0e27241fc822f3f17
    Default Security Group Id:  sg-05e34ee414fc79173
    Dhcp Options Id:            dopt-02d501b1ca2f363d2
    Id:                         vpc-0bb9c4f22bdd776c0
    ipv6AssociationId:          
    ipv6CidrBlock:              
    Main Route Table Id:        rtb-0e27241fc822f3f17
    Owner Id:                   255932642927
    Tags All:
      Name:                         DemoVpc
      Crossplane - Kind:            vpc.ec2.aws.jet.crossplane.io
      Crossplane - Name:            sample-vpc
      Crossplane - Providerconfig:  default
  Conditions:
    Last Transition Time:  2022-02-06T14:41:22Z
    Reason:                ReconcileSuccess
    Status:                True
    Type:                  Synced
    Last Transition Time:  2022-02-06T14:41:32Z
    Reason:                Available
    Status:                True
    Type:                  Ready
    Last Transition Time:  2022-02-06T14:41:32Z
    Reason:                Finished
    Status:                True
    Type:                  AsyncOperation

account-b Owner Id: 436715084175

 kubectl describe vpc.ec2.aws.jet.crossplane.io/sample-vpc-account-b 
Name:         sample-vpc-account-b
Namespace:    
Labels:       <none>
Annotations:  crossplane.io/external-create-pending: 2022-02-06T16:22:30+01:00
              crossplane.io/external-create-succeeded: 2022-02-06T16:22:45+01:00
              crossplane.io/external-name: vpc-00471f9f33edc62b7
              terrajet.crossplane.io/provider-meta: {"schema_version":"1"}
API Version:  ec2.aws.jet.crossplane.io/v1alpha2
Kind:         VPC
Metadata:
  Creation Timestamp:  2022-02-06T15:22:20Z
  Finalizers:
    finalizer.managedresource.crossplane.io
  Generation:  3
  Resource Version:  1762395
  UID:               15dc7dd5-3199-482b-a24c-624b5ae077c2
Spec:
  Deletion Policy:  Delete
  For Provider:
    Cidr Block:          172.16.0.0/16
    Enable Dns Support:  true
    Instance Tenancy:    default
    Region:              us-west-1
    Tags:
      Name:                         AccountB
      Crossplane - Kind:            vpc.ec2.aws.jet.crossplane.io
      Crossplane - Name:            sample-vpc-account-b
      Crossplane - Providerconfig:  aws-jet-provider-account-b
  Provider Config Ref:
    Name:  aws-jet-provider-account-b
Status:
  At Provider:
    Arn:                        arn:aws:ec2:us-west-1:436715084175:vpc/vpc-00471f9f33edc62b7
    Default Network Acl Id:     acl-0853ab9703095eb5e
    Default Route Table Id:     rtb-050468ab8ecdb5518
    Default Security Group Id:  sg-0eb8334c20c86e856
    Dhcp Options Id:            dopt-f5ea3393
    Id:                         vpc-00471f9f33edc62b7
    ipv6AssociationId:          
    ipv6CidrBlock:              
    Main Route Table Id:        rtb-050468ab8ecdb5518
    Owner Id:                   436715084175
    Tags All:
      Name:                         AccountB
      Crossplane - Kind:            vpc.ec2.aws.jet.crossplane.io
      Crossplane - Name:            sample-vpc-account-b
      Crossplane - Providerconfig:  aws-jet-provider-account-b
  Conditions:
    Last Transition Time:  2022-02-06T15:22:56Z
    Reason:                Available
    Status:                True
    Type:                  Ready
    Last Transition Time:  2022-02-06T15:22:45Z
    Reason:                ReconcileSuccess
    Status:                True
    Type:                  Synced
    Last Transition Time:  2022-02-06T15:22:56Z
    Reason:                Finished
    Status:                True
    Type:                  AsyncOperation
Events:
  Type    Reason                   Age   From                                                  Message
  ----    ------                   ----  ----                                                  -------
  Normal  CreatedExternalResource  58s   managed/ec2.aws.jet.crossplane.io/v1alpha2, kind=vpc  Successfully requested creation of external resource
bobh66 commented 2 years ago

@muvaf I need this capability too - is there anything I can do to help get this merged? Thanks

haarchri commented 2 years ago

@muvaf can we get this in and cut a new release the days ? then we can start using jet provider

paul-benetis commented 2 years ago

Why do I not see assumeRoleARN as a spec property in the ProviderConfig CRD for this provider? Even the API documentation doesn't list it.

haarchri commented 2 years ago

this PR is not included in any official release - next is v0.5.0