Skip to content
This repository was archived by the owner on Oct 15, 2024. It is now read-only.

Commit 0287f7d

Browse files
authored
Add properties to servicecatalog resources (#598)
1 parent b60e7c4 commit 0287f7d

9 files changed

+159
-46
lines changed

resources/servicecatalog-portfolio-constraints-attachements.go

+17-6
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,15 @@ import (
66
"github.com/aws/aws-sdk-go/aws"
77
"github.com/aws/aws-sdk-go/aws/session"
88
"github.com/aws/aws-sdk-go/service/servicecatalog"
9+
"github.com/rebuy-de/aws-nuke/pkg/types"
910
log "github.com/sirupsen/logrus"
1011
)
1112

1213
type ServiceCatalogConstraintPortfolioAttachment struct {
13-
svc *servicecatalog.ServiceCatalog
14-
constraintID *string
15-
portfolioID *string
14+
svc *servicecatalog.ServiceCatalog
15+
constraintID *string
16+
portfolioID *string
17+
portfolioName *string
1618
}
1719

1820
func init() {
@@ -64,9 +66,10 @@ func ListServiceCatalogPrincipalProductAttachments(sess *session.Session) ([]Res
6466

6567
for _, constraintDetail := range resp.ConstraintDetails {
6668
resources = append(resources, &ServiceCatalogConstraintPortfolioAttachment{
67-
svc: svc,
68-
portfolioID: portfolio.Id,
69-
constraintID: constraintDetail.ConstraintId,
69+
svc: svc,
70+
portfolioID: portfolio.Id,
71+
constraintID: constraintDetail.ConstraintId,
72+
portfolioName: portfolio.DisplayName,
7073
})
7174
}
7275

@@ -89,6 +92,14 @@ func (f *ServiceCatalogConstraintPortfolioAttachment) Remove() error {
8992
return err
9093
}
9194

95+
func (f *ServiceCatalogConstraintPortfolioAttachment) Properties() types.Properties {
96+
properties := types.NewProperties()
97+
properties.Set("PortfolioID", f.portfolioID)
98+
properties.Set("ConstraintID", f.constraintID)
99+
properties.Set("PortfolioName", f.portfolioName)
100+
return properties
101+
}
102+
92103
func (f *ServiceCatalogConstraintPortfolioAttachment) String() string {
93104
return fmt.Sprintf("%s -> %s", *f.constraintID, *f.portfolioID)
94105
}

resources/servicecatalog-portfolio-principal-attachements.go

+17-6
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,14 @@ import (
66
"github.com/aws/aws-sdk-go/aws"
77
"github.com/aws/aws-sdk-go/aws/session"
88
"github.com/aws/aws-sdk-go/service/servicecatalog"
9+
"github.com/rebuy-de/aws-nuke/pkg/types"
910
)
1011

1112
type ServiceCatalogPrincipalPortfolioAttachment struct {
12-
svc *servicecatalog.ServiceCatalog
13-
portfolioID *string
14-
principalARN *string
13+
svc *servicecatalog.ServiceCatalog
14+
portfolioID *string
15+
principalARN *string
16+
portfolioName *string
1517
}
1618

1719
func init() {
@@ -60,9 +62,10 @@ func ListServiceCatalogPrincipalPortfolioAttachments(sess *session.Session) ([]R
6062

6163
for _, principal := range resp.Principals {
6264
resources = append(resources, &ServiceCatalogPrincipalPortfolioAttachment{
63-
svc: svc,
64-
principalARN: principal.PrincipalARN,
65-
portfolioID: portfolio.Id,
65+
svc: svc,
66+
principalARN: principal.PrincipalARN,
67+
portfolioID: portfolio.Id,
68+
portfolioName: portfolio.DisplayName,
6669
})
6770
}
6871

@@ -86,6 +89,14 @@ func (f *ServiceCatalogPrincipalPortfolioAttachment) Remove() error {
8689
return err
8790
}
8891

92+
func (f *ServiceCatalogPrincipalPortfolioAttachment) Properties() types.Properties {
93+
properties := types.NewProperties()
94+
properties.Set("PortfolioID", f.portfolioID)
95+
properties.Set("PrincipalARN", f.principalARN)
96+
properties.Set("PortfolioName", f.portfolioName)
97+
return properties
98+
}
99+
89100
func (f *ServiceCatalogPrincipalPortfolioAttachment) String() string {
90101
return fmt.Sprintf("%s -> %s", *f.principalARN, *f.portfolioID)
91102
}

resources/servicecatalog-portfolio-product-attachements.go

+24-10
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,15 @@ import (
66
"github.com/aws/aws-sdk-go/aws"
77
"github.com/aws/aws-sdk-go/aws/session"
88
"github.com/aws/aws-sdk-go/service/servicecatalog"
9+
"github.com/rebuy-de/aws-nuke/pkg/types"
910
)
1011

1112
type ServiceCatalogPortfolioProductAttachment struct {
12-
svc *servicecatalog.ServiceCatalog
13-
productID *string
14-
portfolioID *string
13+
svc *servicecatalog.ServiceCatalog
14+
productID *string
15+
portfolioID *string
16+
portfolioName *string
17+
productName *string
1518
}
1619

1720
func init() {
@@ -21,7 +24,7 @@ func init() {
2124
func ListServiceCatalogPortfolioProductAttachments(sess *session.Session) ([]Resource, error) {
2225
svc := servicecatalog.New(sess)
2326
resources := []Resource{}
24-
products := []*string{}
27+
products := make(map[*string]*string)
2528

2629
params := &servicecatalog.SearchProductsAsAdminInput{
2730
PageSize: aws.Int64(20),
@@ -35,7 +38,7 @@ func ListServiceCatalogPortfolioProductAttachments(sess *session.Session) ([]Res
3538
}
3639

3740
for _, productViewDetail := range resp.ProductViewDetails {
38-
products = append(products, productViewDetail.ProductViewSummary.ProductId)
41+
products[productViewDetail.ProductViewSummary.ProductId] = productViewDetail.ProductViewSummary.Name
3942
}
4043

4144
if resp.NextPageToken == nil {
@@ -49,9 +52,9 @@ func ListServiceCatalogPortfolioProductAttachments(sess *session.Session) ([]Res
4952
PageSize: aws.Int64(20),
5053
}
5154

52-
for _, product := range products {
55+
for productID, productName := range products {
5356

54-
portfolioParams.ProductId = product
57+
portfolioParams.ProductId = productID
5558

5659
resp, err := svc.ListPortfoliosForProduct(portfolioParams)
5760
if err != nil {
@@ -60,9 +63,11 @@ func ListServiceCatalogPortfolioProductAttachments(sess *session.Session) ([]Res
6063

6164
for _, portfolioDetail := range resp.PortfolioDetails {
6265
resources = append(resources, &ServiceCatalogPortfolioProductAttachment{
63-
svc: svc,
64-
productID: product,
65-
portfolioID: portfolioDetail.Id,
66+
svc: svc,
67+
productID: productID,
68+
portfolioID: portfolioDetail.Id,
69+
portfolioName: portfolioDetail.DisplayName,
70+
productName: productName,
6671
})
6772
}
6873

@@ -86,6 +91,15 @@ func (f *ServiceCatalogPortfolioProductAttachment) Remove() error {
8691
return err
8792
}
8893

94+
func (f *ServiceCatalogPortfolioProductAttachment) Properties() types.Properties {
95+
properties := types.NewProperties()
96+
properties.Set("PortfolioID", f.portfolioID)
97+
properties.Set("PortfolioName", f.portfolioName)
98+
properties.Set("ProductID", f.productID)
99+
properties.Set("ProductName", f.productName)
100+
return properties
101+
}
102+
89103
func (f *ServiceCatalogPortfolioProductAttachment) String() string {
90104
return fmt.Sprintf("%s -> %s", *f.productID, *f.portfolioID)
91105
}

resources/servicecatalog-portfolio-share-attachements.go

+17-6
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,14 @@ import (
66
"github.com/aws/aws-sdk-go/aws"
77
"github.com/aws/aws-sdk-go/aws/session"
88
"github.com/aws/aws-sdk-go/service/servicecatalog"
9+
"github.com/rebuy-de/aws-nuke/pkg/types"
910
)
1011

1112
type ServiceCatalogPortfolioShareAttachment struct {
12-
svc *servicecatalog.ServiceCatalog
13-
portfolioID *string
14-
accountID *string
13+
svc *servicecatalog.ServiceCatalog
14+
portfolioID *string
15+
accountID *string
16+
portfolioName *string
1517
}
1618

1719
func init() {
@@ -59,9 +61,10 @@ func ListServiceCatalogPortfolioShareAttachments(sess *session.Session) ([]Resou
5961

6062
for _, account := range resp.AccountIds {
6163
resources = append(resources, &ServiceCatalogPortfolioShareAttachment{
62-
svc: svc,
63-
portfolioID: portfolio.Id,
64-
accountID: account,
64+
svc: svc,
65+
portfolioID: portfolio.Id,
66+
accountID: account,
67+
portfolioName: portfolio.DisplayName,
6568
})
6669
}
6770

@@ -80,6 +83,14 @@ func (f *ServiceCatalogPortfolioShareAttachment) Remove() error {
8083
return err
8184
}
8285

86+
func (f *ServiceCatalogPortfolioShareAttachment) Properties() types.Properties {
87+
properties := types.NewProperties()
88+
properties.Set("PortfolioID", f.portfolioID)
89+
properties.Set("PortfolioName", f.portfolioName)
90+
properties.Set("AccountID", f.accountID)
91+
return properties
92+
}
93+
8394
func (f *ServiceCatalogPortfolioShareAttachment) String() string {
8495
return fmt.Sprintf("%s -> %s", *f.portfolioID, *f.accountID)
8596
}

resources/servicecatalog-portfolio-tagoptions-attachements.go

+23-6
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,17 @@ import (
66
"github.com/aws/aws-sdk-go/aws"
77
"github.com/aws/aws-sdk-go/aws/session"
88
"github.com/aws/aws-sdk-go/service/servicecatalog"
9+
"github.com/rebuy-de/aws-nuke/pkg/types"
910
log "github.com/sirupsen/logrus"
1011
)
1112

1213
type ServiceCatalogTagOptionPortfolioAttachment struct {
13-
svc *servicecatalog.ServiceCatalog
14-
tagOptionID *string
15-
resourceID *string
14+
svc *servicecatalog.ServiceCatalog
15+
tagOptionID *string
16+
resourceID *string
17+
tagOptionKey *string
18+
tagOptionValue *string
19+
resourceName *string
1620
}
1721

1822
func init() {
@@ -64,9 +68,12 @@ func ListServiceCatalogTagOptionPortfolioAttachments(sess *session.Session) ([]R
6468

6569
for _, resourceDetail := range resp.ResourceDetails {
6670
resources = append(resources, &ServiceCatalogTagOptionPortfolioAttachment{
67-
svc: svc,
68-
tagOptionID: tagOption.Id,
69-
resourceID: resourceDetail.Id,
71+
svc: svc,
72+
tagOptionID: tagOption.Id,
73+
resourceID: resourceDetail.Id,
74+
resourceName: resourceDetail.Name,
75+
tagOptionKey: tagOption.Key,
76+
tagOptionValue: tagOption.Value,
7077
})
7178
}
7279

@@ -90,6 +97,16 @@ func (f *ServiceCatalogTagOptionPortfolioAttachment) Remove() error {
9097
return err
9198
}
9299

100+
func (f *ServiceCatalogTagOptionPortfolioAttachment) Properties() types.Properties {
101+
properties := types.NewProperties()
102+
properties.Set("TagOptionID", f.tagOptionID)
103+
properties.Set("TagOptionKey", f.tagOptionKey)
104+
properties.Set("TagOptionValue", f.tagOptionValue)
105+
properties.Set("ResourceID", f.resourceID)
106+
properties.Set("ResourceName", f.resourceName)
107+
return properties
108+
}
109+
93110
func (f *ServiceCatalogTagOptionPortfolioAttachment) String() string {
94111
return fmt.Sprintf("%s -> %s", *f.tagOptionID, *f.resourceID)
95112
}

resources/servicecatalog-portfolios.go

+17-4
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,14 @@ import (
44
"github.com/aws/aws-sdk-go/aws"
55
"github.com/aws/aws-sdk-go/aws/session"
66
"github.com/aws/aws-sdk-go/service/servicecatalog"
7+
"github.com/rebuy-de/aws-nuke/pkg/types"
78
)
89

910
type ServiceCatalogPortfolio struct {
10-
svc *servicecatalog.ServiceCatalog
11-
ID *string
11+
svc *servicecatalog.ServiceCatalog
12+
ID *string
13+
displayName *string
14+
providerName *string
1215
}
1316

1417
func init() {
@@ -31,8 +34,10 @@ func ListServiceCatalogPortfolios(sess *session.Session) ([]Resource, error) {
3134

3235
for _, portfolioDetail := range resp.PortfolioDetails {
3336
resources = append(resources, &ServiceCatalogPortfolio{
34-
svc: svc,
35-
ID: portfolioDetail.Id,
37+
svc: svc,
38+
ID: portfolioDetail.Id,
39+
displayName: portfolioDetail.DisplayName,
40+
providerName: portfolioDetail.ProviderName,
3641
})
3742
}
3843

@@ -55,6 +60,14 @@ func (f *ServiceCatalogPortfolio) Remove() error {
5560
return err
5661
}
5762

63+
func (f *ServiceCatalogPortfolio) Properties() types.Properties {
64+
properties := types.NewProperties()
65+
properties.Set("ID", f.ID)
66+
properties.Set("DisplayName", f.displayName)
67+
properties.Set("ProviderName", f.providerName)
68+
return properties
69+
}
70+
5871
func (f *ServiceCatalogPortfolio) String() string {
5972
return *f.ID
6073
}

resources/servicecatalog-products.go

+14-4
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,13 @@ import (
44
"github.com/aws/aws-sdk-go/aws"
55
"github.com/aws/aws-sdk-go/aws/session"
66
"github.com/aws/aws-sdk-go/service/servicecatalog"
7+
"github.com/rebuy-de/aws-nuke/pkg/types"
78
)
89

910
type ServiceCatalogProduct struct {
10-
svc *servicecatalog.ServiceCatalog
11-
ID *string
11+
svc *servicecatalog.ServiceCatalog
12+
ID *string
13+
name *string
1214
}
1315

1416
func init() {
@@ -31,8 +33,9 @@ func ListServiceCatalogProducts(sess *session.Session) ([]Resource, error) {
3133

3234
for _, productView := range resp.ProductViewDetails {
3335
resources = append(resources, &ServiceCatalogProduct{
34-
svc: svc,
35-
ID: productView.ProductViewSummary.ProductId,
36+
svc: svc,
37+
ID: productView.ProductViewSummary.ProductId,
38+
name: productView.ProductViewSummary.Name,
3639
})
3740
}
3841

@@ -55,6 +58,13 @@ func (f *ServiceCatalogProduct) Remove() error {
5558
return err
5659
}
5760

61+
func (f *ServiceCatalogProduct) Properties() types.Properties {
62+
properties := types.NewProperties()
63+
properties.Set("ID", f.ID)
64+
properties.Set("Name", f.name)
65+
return properties
66+
}
67+
5868
func (f *ServiceCatalogProduct) String() string {
5969
return *f.ID
6070
}

0 commit comments

Comments
 (0)