organization

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Feb 20, 2024 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func TierTypeChoices

func TierTypeChoices() []string

Types

type BillingEmailOut

type BillingEmailOut struct {
	Email string `json:"email"`
}

type CardInfoOut

type CardInfoOut struct {
	Brand       string `json:"brand"`
	CardId      string `json:"card_id"`
	Country     string `json:"country"`
	CountryCode string `json:"country_code"`
	ExpMonth    int    `json:"exp_month"`
	ExpYear     int    `json:"exp_year"`
	Last4       string `json:"last4"`
	Name        string `json:"name"`
	UserEmail   string `json:"user_email"`
}

type ElasticsearchOut

type ElasticsearchOut struct {
	EolDate string `json:"eol_date"`
	Version string `json:"version"`
}

type EndOfLifeExtensionOut

type EndOfLifeExtensionOut struct {
	Elasticsearch *ElasticsearchOut `json:"elasticsearch,omitempty"`
}

type Handler

type Handler interface {
	// OrganizationAuthenticationConfigGet retrieve authentication configuration
	// GET /organization/{organization_id}/config/authentication
	// https://api.aiven.io/doc/#tag/Organizations/operation/OrganizationAuthenticationConfigGet
	OrganizationAuthenticationConfigGet(ctx context.Context, organizationId string) (*OrganizationAuthenticationConfigGetOut, error)

	// OrganizationAuthenticationConfigUpdate update authentication configuration
	// PATCH /organization/{organization_id}/config/authentication
	// https://api.aiven.io/doc/#tag/Organizations/operation/OrganizationAuthenticationConfigUpdate
	OrganizationAuthenticationConfigUpdate(ctx context.Context, organizationId string, in *OrganizationAuthenticationConfigUpdateIn) (*OrganizationAuthenticationConfigUpdateOut, error)

	// OrganizationGet get information about an organization
	// GET /organization/{organization_id}
	// https://api.aiven.io/doc/#tag/Organizations/operation/OrganizationGet
	OrganizationGet(ctx context.Context, organizationId string) (*OrganizationGetOut, error)

	// OrganizationProjectsList list projects under the organization
	// GET /organization/{organization_id}/projects
	// https://api.aiven.io/doc/#tag/Organizations/operation/OrganizationProjectsList
	OrganizationProjectsList(ctx context.Context, organizationId string) (*OrganizationProjectsListOut, error)

	// OrganizationUpdate update organization's details
	// PATCH /organization/{organization_id}
	// https://api.aiven.io/doc/#tag/Organizations/operation/OrganizationUpdate
	OrganizationUpdate(ctx context.Context, organizationId string, in *OrganizationUpdateIn) (*OrganizationUpdateOut, error)

	// UserOrganizationCreate create an organization
	// POST /organizations
	// https://api.aiven.io/doc/#tag/Organizations/operation/UserOrganizationCreate
	UserOrganizationCreate(ctx context.Context, in *UserOrganizationCreateIn) (*UserOrganizationCreateOut, error)

	// UserOrganizationsList list organizations the user belongs to
	// GET /organizations
	// https://api.aiven.io/doc/#tag/Organizations/operation/UserOrganizationsList
	UserOrganizationsList(ctx context.Context) ([]OrganizationOut, error)
}

type OrganizationAuthenticationConfigGetOut

type OrganizationAuthenticationConfigGetOut struct {
	OauthEnabled        *bool `json:"oauth_enabled,omitempty"`
	PasswordAuthEnabled *bool `json:"password_auth_enabled,omitempty"`
	SamlEnabled         *bool `json:"saml_enabled,omitempty"`
	TwoFactorRequired   *bool `json:"two_factor_required,omitempty"`
}

type OrganizationAuthenticationConfigUpdateIn

type OrganizationAuthenticationConfigUpdateIn struct {
	OauthEnabled        *bool `json:"oauth_enabled,omitempty"`
	PasswordAuthEnabled *bool `json:"password_auth_enabled,omitempty"`
	SamlEnabled         *bool `json:"saml_enabled,omitempty"`
	TwoFactorRequired   *bool `json:"two_factor_required,omitempty"`
}

type OrganizationAuthenticationConfigUpdateOut

type OrganizationAuthenticationConfigUpdateOut struct {
	OauthEnabled        *bool `json:"oauth_enabled,omitempty"`
	PasswordAuthEnabled *bool `json:"password_auth_enabled,omitempty"`
	SamlEnabled         *bool `json:"saml_enabled,omitempty"`
	TwoFactorRequired   *bool `json:"two_factor_required,omitempty"`
}

type OrganizationGetOut

type OrganizationGetOut struct {
	AccountId        string    `json:"account_id"`
	CreateTime       time.Time `json:"create_time"`
	OrganizationId   string    `json:"organization_id"`
	OrganizationName string    `json:"organization_name"`
	Tier             string    `json:"tier"`
	UpdateTime       time.Time `json:"update_time"`
}

type OrganizationHandler

type OrganizationHandler struct {
	// contains filtered or unexported fields
}

func NewHandler

func NewHandler(doer doer) OrganizationHandler

func (*OrganizationHandler) OrganizationAuthenticationConfigGet

