Skip to content
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

New resource: aws_gamelift_game_server_group #18003

Closed

Conversation

lystor
Copy link
Contributor

@lystor lystor commented Mar 9, 2021

Community Note

  • Please vote on this pull request by adding a 👍 reaction to the original pull request comment to help the community and maintainers prioritize this request
  • Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for pull request followers and do not help prioritize the request

Reference: #18002

Output from acceptance testing:

# make testacc TESTARGS='-run=TestAccGameliftGameServerGroup'
=== RUN   TestAccGameliftGameServerGroup_basic
=== PAUSE TestAccGameliftGameServerGroup_basic
=== RUN   TestAccGameliftGameServerGroup_AutoScalingPolicy
=== PAUSE TestAccGameliftGameServerGroup_AutoScalingPolicy
=== RUN   TestAccGameliftGameServerGroup_AutoScalingPolicy_EstimatedInstanceWarmup
=== PAUSE TestAccGameliftGameServerGroup_AutoScalingPolicy_EstimatedInstanceWarmup
=== RUN   TestAccGameliftGameServerGroup_BalancingStrategy
=== PAUSE TestAccGameliftGameServerGroup_BalancingStrategy
=== RUN   TestAccGameliftGameServerGroup_GameServerGroupName
=== PAUSE TestAccGameliftGameServerGroup_GameServerGroupName
=== RUN   TestAccGameliftGameServerGroup_InstanceDefinition
=== PAUSE TestAccGameliftGameServerGroup_InstanceDefinition
=== RUN   TestAccGameliftGameServerGroup_InstanceDefinition_WeightedCapacity
=== PAUSE TestAccGameliftGameServerGroup_InstanceDefinition_WeightedCapacity
=== RUN   TestAccGameliftGameServerGroup_LaunchTemplate_Id
=== PAUSE TestAccGameliftGameServerGroup_LaunchTemplate_Id
=== RUN   TestAccGameliftGameServerGroup_LaunchTemplate_Name
=== PAUSE TestAccGameliftGameServerGroup_LaunchTemplate_Name
=== RUN   TestAccGameliftGameServerGroup_LaunchTemplate_Version
=== PAUSE TestAccGameliftGameServerGroup_LaunchTemplate_Version
=== RUN   TestAccGameliftGameServerGroup_GameServerProtectionPolicy
=== PAUSE TestAccGameliftGameServerGroup_GameServerProtectionPolicy
=== RUN   TestAccGameliftGameServerGroup_MaxSize
=== PAUSE TestAccGameliftGameServerGroup_MaxSize
=== RUN   TestAccGameliftGameServerGroup_MinSize
=== PAUSE TestAccGameliftGameServerGroup_MinSize
=== RUN   TestAccGameliftGameServerGroup_RoleArn
=== PAUSE TestAccGameliftGameServerGroup_RoleArn
=== RUN   TestAccGameliftGameServerGroup_Tags
=== PAUSE TestAccGameliftGameServerGroup_Tags
=== RUN   TestAccGameliftGameServerGroup_VpcSubnets
=== PAUSE TestAccGameliftGameServerGroup_VpcSubnets
=== CONT  TestAccGameliftGameServerGroup_basic
=== CONT  TestAccGameliftGameServerGroup_LaunchTemplate_Version
=== CONT  TestAccGameliftGameServerGroup_VpcSubnets
=== CONT  TestAccGameliftGameServerGroup_Tags
=== CONT  TestAccGameliftGameServerGroup_RoleArn
=== CONT  TestAccGameliftGameServerGroup_MinSize
=== CONT  TestAccGameliftGameServerGroup_InstanceDefinition
=== CONT  TestAccGameliftGameServerGroup_LaunchTemplate_Name
=== CONT  TestAccGameliftGameServerGroup_InstanceDefinition_WeightedCapacity
=== CONT  TestAccGameliftGameServerGroup_MaxSize
=== CONT  TestAccGameliftGameServerGroup_LaunchTemplate_Id
=== CONT  TestAccGameliftGameServerGroup_GameServerProtectionPolicy
=== CONT  TestAccGameliftGameServerGroup_BalancingStrategy
=== CONT  TestAccGameliftGameServerGroup_GameServerGroupName
=== CONT  TestAccGameliftGameServerGroup_AutoScalingPolicy_EstimatedInstanceWarmup
=== CONT  TestAccGameliftGameServerGroup_AutoScalingPolicy
--- PASS: TestAccGameliftGameServerGroup_basic (263.08s)
--- PASS: TestAccGameliftGameServerGroup_LaunchTemplate_Id (267.91s)
--- PASS: TestAccGameliftGameServerGroup_AutoScalingPolicy_EstimatedInstanceWarmup (269.90s)
--- PASS: TestAccGameliftGameServerGroup_Tags (292.55s)
--- PASS: TestAccGameliftGameServerGroup_GameServerProtectionPolicy (299.93s)
--- PASS: TestAccGameliftGameServerGroup_RoleArn (303.11s)
--- PASS: TestAccGameliftGameServerGroup_BalancingStrategy (305.06s)
--- PASS: TestAccGameliftGameServerGroup_LaunchTemplate_Name (305.07s)
--- PASS: TestAccGameliftGameServerGroup_LaunchTemplate_Version (320.22s)
--- PASS: TestAccGameliftGameServerGroup_AutoScalingPolicy (325.74s)
--- PASS: TestAccGameliftGameServerGroup_InstanceDefinition (367.12s)
--- PASS: TestAccGameliftGameServerGroup_InstanceDefinition_WeightedCapacity (376.41s)
--- PASS: TestAccGameliftGameServerGroup_MaxSize (524.09s)
--- PASS: TestAccGameliftGameServerGroup_MinSize (563.99s)
--- PASS: TestAccGameliftGameServerGroup_GameServerGroupName (579.16s)
--- PASS: TestAccGameliftGameServerGroup_VpcSubnets (585.84s)
PASS
ok      github.com/terraform-providers/terraform-provider-aws/aws       585.881s

