Documentation
¶
Overview ¶
Package accounts provides functionality for managing AWS Organization accounts. Version: 1.0.0
Index ¶
- func CreateDefaultAccounts(ctx *pulumi.Context, securityOUID pulumi.StringInput, ...) error
- type AccountConfig
- type AccountInfo
- type AccountManager
- func (am *AccountManager) Backup(ctx context.Context) error
- func (am *AccountManager) CreateAccount(ctx *pulumi.Context, accountConfig *AccountConfig) (*awsOrg.Account, error)
- func (am *AccountManager) Restore(ctx context.Context, backupID string) error
- func (am *AccountManager) WithPulumiContext(ctx *pulumi.Context) context.Context
- type AccountService
- type BackupInfo
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CreateDefaultAccounts ¶
func CreateDefaultAccounts(ctx *pulumi.Context, securityOUID pulumi.StringInput, cfg *config.OrganizationConfig) error
CreateDefaultAccounts creates the default accounts required for AWS Control Tower
Types ¶
type AccountConfig ¶
type AccountConfig struct { Name string `json:"name"` Email string `json:"email"` ParentOUID pulumi.StringInput `json:"parentOuId"` Tags map[string]string `json:"tags"` }
AccountConfig represents the configuration for account creation
type AccountInfo ¶
type AccountInfo struct { ID string `json:"id"` ARN string `json:"arn"` Name string `json:"name"` Email string `json:"email"` Status string `json:"status"` Tags map[string]string `json:"tags"` }
AccountInfo represents account information
type AccountManager ¶
type AccountManager struct {
// contains filtered or unexported fields
}
AccountManager handles AWS account operations
func NewAccountManager ¶
func NewAccountManager(ctx context.Context) (*AccountManager, error)
NewAccountManager creates a new account manager instance
func (*AccountManager) Backup ¶
func (am *AccountManager) Backup(ctx context.Context) error
Backup creates a backup of account configurations
func (*AccountManager) CreateAccount ¶
func (am *AccountManager) CreateAccount(ctx *pulumi.Context, accountConfig *AccountConfig) (*awsOrg.Account, error)
CreateAccount creates a new AWS account with retry logic
func (*AccountManager) Restore ¶
func (am *AccountManager) Restore(ctx context.Context, backupID string) error
Restore restores account configurations from a backup
func (*AccountManager) WithPulumiContext ¶
func (am *AccountManager) WithPulumiContext(ctx *pulumi.Context) context.Context
Add this to your AccountManager struct
type AccountService ¶
type AccountService interface { CreateAccount(ctx *pulumi.Context, config *AccountConfig) (*awsOrg.Account, error) SuspendAccount(ctx *pulumi.Context, accountID string) error ResumeAccount(ctx *pulumi.Context, accountID string) error MoveAccount(ctx *pulumi.Context, accountID string, targetOUID string) error GetAccountStatus(ctx *pulumi.Context, accountID string) (string, error) ListAccounts(ctx *pulumi.Context) ([]*AccountInfo, error) Backup(ctx context.Context) error Restore(ctx context.Context, backupID string) error }
AccountService defines the interface for account operations
type BackupInfo ¶
type BackupInfo struct { ID string `json:"id"` Timestamp time.Time `json:"timestamp"` Accounts map[string]*AccountInfo `json:"accounts"` }
BackupInfo represents the structure of a backup