models

package
v1.5.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 14, 2025 License: Apache-2.0 Imports: 0 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ADEphemeralUser      string = "ad_ephemeral_user"
	LocalEphemeralUser   string = "local_ephemeral_user"
	RDSIAMAuthentication string = "rds_iam_authentication"
	AtlasEphemeralUser   string = "atlas_ephemeral_user"
)

Possible database authentication methods

View Source
const (
	EngineTypeAuroraPostgres       string = "aurora-postgresql"
	EngineTypeAuroraMysql          string = "aurora-mysql"
	EngineTypeCustomSQLServerEE    string = "custom-sqlserver-ee"
	EngineTypeCustomSQLServerSE    string = "custom-sqlserver-se"
	EngineTypeCustomSQLServerWeb   string = "custom-sqlserver-web"
	EngineTypeOracleEE             string = "oracle-ee"
	EngineTypeOracleEECDB          string = "oracle-ee-cdb"
	EngineTypeOracleSE2            string = "oracle-se2"
	EngineTypeOracleSE2CDB         string = "oracle-se2-cdb"
	EngineTypeSQLServer            string = "sqlserver"
	EngineTypeOracle               string = "oracle"
	EngineTypeMSSQL                string = "mssql"
	EngineTypeMariaDB              string = "mariadb"
	EngineTypeMySQL                string = "mysql"
	EngineTypePostgres             string = "postgres"
	EngineTypeSQLServerSH          string = "sqlserver-sh"
	EngineTypeMSSQLSH              string = "mssql-sh"
	EngineTypeMySQLSH              string = "mysql-sh"
	EngineTypeMariaDBSH            string = "mariadb-sh"
	EngineTypePostgresSH           string = "postgres-sh"
	EngineTypeOracleSH             string = "oracle-sh"
	EngineTypeDB2                  string = "db2"
	EngineTypeDB2SH                string = "db2-sh"
	EngineTypeMongo                string = "mongo"
	EngineTypeMongoSH              string = "mongo-sh"
	EngineTypeMSSQLSHVM            string = "mssql-sh-vm"
	EngineTypeMSSQLAzureManaged    string = "mssql-azure-managed"
	EngineTypeMSSQLAzureVM         string = "mssql-azure-vm"
	EngineTypeMSSQLAWSEC2          string = "mssql-aws-ec2"
	EngineTypeMSSQLAWSRDS          string = "mssql-aws-rds"
	EngineTypeDB2AWSRDS            string = "db2-aws-rds"
	EngineTypeDB2SHVM              string = "db2-sh-vm"
	EngineTypeOracleAWSRDS         string = "oracle-aws-rds"
	EngineTypeOracleAWSVM          string = "oracle-aws-vm"
	EngineTypeOracleSHVM           string = "oracle-sh-vm"
	EngineTypeMariaDBSHVM          string = "mariadb-sh-vm"
	EngineTypeMariaDBAzureManaged  string = "mariadb-azure-managed"
	EngineTypeMariaDBAzureVM       string = "mariadb-azure-vm"
	EngineTypeMariaDBAWSVM         string = "mariadb-aws-vm"
	EngineTypeMariaDBAWSRDS        string = "mariadb-aws-rds"
	EngineTypeMariaDBAWSAurora     string = "mariadb-aws-aurora"
	EngineTypeMySQLSHVM            string = "mysql-sh-vm"
	EngineTypeMySQLAzureManaged    string = "mysql-azure-managed"
	EngineTypeMySQLAzureVM         string = "mysql-azure-vm"
	EngineTypeMySQLAWSVM           string = "mysql-aws-vm"
	EngineTypeMySQLAWSRDS          string = "mysql-aws-rds"
	EngineTypeMySQLAWSAurora       string = "mysql-aws-aurora"
	EngineTypePostgresSHVM         string = "postgres-sh-vm"
	EngineTypePostgresAzureManaged string = "postgres-azure-managed"
	EngineTypePostgresAzureVM      string = "postgres-azure-vm"
	EngineTypePostgresAWSVM        string = "postgres-aws-vm"
	EngineTypePostgresAWSRDS       string = "postgres-aws-rds"
	EngineTypePostgresAWSAurora    string = "postgres-aws-aurora"
	EngineTypeMongoSHVM            string = "mongo-sh-vm"
	EngineTypeMongoAWSDocDB        string = "mongo-aws-docdb"
	EngineTypeMongoAtlasManaged    string = "mongo-atlas-managed"
)

