Skip to content

Commit

Permalink
Fix pre-refactor changes
Browse files Browse the repository at this point in the history
  • Loading branch information
chroju committed Jul 14, 2022
1 parent fd91d1b commit 241d45b
Show file tree
Hide file tree
Showing 5 changed files with 80 additions and 32 deletions.
1 change: 1 addition & 0 deletions internal/provider/provider.go
Original file line number Diff line number Diff line change
Expand Up @@ -2009,6 +2009,7 @@ func Provider() *schema.Provider {
"aws_ssm_patch_baseline": ssm.ResourcePatchBaseline(),
"aws_ssm_patch_group": ssm.ResourcePatchGroup(),
"aws_ssm_resource_data_sync": ssm.ResourceResourceDataSync(),
"aws_ssm_service_setting": ssm.ResourceServiceSetting(),

"aws_ssoadmin_account_assignment": ssoadmin.ResourceAccountAssignment(),
"aws_ssoadmin_managed_policy_attachment": ssoadmin.ResourceManagedPolicyAttachment(),
Expand Down
29 changes: 15 additions & 14 deletions internal/service/ssm/service_setting.go
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package aws
package ssm

import (
"fmt"
Expand All @@ -7,15 +7,16 @@ import (

"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/service/ssm"
"github.com/hashicorp/terraform-plugin-sdk/helper/schema"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
"github.com/hashicorp/terraform-provider-aws/internal/conns"
)

func resourceAwsSsmServiceSetting() *schema.Resource {
func ResourceServiceSetting() *schema.Resource {
return &schema.Resource{
Create: resourceAwsSsmServiceSettingUpdate,
Read: resourceAwsSsmServiceSettingRead,
Update: resourceAwsSsmServiceSettingUpdate,
Delete: resourceAwsSsmServiceSettingReset,
Create: resourceServiceSettingUpdate,
Read: resourceServiceSettingRead,
Update: resourceServiceSettingUpdate,
Delete: resourceServiceSettingReset,
Importer: &schema.ResourceImporter{
State: schema.ImportStatePassthrough,
},
Expand Down Expand Up @@ -49,8 +50,8 @@ func resourceAwsSsmServiceSetting() *schema.Resource {
}
}

func resourceAwsSsmServiceSettingUpdate(d *schema.ResourceData, meta interface{}) error {
ssmconn := meta.(*AWSClient).ssmconn
func resourceServiceSettingUpdate(d *schema.ResourceData, meta interface{}) error {
ssmconn := meta.(*conns.AWSClient).SSMConn

log.Printf("[DEBUG] SSM service setting create: %s", d.Id())

Expand All @@ -65,11 +66,11 @@ func resourceAwsSsmServiceSettingUpdate(d *schema.ResourceData, meta interface{}

d.SetId(d.Get("setting_id").(string))

return resourceAwsSsmServiceSettingRead(d, meta)
return resourceServiceSettingRead(d, meta)
}

func resourceAwsSsmServiceSettingRead(d *schema.ResourceData, meta interface{}) error {
ssmconn := meta.(*AWSClient).ssmconn
func resourceServiceSettingRead(d *schema.ResourceData, meta interface{}) error {
ssmconn := meta.(*conns.AWSClient).SSMConn

log.Printf("[DEBUG] Reading SSM Activation: %s", d.Id())

Expand All @@ -96,8 +97,8 @@ func resourceAwsSsmServiceSettingRead(d *schema.ResourceData, meta interface{})
return nil
}

func resourceAwsSsmServiceSettingReset(d *schema.ResourceData, meta interface{}) error {
ssmconn := meta.(*AWSClient).ssmconn
func resourceServiceSettingReset(d *schema.ResourceData, meta interface{}) error {
ssmconn := meta.(*conns.AWSClient).SSMConn

log.Printf("[DEBUG] Deleting SSM Service Setting: %s", d.Id())

Expand Down
38 changes: 20 additions & 18 deletions internal/service/ssm/service_setting_test.go
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package aws
package ssm_test

import (
"fmt"
Expand All @@ -9,26 +9,28 @@ import (
"github.com/aws/aws-sdk-go/aws/session"
"github.com/aws/aws-sdk-go/service/ssm"
"github.com/aws/aws-sdk-go/service/sts"
"github.com/hashicorp/terraform-plugin-sdk/helper/resource"
"github.com/hashicorp/terraform-plugin-sdk/terraform"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
"github.com/hashicorp/terraform-provider-aws/internal/acctest"
"github.com/hashicorp/terraform-provider-aws/internal/conns"
)

func TestAccAWSSSMServiceSetting_basic(t *testing.T) {
func TestAccSSMServiceSetting_basic(t *testing.T) {
var setting ssm.GetServiceSettingOutput
resourceName := "aws_ssm_service_setting.test"
awsSession := session.New()
stssvc := sts.New(awsSession)
result, _ := stssvc.GetCallerIdentity(&sts.GetCallerIdentityInput{})

resource.ParallelTest(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
Providers: testAccProviders,
CheckDestroy: testAccCheckAWSSSMServiceSettingDestroy,
PreCheck: func() { acctest.PreCheck(t) },
ProviderFactories: acctest.ProviderFactories,
CheckDestroy: testAccServiceSettingDestroy,
Steps: []resource.TestStep{
{
Config: testAccAWSSSMServiceSetting(aws.StringValue(result.Account), aws.StringValue(awsSession.Config.Region), "false"),
Config: testAccServiceSettingConfig_basic(aws.StringValue(result.Account), aws.StringValue(awsSession.Config.Region), "false"),
Check: resource.ComposeTestCheckFunc(
testAccCheckAWSSSMServiceSettingExists(resourceName, &setting),
testAccServiceSettingExists(resourceName, &setting),
resource.TestCheckResourceAttr(resourceName, "setting_value", "false"),
),
},
Expand All @@ -38,18 +40,18 @@ func TestAccAWSSSMServiceSetting_basic(t *testing.T) {
ImportStateVerify: true,
},
{
Config: testAccAWSSSMServiceSetting(aws.StringValue(result.Account), aws.StringValue(awsSession.Config.Region), "true"),
Config: testAccServiceSettingConfig_basic(aws.StringValue(result.Account), aws.StringValue(awsSession.Config.Region), "true"),
Check: resource.ComposeTestCheckFunc(
testAccCheckAWSSSMServiceSettingExists(resourceName, &setting),
testAccServiceSettingExists(resourceName, &setting),
resource.TestCheckResourceAttr(resourceName, "setting_value", "true"),
),
},
},
})
}

func testAccCheckAWSSSMServiceSettingDestroy(s *terraform.State) error {
conn := testAccProvider.Meta().(*AWSClient).ssmconn
func testAccServiceSettingDestroy(s *terraform.State) error {
conn := acctest.Provider.Meta().(*conns.AWSClient).SSMConn

for _, rs := range s.RootModule().Resources {
if rs.Type != "aws_ssm_service_setting" {
Expand All @@ -71,14 +73,14 @@ func testAccCheckAWSSSMServiceSettingDestroy(s *terraform.State) error {
return nil
}

func testAccCheckAWSSSMServiceSettingExists(n string, res *ssm.GetServiceSettingOutput) resource.TestCheckFunc {
func testAccServiceSettingExists(n string, res *ssm.GetServiceSettingOutput) resource.TestCheckFunc {
return func(s *terraform.State) error {
rs, ok := s.RootModule().Resources[n]
if !ok {
return fmt.Errorf("Not found: %s", n)
}

conn := testAccProvider.Meta().(*AWSClient).ssmconn
conn := acctest.Provider.Meta().(*conns.AWSClient).SSMConn

resp, err := conn.GetServiceSetting(&ssm.GetServiceSettingInput{
SettingId: aws.String(rs.Primary.Attributes["setting_id"]),
Expand All @@ -93,13 +95,13 @@ func testAccCheckAWSSSMServiceSettingExists(n string, res *ssm.GetServiceSetting
}
}

func testAccAWSSSMServiceSetting(accountID, region, value string) string {
func testAccServiceSettingConfig_basic(accountID, region, value string) string {
return fmt.Sprintf(testSettingTemplate, region, accountID, value)
}

const testSettingTemplate = `
resource "aws_ssm_service_setting" "test" {
setting_id = "arn:aws:ssm:%s:%s:servicesetting/ssm/parameter-store/high-throughput-enabled"
setting_value = "%s"
setting_id = "arn:aws:ssm:%s:%s:servicesetting/ssm/parameter-store/high-throughput-enabled"
setting_value = "%s"
}
`
44 changes: 44 additions & 0 deletions website/docs/r/ssm_service_setting.html.markdown
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
---
subcategory: "SSM (Systems Manager)"
layout: "aws"
page_title: "AWS: aws_ssm_service_setting"
description: |-
Defines how a user interacts with or uses a service or a feature of a SSM service.
---

# Resource: aws_ssm_service_setting

Defines how a user interacts with or uses a service or a feature of a SSM service.

## Example Usage

```hcl
resource "aws_ssm_service_setting" "test_setting" {
service_id = "arn:aws:ssm:us-east-1:123456789012:servicesetting/ssm/parameter-store/high-throughput-enabled"
service_value = "true"
}
```

## Argument Reference

The following arguments are supported:

* `service_id` - (Required) The ID of the service setting.
* `service_value` - (Required) The value of the service setting.

## Attributes Reference

In addition to all arguments above, the following attributes are exported:

* `arn` - The ARN of the service setting.
* `last_modified_date` - The last time the service setting was modified.
* `last_modified_user` - The ARN of the last modified user. This field is populated only if the setting value was overwritten.
* `status` - The status of the service setting. The value can be Default, Customized or PendingUpdate.

## Import

AWS SSM Service Setting can be imported using the `setting_id`, e.g.

```sh
$ terraform import aws_ssm_service_setting.example arn:aws:ssm:us-east-1:123456789012:servicesetting/ssm/parameter-store/high-throughput-enabled
```
File renamed without changes.

0 comments on commit 241d45b

Please sign in to comment.