Git Product home page Git Product logo

provider-aws's Introduction

Upjet-based Crossplane provider for AWS

CI GitHub release Go Report Card Contributors Slack X (formerly Twitter) Follow

Provider Upjet-AWS is a Crossplane provider that is built using Upjet code generation tools and exposes XRM-conformant managed resources for Amazon AWS.

Getting Started

Follow the quick start guide here.

You can find a detailed API reference for all the managed resources with examples in the Upbound Marketplace.

For more information about monitoring the Upjet runtime, please see Monitoring Guide

Contributing

For the general contribution guide, see Upjet Contribution Guide

If you'd like to learn how to use Upjet, see Usage Guide.

To build this provider locally and run it in a local Kubernetes cluster, run the following to build the family config provider (config) and the sub-package you are working on e.g. ec2:

DOCKERHUB_ORG=<your-docker-name>
BUILD_ARGS="--load" XPKG_REG_ORGS_NO_PROMOTE="" XPKG_REG_ORGS="index.docker.io/$DOCKERHUB_ORG" make build.all publish BRANCH_NAME=main SUBPACKAGES="config ec2"

The BRANCH_NAME is set to main (even though you might be on another branch) to allow for the publishing of the images to your docker hub account.

To install the provider, in this example provider-aws-ec2, into a local Kubernetes cluster with Crossplane already installed, apply:

apiVersion: pkg.crossplane.io/v1
kind: Provider
metadata:
  name: provider-aws-ec2
spec:
  package: docker.io/<your-docker-name>/provider-aws-ec2:<the-version-taken-from-the-output-of-the-previous-command>

Add a New Resource

Follow the Upjet guide for adding new resources.

Getting help

For filing bugs, suggesting improvements, or requesting new resources or features, please open an issue.

For general help on using the provider consider asking the Crossplane community in the #upjet-provider-aws channel in Crossplane Slack

License

The provider is released under the the Apache 2.0 license with notice.

provider-aws's People

Contributors

aiell0 avatar alexinthesky avatar anastasiia-kvas avatar blakeromano avatar duizabojul avatar dverveiko avatar erhancagirici avatar ezgidemirel avatar haarchri avatar hasheddan avatar jastang avatar jeanduplessis avatar kdibrov avatar mbbush avatar mergenci avatar muvaf avatar mykolalosev avatar myzataras avatar plumbis avatar ravibagri5 avatar renovate[bot] avatar sergenyalcin avatar steperchuk avatar stevendborrelli avatar svscheg avatar turkenf avatar turkenh avatar ulucinar avatar ytsarev avatar zeresius avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

provider-aws's Issues

Configure ses (14),shield (3),signer (2),simpledb (1)

Configure waf (11),wafregional (10)

Configure securityhub (11),serverlessrepo (1),servicecatalog (13),servicediscovery (2)

Moving cloudformation (2) resources to v1beta1 version

Moving 2 resources in the cloudformation group:

Notes:
While testing resource aws_cloudformation_stack_set_instance we got errors in make run command.

cannot run plan: plan failed: Instance cannot be destroyed: Resource aws_cloudformation_stack_set_instance.example has lifecycle.prevent_destroy set, but the plan calls for this resource to be destroyed. To avoid this error and continue with the plan, either disable lifecycle.prevent_destroy or reduce the scope of the plan using the -target flag.


unexpected state 'FAILED', wanted target 'SUCCEEDED'. last error: Operation (terraform-20221201133152489700000009) Results: 1 error occurred:
                           * Account (153891904029) Region (us-west-1) Status (FAILED) Status Reason: Account 153891904029 should have 'AWSCloudFormationStackSetExecutionRole' role with trust relationship to Role 'awscloudformationstacksetadministrationrole'.

Need more deeper investigation of the resources.

aws: Community Parity

We have this https://github.com/upbound/official-providers/milestone/5 milestone about community parity for Provider AWS. However, this list actually contains more resource than we need to provide parity. A good example for this: athena This group has four resources in total. But for parity we need also one of them: WorkGroup. In this situation for closing the athena issue and progress the milestone, we need to configure all of the athena resources. So, I think watching the progress about providing parity in this separate issue may make sense.

List:

Moving EC2 (17) resources to v1beta1 version

Moving appconfig (6),appflow (1),appintegrations (1) resources to v1beta1 version

Configure ssoadmin (4),swf (1),synthetics (1),timestreamwrite (2)

External name configuration of 4 resources in the ssoadmin group:

External name configuration of 1 resources in the swf group:

External name configuration of 1 resources in the synthetics group:

External name configuration of 2 resources in the timestreamwrite group:

Configure opsworks (2),organizations (6),pinpoint (11),qldb (2),quicksight (4),rds (1)