func (h *OrganizationHandler) OrganizationAuthenticationConfigGet(ctx context.Context, organizationId string) (*OrganizationAuthenticationConfigGetOut, error)

func (*OrganizationHandler) OrganizationAuthenticationConfigUpdate

func (h *OrganizationHandler) OrganizationAuthenticationConfigUpdate(ctx context.Context, organizationId string, in *OrganizationAuthenticationConfigUpdateIn) (*OrganizationAuthenticationConfigUpdateOut, error)

func (*OrganizationHandler) OrganizationGet

func (h *OrganizationHandler) OrganizationGet(ctx context.Context, organizationId string) (*OrganizationGetOut, error)

func (*OrganizationHandler) OrganizationProjectsList

func (h *OrganizationHandler) OrganizationProjectsList(ctx context.Context, organizationId string) (*OrganizationProjectsListOut, error)

func (*OrganizationHandler) OrganizationUpdate

func (h *OrganizationHandler) OrganizationUpdate(ctx context.Context, organizationId string, in *OrganizationUpdateIn) (*OrganizationUpdateOut, error)

func (*OrganizationHandler) UserOrganizationCreate

func (*OrganizationHandler) UserOrganizationsList

func (h *OrganizationHandler) UserOrganizationsList(ctx context.Context) ([]OrganizationOut, error)

type OrganizationOut

type OrganizationOut struct {
	AccountId        string    `json:"account_id"`
	CreateTime       time.Time `json:"create_time"`
	OrganizationId   string    `json:"organization_id"`
	OrganizationName string    `json:"organization_name"`
	Tier             string    `json:"tier"`
	UpdateTime       time.Time `json:"update_time"`
}

type OrganizationProjectsListOut

type OrganizationProjectsListOut struct {
	Projects          []ProjectOut `json:"projects"`
	TotalProjectCount *int         `json:"total_project_count,omitempty"`
}

type OrganizationUpdateIn

type OrganizationUpdateIn struct {
	Name string   `json:"name,omitempty"`
	Tier TierType `json:"tier,omitempty"`
}

type OrganizationUpdateOut

type OrganizationUpdateOut struct {
	AccountId        string    `json:"account_id"`
	CreateTime       time.Time `json:"create_time"`
	OrganizationId   string    `json:"organization_id"`
	OrganizationName string    `json:"organization_name"`
	Tier             string    `json:"tier"`
	UpdateTime       time.Time `json:"update_time"`
}

type ProjectOut

type ProjectOut struct {
	AccountId             string                 `json:"account_id"`
	AccountName           string                 `json:"account_name,omitempty"`
	AddressLines          []string               `json:"address_lines,omitempty"`
	AvailableCredits      string                 `json:"available_credits,omitempty"`
	BillingAddress        string                 `json:"billing_address"`
	BillingCurrency       string                 `json:"billing_currency,omitempty"`
	BillingEmails         []BillingEmailOut      `json:"billing_emails"`
	BillingExtraText      string                 `json:"billing_extra_text,omitempty"`
	BillingGroupId        string                 `json:"billing_group_id"`
	BillingGroupName      string                 `json:"billing_group_name"`
	CardInfo              *CardInfoOut           `json:"card_info,omitempty"`
	City                  string                 `json:"city,omitempty"`
	Company               string                 `json:"company,omitempty"`
	Country               string                 `json:"country"`
	CountryCode           string                 `json:"country_code"`
	DefaultCloud          string                 `json:"default_cloud"`
	EndOfLifeExtension    *EndOfLifeExtensionOut `json:"end_of_life_extension,omitempty"`
	EstimatedBalance      string                 `json:"estimated_balance"`
	EstimatedBalanceLocal string                 `json:"estimated_balance_local,omitempty"`
	Features              map[string]any         `json:"features,omitempty"`
	OrganizationId        string                 `json:"organization_id"`
	PaymentMethod         string                 `json:"payment_method"`
	ProjectName           string                 `json:"project_name"`
	State                 string                 `json:"state,omitempty"`
	Tags                  map[string]string      `json:"tags,omitempty"`
	TechEmails            []TechEmailOut         `json:"tech_emails,omitempty"`
	TenantId              string                 `json:"tenant_id,omitempty"`
	TrialExpirationTime   *time.Time             `json:"trial_expiration_time,omitempty"`
	VatId                 string                 `json:"vat_id"`
	ZipCode               string                 `json:"zip_code,omitempty"`
}

type TechEmailOut

type TechEmailOut struct {
	Email string `json:"email"`
}

type TierType

type TierType string
const (
	TierTypeBusiness TierType = "business"
	TierTypePersonal TierType = "personal"
)

type UserOrganizationCreateIn

type UserOrganizationCreateIn struct {
	OrganizationName      string   `json:"organization_name"`
	PrimaryBillingGroupId string   `json:"primary_billing_group_id,omitempty"`
	Tier                  TierType `json:"tier"`
}

type UserOrganizationCreateOut

type UserOrganizationCreateOut struct {
	AccountId        string    `json:"account_id"`
	CreateTime       time.Time `json:"create_time"`
	OrganizationId   string    `json:"organization_id"`
	OrganizationName string    `json:"organization_name"`
	Tier             string    `json:"tier"`
	UpdateTime       time.Time `json:"update_time"`
}

Jump to

Keyboard shortcuts

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