Possible database engine types.

View Source
const (
	FamilyTypePostgres string = "Postgres"
	FamilyTypeOracle   string = "Oracle"
	FamilyTypeMSSQL    string = "MSSQL"
	FamilyTypeMySQL    string = "MySQL"
	FamilyTypeMariaDB  string = "MariaDB"
	FamilyTypeDB2      string = "DB2"
	FamilyTypeMongo    string = "Mongo"
	FamilyTypeUnknown  string = "Unknown"
)

Possible database family types.

View Source
const (
	Cloud      string = "cloud"
	SelfHosted string = "self-hosted"
)

Possible database workspace types.

View Source
const (
	NoCertificates string = "no_certificates"
	NoSecrets      string = "no_secrets"
	AnyError       string = "any_error"
)

Possible warning types when fetching databases / stats

Variables

DatabaseEngineTypes is a list of all possible database engine types.

View Source
var DatabaseFamiliesDefaultPorts = map[string]int{
	FamilyTypePostgres: 5432,
	FamilyTypeOracle:   2484,
	FamilyTypeMSSQL:    1433,
	FamilyTypeMySQL:    3306,
	FamilyTypeMariaDB:  3306,
	FamilyTypeDB2:      50002,
	FamilyTypeMongo:    27017,
}

DatabaseFamiliesDefaultPorts is a map of database family types to their default ports.

DatabaseFamilyTypes is a list of all possible database family types.

View Source
var DatabasesEnginesToFamily = map[string]string{
	EngineTypeAuroraMysql:          FamilyTypeMySQL,
	EngineTypeAuroraPostgres:       FamilyTypePostgres,
	EngineTypeCustomSQLServerEE:    FamilyTypeMSSQL,
	EngineTypeCustomSQLServerSE:    FamilyTypeMSSQL,
	EngineTypeCustomSQLServerWeb:   FamilyTypeMSSQL,
	EngineTypeMariaDB:              FamilyTypeMariaDB,
	EngineTypeMariaDBSH:            FamilyTypeMariaDB,
	EngineTypeMSSQL:                FamilyTypeMSSQL,
	EngineTypeMSSQLSH:              FamilyTypeMSSQL,
	EngineTypeMySQL:                FamilyTypeMySQL,
	EngineTypeMySQLSH:              FamilyTypeMySQL,
	EngineTypeOracle:               FamilyTypeOracle,
	EngineTypeOracleEE:             FamilyTypeOracle,
	EngineTypeOracleSH:             FamilyTypeOracle,
	EngineTypeOracleEECDB:          FamilyTypeOracle,
	EngineTypeOracleSE2CDB:         FamilyTypeOracle,
	EngineTypeOracleSE2:            FamilyTypeOracle,
	EngineTypePostgres:             FamilyTypePostgres,
	EngineTypePostgresSH:           FamilyTypePostgres,
	EngineTypeSQLServer:            FamilyTypeMSSQL,
	EngineTypeSQLServerSH:          FamilyTypeMSSQL,
	EngineTypeDB2:                  FamilyTypeDB2,
	EngineTypeDB2SH:                FamilyTypeDB2,
	EngineTypeMongo:                FamilyTypeMongo,
	EngineTypeMongoSH:              FamilyTypeMongo,
	EngineTypeMSSQLSHVM:            FamilyTypeMSSQL,
	EngineTypeMSSQLAzureManaged:    FamilyTypeMSSQL,
	EngineTypeMSSQLAzureVM:         FamilyTypeMSSQL,
	EngineTypeMSSQLAWSEC2:          FamilyTypeMSSQL,
	EngineTypeMSSQLAWSRDS:          FamilyTypeMSSQL,
	EngineTypeDB2AWSRDS:            FamilyTypeDB2,
	EngineTypeDB2SHVM:              FamilyTypeDB2,
	EngineTypeOracleAWSRDS:         FamilyTypeOracle,
	EngineTypeOracleAWSVM:          FamilyTypeOracle,
	EngineTypeOracleSHVM:           FamilyTypeOracle,
	EngineTypeMariaDBSHVM:          FamilyTypeMariaDB,
	EngineTypeMariaDBAzureManaged:  FamilyTypeMariaDB,
	EngineTypeMariaDBAzureVM:       FamilyTypeMariaDB,
	EngineTypeMariaDBAWSVM:         FamilyTypeMariaDB,
	EngineTypeMariaDBAWSRDS:        FamilyTypeMariaDB,
	EngineTypeMariaDBAWSAurora:     FamilyTypeMariaDB,
	EngineTypeMySQLSHVM:            FamilyTypeMySQL,
	EngineTypeMySQLAzureManaged:    FamilyTypeMySQL,
	EngineTypeMySQLAzureVM:         FamilyTypeMySQL,
	EngineTypeMySQLAWSVM:           FamilyTypeMySQL,
	EngineTypeMySQLAWSRDS:          FamilyTypeMySQL,
	EngineTypeMySQLAWSAurora:       FamilyTypeMySQL,
	EngineTypePostgresSHVM:         FamilyTypePostgres,
	EngineTypePostgresAzureManaged: FamilyTypePostgres,
	EngineTypePostgresAzureVM:      FamilyTypePostgres,
	EngineTypePostgresAWSVM:        FamilyTypePostgres,
	EngineTypePostgresAWSRDS:       FamilyTypePostgres,
	EngineTypePostgresAWSAurora:    FamilyTypePostgres,
	EngineTypeMongoSHVM:            FamilyTypeMongo,
	EngineTypeMongoAWSDocDB:        FamilyTypeMongo,
	EngineTypeMongoAtlasManaged:    FamilyTypeMongo,
}

