Documentation ¶
Index ¶
- func CheckEnv()
- type AwsAccountDynamoDB
- type AwsAccountDynamoDBProvider
- func (a *AwsAccountDynamoDBProvider) Count() (int, error)
- func (a *AwsAccountDynamoDBProvider) CountAvailable(reservation string) (int, error)
- func (a *AwsAccountDynamoDBProvider) DecryptSecret(encrypted string) (string, error)
- func (a *AwsAccountDynamoDBProvider) FetchAll() ([]models.AwsAccount, error)
- func (a *AwsAccountDynamoDBProvider) FetchAllActiveByServiceUuid(serviceUuid string) ([]models.AwsAccount, error)
- func (a *AwsAccountDynamoDBProvider) FetchAllActiveByServiceUuidWithCreds(serviceUuid string) ([]models.AwsAccountWithCreds, error)
- func (a *AwsAccountDynamoDBProvider) FetchAllAvailable() ([]models.AwsAccount, error)
- func (a *AwsAccountDynamoDBProvider) FetchAllByReservation(reservation string) ([]models.AwsAccount, error)
- func (a *AwsAccountDynamoDBProvider) FetchAllByServiceUuid(serviceUuid string) ([]models.AwsAccount, error)
- func (a *AwsAccountDynamoDBProvider) FetchAllByServiceUuidWithCreds(serviceUuid string) ([]models.AwsAccountWithCreds, error)
- func (a *AwsAccountDynamoDBProvider) FetchAllSorted(by string) ([]models.AwsAccount, error)
- func (a *AwsAccountDynamoDBProvider) FetchAllToCleanup() ([]models.AwsAccount, error)
- func (a *AwsAccountDynamoDBProvider) FetchByName(name string) (models.AwsAccount, error)
- func (a *AwsAccountDynamoDBProvider) MarkForCleanup(name string) error
- func (a *AwsAccountDynamoDBProvider) MarkForCleanupByServiceUuid(serviceUuid string) error
- func (a *AwsAccountDynamoDBProvider) RemoveReservation(name string) error
- func (a *AwsAccountDynamoDBProvider) Request(service_uuid string, reservation string, count int, ...) ([]models.AwsAccountWithCreds, error)
- func (a *AwsAccountDynamoDBProvider) Reserve(reservation string, count int) ([]models.AwsAccount, error)
- func (a *AwsAccountDynamoDBProvider) ScaleDownReservation(reservation string, count int) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type AwsAccountDynamoDB ¶
type AwsAccountDynamoDB struct { Name string `json:"name"` // NameInt: Internal plumbing to easily sort Sandboxes NameInt int Available bool `json:"available"` Reservation string `json:"reservation,omitempty"` Guid string `json:"guid"` ServiceUUID string `json:"service_uuid"` Envtype string `json:"envtype"` AccountID string `json:"account_id"` Owner string `json:"owner"` OwnerEmail string `json:"owner_email"` Zone string `json:"zone"` HostedZoneID string `json:"hosted_zone_id"` UpdateTime float64 `json:"aws:rep:updatetime"` Comment string `json:"comment"` AwsAccessKeyID string `json:"aws_access_key_id"` AwsSecretAccessKey string `json:"aws_secret_access_key"` // Conan ToCleanup bool `json:"to_cleanup"` ConanStatus string `json:"conan_status"` ConanTimestamp string `json:"conan_timestamp"` ConanHostname string `json:"conan_hostname"` }
Internal Type to represent the dynamodb table
func GetAccount ¶
func GetAccount(svc *dynamodb.DynamoDB, name string) (AwsAccountDynamoDB, error)
func GetAccounts ¶
func GetAccounts(svc *dynamodb.DynamoDB, filter expression.ConditionBuilder, batchSize int) ([]AwsAccountDynamoDB, error)
type AwsAccountDynamoDBProvider ¶
func NewAwsAccountDynamoDBProvider ¶
func NewAwsAccountDynamoDBProvider() *AwsAccountDynamoDBProvider
func NewAwsAccountDynamoDBProviderWithSecret ¶
func NewAwsAccountDynamoDBProviderWithSecret(vaultSecret string) *AwsAccountDynamoDBProvider
func (*AwsAccountDynamoDBProvider) Count ¶ added in v0.3.5
func (a *AwsAccountDynamoDBProvider) Count() (int, error)
func (*AwsAccountDynamoDBProvider) CountAvailable ¶ added in v0.3.5
func (a *AwsAccountDynamoDBProvider) CountAvailable(reservation string) (int, error)
func (*AwsAccountDynamoDBProvider) DecryptSecret ¶
func (a *AwsAccountDynamoDBProvider) DecryptSecret(encrypted string) (string, error)
func (*AwsAccountDynamoDBProvider) FetchAll ¶
func (a *AwsAccountDynamoDBProvider) FetchAll() ([]models.AwsAccount, error)
FetchAll returns the list of all accounts from dynamodb
func (*AwsAccountDynamoDBProvider) FetchAllActiveByServiceUuid ¶ added in v0.3.5
func (a *AwsAccountDynamoDBProvider) FetchAllActiveByServiceUuid(serviceUuid string) ([]models.AwsAccount, error)
FetchAllActiveByServiceUuid returns the list of accounts from dynamodb for a specific service uuid that are not to cleanup
func (*AwsAccountDynamoDBProvider) FetchAllActiveByServiceUuidWithCreds ¶ added in v0.3.5
func (a *AwsAccountDynamoDBProvider) FetchAllActiveByServiceUuidWithCreds(serviceUuid string) ([]models.AwsAccountWithCreds, error)
FetchAllActiveByServiceUuidWithCreds returns the list of accounts from dynamodb for a specific service uuid
func (*AwsAccountDynamoDBProvider) FetchAllAvailable ¶ added in v0.3.5
func (a *AwsAccountDynamoDBProvider) FetchAllAvailable() ([]models.AwsAccount, error)
FetchAllAvailable returns the list of available accounts from dynamodb
func (*AwsAccountDynamoDBProvider) FetchAllByReservation ¶ added in v0.3.5
func (a *AwsAccountDynamoDBProvider) FetchAllByReservation(reservation string) ([]models.AwsAccount, error)
GetAccountsByReservation returns the list of accounts from dynamodb for a specific reservation
func (*AwsAccountDynamoDBProvider) FetchAllByServiceUuid ¶
func (a *AwsAccountDynamoDBProvider) FetchAllByServiceUuid(serviceUuid string) ([]models.AwsAccount, error)
FetchAllByServiceUuid returns the list of accounts from dynamodb for a specific service uuid
func (*AwsAccountDynamoDBProvider) FetchAllByServiceUuidWithCreds ¶ added in v0.3.1
func (a *AwsAccountDynamoDBProvider) FetchAllByServiceUuidWithCreds(serviceUuid string) ([]models.AwsAccountWithCreds, error)
FetchAllByServiceUuidWithCreds returns the list of accounts from dynamodb for a specific service uuid
func (*AwsAccountDynamoDBProvider) FetchAllSorted ¶
func (a *AwsAccountDynamoDBProvider) FetchAllSorted(by string) ([]models.AwsAccount, error)
FetchAllSorted
func (*AwsAccountDynamoDBProvider) FetchAllToCleanup ¶
func (a *AwsAccountDynamoDBProvider) FetchAllToCleanup() ([]models.AwsAccount, error)
FetchAllToCleanup returns the list of accounts from dynamodb
func (*AwsAccountDynamoDBProvider) FetchByName ¶
func (a *AwsAccountDynamoDBProvider) FetchByName(name string) (models.AwsAccount, error)
func (*AwsAccountDynamoDBProvider) MarkForCleanup ¶
func (a *AwsAccountDynamoDBProvider) MarkForCleanup(name string) error
func (*AwsAccountDynamoDBProvider) MarkForCleanupByServiceUuid ¶
func (a *AwsAccountDynamoDBProvider) MarkForCleanupByServiceUuid(serviceUuid string) error
func (*AwsAccountDynamoDBProvider) RemoveReservation ¶ added in v0.3.5
func (a *AwsAccountDynamoDBProvider) RemoveReservation(name string) error
RemoveReservation remove an account from a reservation
func (*AwsAccountDynamoDBProvider) Request ¶
func (a *AwsAccountDynamoDBProvider) Request(service_uuid string, reservation string, count int, annotations map[string]string) ([]models.AwsAccountWithCreds, error)
Request reserve accounts for a service
func (*AwsAccountDynamoDBProvider) Reserve ¶ added in v0.3.5
func (a *AwsAccountDynamoDBProvider) Reserve(reservation string, count int) ([]models.AwsAccount, error)
Reserve reserve accounts for a reservation It takes the number of account to reserve. The function iterates over available accounts and update the 'reservation' column
func (*AwsAccountDynamoDBProvider) ScaleDownReservation ¶ added in v0.3.5
func (a *AwsAccountDynamoDBProvider) ScaleDownReservation(reservation string, count int) error
ScaleDownReservation scale down a reservation It removes some of the accounts from the reservation