Moving ec2 (17) resources to v1beta1 version

Configure fms (2),fsx (10),glacier (2)

Moving codecommit (3),codedeploy (3),codepipeline (2),codestarconnections (2),codestarnotifications (1) resources to v1beta1 version

Moving 3 resources in the codecommit group:

Moving 3 resources in the codedeploy group:

Moving 2 resources in the codepipeline group:

Moving 2 resources in the codestarconnections group:

Moving 1 resources in the codestarnotifications group:

aws: "aws_s3_bucket_object_lock_configuration" resource configuration

What problem are you facing?

When we try to create "aws_s3_bucket_object_lock_configuration" resource, it does not become ready due to the following error:

Warning  CannotCreateExternalResource  3s (x7 over 72s)     managed/s3.aws.upbound.io/v1beta1, kind=bucketobjectlockconfiguration  (combined from similar events): cannot apply: apply failed: error creating S3 bucket (ezgi-bucket) Object Lock configuration: InvalidBucketState: Object Lock configuration cannot be enabled on existing buckets

Provider Name: provider-aws

How could Official Providers help solve your problem?

Creating a bucket and a lock configuration in the same Terraform workspace may work.

Prioritize Popular AWS Services

After https://github.com/upbound/official-providers/issues/304 and https://github.com/upbound/official-providers/issues/305 we should prioritize configuring the remaining resources from the most popular AWS services.+

Milestone https://github.com/upbound/official-providers/milestone/6

Most Popular AWS Services

Sources:
https://www.quora.com/What-are-the-popular-AWS-services
https://www.jeffersonfrank.com/insights/aws-products
https://www.2ndwatch.com/blog/the-most-popular-aws-products-of-2020/
https://www.eginnovations.com/ebook/apm-survey-2021-report.pdf

aws.cognitoidp: usergroup and useringroup are not getting deleted complaining on non-exsisting User pool

What happened?

Detected by uptest in https://github.com/upbound/official-providers/pull/524#issuecomment-1210254384 and also reproducible locally, see the details below.

How can we reproduce it?

k apply -f examples/cognitoidp/useringroup.yaml

wait till all resources are ready

k get -f examples/cognitoidp/useringroup.yaml
NAME                                            READY   SYNCED   EXTERNAL-NAME                          AGE
useringroup.cognitoidp.aws.upbound.io/example   True    True     terraform-20220810080414713700000001   33m

NAME                                     READY   SYNCED   EXTERNAL-NAME   AGE
user.cognitoidp.aws.upbound.io/example   True    True     example         33m

NAME                                          READY   SYNCED   EXTERNAL-NAME                 AGE
usergroup.cognitoidp.aws.upbound.io/example   True    True     us-west-1_WpgVIR1SO/example   33m

NAME                                         READY   SYNCED   EXTERNAL-NAME         AGE
userpool.cognitoidp.aws.upbound.io/example   True    True     us-west-1_WpgVIR1SO   33m
k delete -f examples/cognitoidp/useringroup.yaml

Observe that usergroup and useringroup are stuck

 k get -f examples/cognitoidp/useringroup.yaml
NAME                                            READY   SYNCED   EXTERNAL-NAME                          AGE
useringroup.cognitoidp.aws.upbound.io/example   False   False    terraform-20220810080414713700000001   36m

NAME                                          READY   SYNCED   EXTERNAL-NAME                 AGE
usergroup.cognitoidp.aws.upbound.io/example   False   False    us-west-1_WpgVIR1SO/example   36m

Both of them have a similar reconcile error message complaining on non existing User pool

    Message:               observe failed: cannot run refresh: refresh failed: error reading groups for user: ResourceNotFoundException: User pool us-west-1_WpgVIR1SO does not exist.: : File name: main.tf.json
    Reason:                ReconcileError
    Status:                False
    Type:                  Synced

What environment did it happen in?

  • Crossplane Version: universal-crossplane-1.9.0-up.1 1.9.0-up.1
  • Provider Name: aws
  • Provider Version: 971e6f93ff214eed0104df763fb9223eacc330ae

Configure dbformysql (3),digitaltwins (4),disk (2)

External name configuration of 3 resources in the dbformysql group:

External name configuration of 4 resources in the digitaltwins group:

External name configuration of 2 resources in the disk group:

Moving batch (1),budgets (2),chime (7),cloud9 (2),cloudcontrol (1) resources to v1beta1 version

Configure elastictranscoder (1),elbv2 (4),emr (7),emrcontainers (1),events (8)

Configure networkfirewall (4),networkmanager (9)

Configure s3control (3),s3outposts (1),sagemaker (23),schemas (3)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.