DatabasesEnginesToFamily is a map of database engine types to their family types.

View Source
var DatabasesFamiliesToDefaultAuthMethod = map[string]string{
	FamilyTypePostgres: LocalEphemeralUser,
	FamilyTypeOracle:   LocalEphemeralUser,
	FamilyTypeMSSQL:    ADEphemeralUser,
	FamilyTypeMySQL:    LocalEphemeralUser,
	FamilyTypeMariaDB:  LocalEphemeralUser,
	FamilyTypeDB2:      ADEphemeralUser,
	FamilyTypeMongo:    LocalEphemeralUser,
}

DatabasesFamiliesToDefaultAuthMethod is a map of database family types to their default authentication methods.

Functions

This section is empty.

Types

type ArkSIADBAddDatabase

type ArkSIADBAddDatabase struct {
	Name                                 string            `` /* 136-byte string literal not displayed */
	NetworkName                          string            `` /* 165-byte string literal not displayed */
	Platform                             string            `` /* 200-byte string literal not displayed */
	AuthDatabase                         string            `` /* 155-byte string literal not displayed */
	Services                             []string          `` /* 138-byte string literal not displayed */
	Domain                               string            `json:"domain,omitempty" mapstructure:"domain,omitempty" flag:"domain" desc:"The domain the DB resides in"`
	DomainControllerName                 string            `` /* 175-byte string literal not displayed */
	DomainControllerNetbios              string            `` /* 187-byte string literal not displayed */
	DomainControllerUseLDAPS             bool              `` /* 175-byte string literal not displayed */
	DomainControllerEnableCertValidation bool              `` /* 258-byte string literal not displayed */
	DomainControllerLDAPSCertificate     string            `` /* 220-byte string literal not displayed */
	Account                              string            `` /* 154-byte string literal not displayed */
	ProviderEngine                       string            `` /* 156-byte string literal not displayed */
	EnableCertificateValidation          bool              `` /* 193-byte string literal not displayed */
	Certificate                          string            `` /* 170-byte string literal not displayed */
	ReadWriteEndpoint                    string            `` /* 151-byte string literal not displayed */
	ReadOnlyEndpoint                     string            `` /* 161-byte string literal not displayed */
	Port                                 int               `` /* 172-byte string literal not displayed */
	SecretID                             string            `` /* 157-byte string literal not displayed */
	Tags                                 map[string]string `json:"tags,omitempty" mapstructure:"tags,omitempty" flag:"tags" desc:"Tags for the database"`
	ConfiguredAuthMethodType             string            `` /* 271-byte string literal not displayed */
	Region                               string            `` /* 143-byte string literal not displayed */
}