@lystor lystor requested a review from a team as a code owner March 9, 2021 17:26
@ghost ghost added size/XXL Managed by automation to categorize the size of a PR. documentation Introduces or discusses updates to documentation. provider Pertains to the provider itself, rather than any interaction with AWS. service/gamelift Issues and PRs that pertain to the gamelift service. tests PRs: expanded test coverage. Issues: expanded coverage, enhancements to test infrastructure. labels Mar 9, 2021
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Welcome @lystor 👋

It looks like this is your first Pull Request submission to the Terraform AWS Provider! If you haven’t already done so please make sure you have checked out our CONTRIBUTING guide and FAQ to make sure your contribution is adhering to best practice and has all the necessary elements in place for a successful approval.

Also take a look at our FAQ which details how we prioritize Pull Requests for inclusion.

Thanks again, and welcome to the community! 😃

@github-actions github-actions bot added the needs-triage Waiting for first response or review from a maintainer. label Mar 9, 2021
@lystor
Copy link
Contributor Author

lystor commented Mar 9, 2021

Hello

There is one failed check Resources should not implement multiple AWS service functionality:

"github.com/aws/aws-sdk-go/service/autoscaling"
"github.com/aws/aws-sdk-go/service/gamelift"

Gamelift Game Server Group creates Auto Scaling group automatically (like EKS Node Groups) but doesn't provide any API to describe or update it.

"To view or update properties for the corresponding Auto Scaling group, such as launch template,
auto scaling policies, and maximum/minimum group size, access the Auto Scaling group directly":
https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeGameServerGroup.html

service/autoscaling is only used to describe Autoscaling Group and its policies in resourceAwsGameliftGameServerGroupRead().

All updates of Autoscaling Group have been removed from resourceAwsGameliftGameServerGroupUpdate() and related properties have been marked as ForceNew to follow Cross-Service Functionality Policy.

Is this allowed or is there a better way?

At least resource_aws_launch_configuration.go, resource_aws_lb.go, resource_aws_s3_bucket_object.go use multiple services to get required data in Read() func.

AWS support confirmed that Gamelift FleetIQ API is marked stable and will not be enhanced in near future...

Please help.
Thank you

@djsd123
Copy link
Contributor

djsd123 commented Aug 16, 2021

Hi @lystor, thanks for this. You saved me from having to attempt to do it. I'll try and drum up some support for your PR.

@breathingdust breathingdust added new-resource Introduces a new resource. and removed needs-triage Waiting for first response or review from a maintainer. labels Sep 4, 2021
@zhelding
Copy link
Contributor

Pull request #21306 has significantly refactored the AWS Provider codebase. As a result, most PRs opened prior to the refactor now have merge conflicts that must be resolved before proceeding.

Specifically, PR #21306 relocated the code for all AWS resources and data sources from a single aws directory to a large number of separate directories in internal/service, each corresponding to a particular AWS service. This separation of code has also allowed for us to simplify the names of underlying functions -- while still avoiding namespace collisions.

We recognize that many pull requests have been open for some time without yet being addressed by our maintainers. Therefore, we want to make it clear that resolving these conflicts in no way affects the prioritization of a particular pull request. Once a pull request has been prioritized for review, the necessary changes will be made by a maintainer -- either directly or in collaboration with the pull request author.

For a more complete description of this refactor, including examples of how old filepaths and function names correspond to their new counterparts: please refer to issue #20000.

For a quick guide on how to amend your pull request to resolve the merge conflicts resulting from this refactor and bring it in line with our new code patterns: please refer to our Service Package Refactor Pull Request Guide.

@AndreyNovik1993
Copy link

Hello, how faster will this change go to aws provider ?

@AndreyNovik1993
Copy link

Are you going to do somethins with with resource ? or as an alternative way to use terraform with cloudformation https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html ?

@ewbankkit
Copy link
Contributor

Superseded by #23606.
@lystor Thanks for the contribution 🎉 👏.

@ewbankkit ewbankkit closed this Mar 14, 2022
@github-actions
Copy link

I'm going to lock this pull request because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues.
If you have found a problem that seems related to this change, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators May 11, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
documentation Introduces or discusses updates to documentation. new-resource Introduces a new resource. provider Pertains to the provider itself, rather than any interaction with AWS. service/gamelift Issues and PRs that pertain to the gamelift service. size/XXL Managed by automation to categorize the size of a PR. tests PRs: expanded test coverage. Issues: expanded coverage, enhancements to test infrastructure.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants