-
Notifications
You must be signed in to change notification settings - Fork 3.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
refactor: convert "import" to "from" methods #2456
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
eladb
requested review from
RomainMuller,
skinny85,
SoManyHs and
a team
as code owners
May 2, 2019 10:49
rix0rrr
reviewed
May 6, 2019
Fixes another issue related to erasure.
rix0rrr
approved these changes
May 6, 2019
SanderKnape
pushed a commit
to SanderKnape/aws-cdk
that referenced
this pull request
May 14, 2019
Implement and apply the following awslint rules: - `awslint:from-method`: resources should have at least one static "from" method - `awslint:from-signature`: enforce method signature - `awslint:from-attributes`: a `fromAttributes` static method can be used to import from more than a single attribute - `awslint:from-attributes-struct`: `fromFooAttributes` should accept a `FooAttributes` struct as input - `awslint:no-static-import`: forbids a static `import` (deprecation helper rule) - `awslint:attribute-tag`: all resource attributes should have an "@Attribute" doc tag - `awslint:attribute-readonly`: all attributes must be readonly properties Many resources now have an additional `fromFooArn` or `fromFooName` for importing from the intrinsic attribute. Misc: - Deprecate `Token.unresolved` in favor of `Token.isToken` (more idiomatic). - Added eager resolution of `Fn.select` and `Fn.split` in case they receive concrete values - Refactoring of awslint (decouple "resource" from "cfn-resource"). - Added `iam.Grant.drop` which allows "dropping" a grant on the floor for imported resources NOTE: many of the new methods do not have inline documentation. We will address this in a subsequent pass that will be focused on docs. Fixes aws#2450 Fixes aws#2428 Fixes aws#2424 Fixes aws#2429 Fixes aws#2425 Fixes aws#2422 Fixes aws#2423 Fixes aws#89 BREAKING CHANGE: all `Foo.import` static methods are now `Foo.fromFooAttributes` * All `FooImportProps` structs are now called `FooAttributes` * `stepfunctions.StateMachine.export` has been removed. * `ses.ReceiptRule.name` is now `ses.ReceiptRule.receiptRuleName` * `ses.ReceiptRuleSet.name` is now `ses.ReceiptRuleSet.receiptRuleSetName` * `secretsmanager.AttachedSecret` is now called `secretsmanager.SecretTargetAttachment` to match service semantics * `ecr.Repository.export` has been removed * `s3.Bucket.bucketUrl` is now called `s3.Bucket.bucketWebsiteUrl` * `lambda.Version.functionVersion` is now called `lambda.Version.version` * `ec2.SecurityGroup.groupName` is now `ec2.SecurityGroup.securityGroupName` * `cognito.UserPoolClient.clientId` is now `cognito.UserPoolClient.userPoolClientId` * `apigateway.IRestApiResource` is now `apigateway.IResource` * `apigateway.IResource.resourcePath` is now `apigateway.IResource.path` * `apigateway.IResource.resourceApi` is now `apigateway.IResource.restApi`
Thanks so much for taking the time to contribute to the AWS CDK ❤️ We will shortly assign someone to review this pull request and help get it
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Implement and apply the following awslint rules:
awslint:from-method
: resources should have at least one static "from" methodawslint:from-signature
: enforce method signatureawslint:from-attributes
: afromAttributes
static method can be used to import from more than a single attributeawslint:from-attributes-struct
:fromFooAttributes
should accept aFooAttributes
struct as inputawslint:no-static-import
: forbids a staticimport
(deprecation helper rule)awslint:attribute-tag
: all resource attributes should have an "@Attribute" doc tagawslint:attribute-readonly
: all attributes must be readonly propertiesMany resources now have an additional
fromFooArn
orfromFooName
for importing from the intrinsic attribute.Misc:
Token.unresolved
in favor ofToken.isToken
(more idiomatic).Fn.select
andFn.split
in case they receive concrete valuesiam.Grant.drop
which allows "dropping" a grant on the floor for imported resourcesNOTE: many of the new methods do not have inline documentation. We will address this in a subsequent pass that will be focused on docs.
Fixes #2450
Fixes #2428
Fixes #2424
Fixes #2429
Fixes #2425
Fixes #2422
Fixes #2423
Fixes #89
BREAKING CHANGE: all
Foo.import
static methods are nowFoo.fromFooAttributes
FooImportProps
structs are now calledFooAttributes
stepfunctions.StateMachine.export
has been removed.ses.ReceiptRule.name
is nowses.ReceiptRule.receiptRuleName
ses.ReceiptRuleSet.name
is nowses.ReceiptRuleSet.receiptRuleSetName
secretsmanager.AttachedSecret
is now calledsecretsmanager.SecretTargetAttachment
to match service semanticsecr.Repository.export
has been removeds3.Bucket.bucketUrl
is now calleds3.Bucket.bucketWebsiteUrl
lambda.Version.functionVersion
is now calledlambda.Version.version
ec2.SecurityGroup.groupName
is nowec2.SecurityGroup.securityGroupName
cognito.UserPoolClient.clientId
is nowcognito.UserPoolClient.userPoolClientId
apigateway.IRestApiResource
is nowapigateway.IResource
apigateway.IResource.resourcePath
is nowapigateway.IResource.path
apigateway.IResource.resourceApi
is nowapigateway.IResource.restApi
Pull Request Checklist
design
folderBy submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license.