ArkSIADBAddDatabase represents the request to add a database.

type ArkSIADBAuthMethod

type ArkSIADBAuthMethod struct {
	ID             int      `json:"id" mapstructure:"id" flag:"id" desc:"ID of the authentication method on the database"`
	AuthMethodType string   `` /* 220-byte string literal not displayed */
	Description    string   `json:"description" mapstructure:"description" flag:"description" desc:"Description about the authentication method"`
	Workspaces     []string `json:"workspaces" mapstructure:"workspaces" flag:"workspaces" desc:"Workspaces this authentication method is used in"`
}

ArkSIADBAuthMethod represents the authentication method used for a database target.

type ArkSIADBDatabase

type ArkSIADBDatabase struct {
	ID                                          int                                        `` /* 127-byte string literal not displayed */
	Name                                        string                                     `json:"name" mapstructure:"name" flag:"name" desc:"Name of the database, often referenced in policies and other APIs"`
	NetworkName                                 string                                     `json:"network_name" mapstructure:"network_name" flag:"network-name" desc:"Name of the network the database resides in"`
	Platform                                    string                                     `` /* 173-byte string literal not displayed */
	AuthDatabase                                string                                     `` /* 139-byte string literal not displayed */
	Services                                    []string                                   `` /* 138-byte string literal not displayed */
	Domain                                      string                                     `json:"domain,omitempty" mapstructure:"domain,omitempty" flag:"domain" desc:"The domain the DB resides in"`
	DomainControllerName                        string                                     `` /* 175-byte string literal not displayed */
	DomainControllerNetbios                     string                                     `` /* 187-byte string literal not displayed */
	DomainControllerUseLdaps                    bool                                       `` /* 159-byte string literal not displayed */
	DomainControllerEnableCertificateValidation bool                                       `` /* 243-byte string literal not displayed */
	DomainControllerLdapsCertificate            string                                     `` /* 220-byte string literal not displayed */
	Account                                     string                                     `` /* 141-byte string literal not displayed */
	EnableCertificateValidation                 bool                                       `` /* 178-byte string literal not displayed */
	ProviderDetails                             ArkSIADBDatabaseProvider                   `` /* 147-byte string literal not displayed */
	Certificate                                 string                                     `` /* 170-byte string literal not displayed */
	ReadWriteEndpoint                           string                                     `` /* 151-byte string literal not displayed */
	ReadOnlyEndpoint                            string                                     `` /* 161-byte string literal not displayed */
	Port                                        int                                        `` /* 135-byte string literal not displayed */
	SecretID                                    string                                     `` /* 157-byte string literal not displayed */
	Tags                                        map[string]string                          `json:"tags,omitempty" mapstructure:"tags,omitempty" flag:"tags" desc:"Tags for the database"`
	ConfiguredAuthMethod                        ArkSIADBDatabaseTargetConfiguredAuthMethod `` /* 158-byte string literal not displayed */
	Region                                      string                                     `` /* 143-byte string literal not displayed */
}

ArkSIADBDatabase represents a response when adding / getting a database target.

type ArkSIADBDatabaseAuthMethod

type ArkSIADBDatabaseAuthMethod struct {
	ID             int                `json:"id" mapstructure:"id" flag:"id" desc:"ID of the relation between the authentication method and the database type"`
	ProviderFamily string             `` /* 214-byte string literal not displayed */
	AuthMethod     ArkSIADBAuthMethod `json:"auth_method" mapstructure:"auth_method" flag:"auth-method" desc:"The actual authentication method"`
	MethodEnabled  bool               `` /* 133-byte string literal not displayed */
}

ArkSIADBDatabaseAuthMethod represents the relation between a database type and an authentication method.

type ArkSIADBDatabaseInfo

type ArkSIADBDatabaseInfo struct {
	ID                          int                      `json:"id" mapstructure:"id" flag:"id" desc:"ID of the database target that can be referenced in operations"`
	Name                        string                   `json:"name" mapstructure:"name" flag:"name" desc:"Name of the database, often referenced in policies and other APIs"`
	EnableCertificateValidation bool                     `` /* 180-byte string literal not displayed */
	Certificate                 string                   `` /* 131-byte string literal not displayed */
	Services                    []string                 `` /* 138-byte string literal not displayed */
	SecretID                    string                   `` /* 157-byte string literal not displayed */
	Platform                    string                   `` /* 173-byte string literal not displayed */
	ProviderInfo                ArkSIADBDatabaseProvider `json:"provider_info" mapstructure:"provider_info" flag:"provider-info" desc:"Provider details"`
	ConfiguredAuthMethodType    string                   `` /* 271-byte string literal not displayed */
}

ArkSIADBDatabaseInfo represents the structure for a database in the SIA workspace.

type ArkSIADBDatabaseInfoList

type ArkSIADBDatabaseInfoList struct {
	Items      []ArkSIADBDatabaseInfo `json:"items" mapstructure:"items" flag:"items" desc:"The actual databases"`
	TotalCount int                    `json:"total_count" mapstructure:"total_count" flag:"total-count" desc:"Total count of databases"`
}

ArkSIADBDatabaseInfoList represents the response for listing databases, with a filter or without.

type ArkSIADBDatabaseProvider

type ArkSIADBDatabaseProvider struct {
	ID        int    `json:"id" mapstructure:"id" flag:"id" desc:"ID of the provider"`
	Engine    string `json:"engine" mapstructure:"engine" flag:"engine" desc:"Engine type of the database provider"`
	Workspace string `` /* 128-byte string literal not displayed */
	Family    string `` /* 152-byte string literal not displayed */
}

ArkSIADBDatabaseProvider represents the structure for a database provider in the SIA workspace.

type ArkSIADBDatabaseTargetConfiguredAuthMethod

type ArkSIADBDatabaseTargetConfiguredAuthMethod struct {
	DatabaseAuthMethod     ArkSIADBDatabaseAuthMethod `` /* 140-byte string literal not displayed */
	DatabaseTargetID       int                        `json:"database_target_id" mapstructure:"database_target_id" flag:"database-target-id" desc:"Database target identifier"`
	ConfiguredAuthMethodID int                        `` /* 178-byte string literal not displayed */
}

ArkSIADBDatabaseTargetConfiguredAuthMethod represents the relation between a database target and a configured authentication method.

type ArkSIADBDatabasesFilter

type ArkSIADBDatabasesFilter struct {
	Name              string        `json:"name,omitempty" mapstructure:"name,omitempty" flag:"name" desc:"Name of the database to filter on"`
	ProviderFamily    string        `` /* 189-byte string literal not displayed */
	ProviderEngine    string        `json:"provider_engine,omitempty" mapstructure:"provider_engine,omitempty" flag:"provider-engine" desc:"List filter by engine"`
	ProviderWorkspace string        `` /* 178-byte string literal not displayed */
	AuthMethods       []string      `` /* 218-byte string literal not displayed */
	Tags              []ArkSIADBTag `json:"tags,omitempty" mapstructure:"tags,omitempty" flag:"tags" desc:"List filter by tags"`
	DBWarningsFilter  string        `` /* 214-byte string literal not displayed */
}

ArkSIADBDatabasesFilter represents the filter criteria for retrieving databases in a workspace.

type ArkSIADBDatabasesStats

type ArkSIADBDatabasesStats struct {
	DatabasesCount                    int            `json:"databases_count" mapstructure:"databases_count" desc:"Databases overall count"`
	DatabasesWithoutSecretCount       int            `` /* 146-byte string literal not displayed */
	DatabasesWithoutCertificatesCount int            `` /* 164-byte string literal not displayed */
	DatabasesCountByEngine            map[string]int `json:"databases_count_by_engine" mapstructure:"databases_count_by_engine" desc:"Databases count per engine type"`
	DatabasesCountByFamily            map[string]int `json:"databases_count_by_family" mapstructure:"databases_count_by_family" desc:"Databases count per family type"`
	DatabasesCountByWorkspace         map[string]int `json:"databases_count_by_workspace" mapstructure:"databases_count_by_workspace" desc:"Databases count per workspace type"`
	DatabasesCountByAuthMethod        map[string]int `json:"databases_count_by_auth_method" mapstructure:"databases_count_by_auth_method" desc:"Databases count per auth type"`
	DatabasesCountByWarning           map[string]int `json:"databases_count_by_warning" mapstructure:"databases_count_by_warning" desc:"Databases count per warning type"`
}

ArkSIADBDatabasesStats represents the statistics of database in a workspace.

type ArkSIADBDeleteDatabase

type ArkSIADBDeleteDatabase struct {
	ID   int    `json:"id,omitempty" mapstructure:"id,omitempty" flag:"id" desc:"Database id to delete"`
	Name string `json:"name,omitempty" mapstructure:"name,omitempty" flag:"name" desc:"Database name to delete"`
}

ArkSIADBDeleteDatabase represents the request to delete a database.

type ArkSIADBGetDatabase

type ArkSIADBGetDatabase struct {
	ID   int    `json:"id,omitempty" mapstructure:"id,omitempty" flag:"id" desc:"Database id to get"`
	Name string `json:"name,omitempty" mapstructure:"name,omitempty" flag:"name" desc:"Database name to get"`
}

ArkSIADBGetDatabase represents the request to retrieve a database in a workspace.

type ArkSIADBTag

type ArkSIADBTag struct {
	Key   string `json:"key" mapstructure:"key" flag:"key" desc:"Key of the tag, for example environment" validate:"required"`
	Value string `json:"value" mapstructure:"value" flag:"value" desc:"Value of the tag, for example production" validate:"required"`
}

ArkSIADBTag represents a tag associated with a database in a workspace.

type ArkSIADBTagList

type ArkSIADBTagList struct {
	Tags  []ArkSIADBTag `json:"tags" mapstructure:"tags" flag:"tags" desc:"List of tags"`
	Count int           `json:"count" mapstructure:"count" flag:"count" desc:"The amount of tags listed"`
}

ArkSIADBTagList represents a list of tags associated with a database in a workspace.

type ArkSIADBUpdateDatabase

type ArkSIADBUpdateDatabase struct {
	ID                                   int               `json:"id,omitempty" mapstructure:"id,omitempty" flag:"id" desc:"Database id to update"`
	Name                                 string            `json:"name,omitempty" mapstructure:"name,omitempty" flag:"name" desc:"Database name to update"`
	NewName                              string            `json:"new_name,omitempty" mapstructure:"new_name,omitempty" flag:"new-name" desc:"New name for the database"`
	NetworkName                          string            `` /* 159-byte string literal not displayed */
	Platform                             string            `` /* 173-byte string literal not displayed */
	AuthDatabase                         string            `` /* 155-byte string literal not displayed */
	Services                             []string          `` /* 158-byte string literal not displayed */
	Domain                               string            `json:"domain,omitempty" mapstructure:"domain,omitempty" flag:"domain" desc:"The domain the DB resides in"`
	DomainControllerName                 string            `` /* 175-byte string literal not displayed */
	DomainControllerNetbios              string            `` /* 187-byte string literal not displayed */
	DomainControllerUseLDAPS             bool              `` /* 175-byte string literal not displayed */
	DomainControllerEnableCertValidation bool              `` /* 258-byte string literal not displayed */
	DomainControllerLDAPSCertificate     string            `` /* 220-byte string literal not displayed */
	Account                              string            `` /* 141-byte string literal not displayed */
	ProviderEngine                       string            `` /* 176-byte string literal not displayed */
	EnableCertificateValidation          bool              `` /* 193-byte string literal not displayed */
	Certificate                          string            `` /* 170-byte string literal not displayed */
	ReadWriteEndpoint                    string            `` /* 151-byte string literal not displayed */
	ReadOnlyEndpoint                     string            `` /* 161-byte string literal not displayed */
	Port                                 int               `` /* 135-byte string literal not displayed */
	SecretID                             string            `` /* 157-byte string literal not displayed */
	Tags                                 map[string]string `json:"tags,omitempty" mapstructure:"tags,omitempty" flag:"tags" desc:"Tags for the database"`
	ConfiguredAuthMethodType             string            `` /* 271-byte string literal not displayed */
	Region                               string            `` /* 143-byte string literal not displayed */
}

ArkSIADBUpdateDatabase represents the request to update a database.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL