Documentation
¶
Index ¶
- func GetRouter(ctx context.Context, config *RouterConfig) http.Handler
- func Health(w http.ResponseWriter, r *http.Request, _ httprouter.Params)
- func Index(awsGenerationParams *AWSConfigGenerationParams, ...) httprouter.Handle
- type AWSAccount
- type AWSConfig
- type AWSConfigGenerationParams
- type AWSProfile
- type Action
- type CachedGetClientIDToProfiles
- type ClientIDToAWSRoles
- type Condition
- type PolicyDocument
- type Principal
- type RouterConfig
- type StatementEntry
- type StringEqualsCondition
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Health ¶
func Health(w http.ResponseWriter, r *http.Request, _ httprouter.Params)
func Index ¶
func Index( awsGenerationParams *AWSConfigGenerationParams, cachedClientIDtoProfiles *CachedGetClientIDToProfiles, oktaClient okta.AppResource, ) httprouter.Handle
Types ¶
type AWSAccount ¶ added in v0.7.0
type AWSAccount struct { ID string `json:"id,omitempty"` Name string `json:"name,omitempty"` Alias string `json:"alias,omitempty"` }
func (*AWSAccount) GetAliasOrName ¶ added in v0.16.0
func (a *AWSAccount) GetAliasOrName() string
type AWSConfig ¶ added in v0.7.0
type AWSConfig struct {
Profiles []AWSProfile `json:"profiles,omitempty"`
}
func (*AWSConfig) GetAccounts ¶ added in v0.7.0
func (a *AWSConfig) GetAccounts() []AWSAccount
func (*AWSConfig) GetProfilesForAccount ¶ added in v0.7.0
func (a *AWSConfig) GetProfilesForAccount(account AWSAccount) []AWSProfile
func (*AWSConfig) GetRoleNames ¶ added in v0.10.0
func (*AWSConfig) HasAccount ¶ added in v0.7.0
type AWSProfile ¶ added in v0.7.0
type CachedGetClientIDToProfiles ¶
type CachedGetClientIDToProfiles struct {
// contains filtered or unexported fields
}
func NewCachedGetClientIDToProfiles ¶
func NewCachedGetClientIDToProfiles( ctx context.Context, configParams *AWSConfigGenerationParams, awsSession *session.Session, ) (*CachedGetClientIDToProfiles, error)
type ClientIDToAWSRoles ¶
type ClientIDToAWSRoles struct {
// contains filtered or unexported fields
}
type Condition ¶
type Condition struct {
StringEquals StringEqualsCondition `json:"StringEquals"`
}
We only care about the "StringEquals" field in Condition
type PolicyDocument ¶
type PolicyDocument struct { Version string `json:"Version"` Statements []StatementEntry `json:"Statement"` }
func NewPolicyDocument ¶ added in v0.19.0
func NewPolicyDocument(assumeRolePolicyDocument string) (*PolicyDocument, error)
type Principal ¶
type Principal struct {
Federated string `json:"Federated"`
}
We only care about the "Federated" field in Principal
type RouterConfig ¶
type RouterConfig struct { Verifier oidcVerifier AwsGenerationParams *AWSConfigGenerationParams OktaAppClient okta.AppResource GetClientIDToProfiles *CachedGetClientIDToProfiles }
type StatementEntry ¶
type StatementEntry struct { Effect string `json:"Effect"` Action Action `json:"Action"` Sid string `json:"Sid"` Principal Principal `json:"Principal"` Condition Condition `json:"Condition"` }
func (*StatementEntry) GetFederatedClientIDs ¶ added in v0.19.0
func (se *StatementEntry) GetFederatedClientIDs(oidcProviderHostname string) []okta.ClientID
type StringEqualsCondition ¶ added in v0.19.0
func (*StringEqualsCondition) UnmarshalJSON ¶ added in v0.19.0
func (sec *StringEqualsCondition) UnmarshalJSON(data []byte) error
Click to show internal directories.
Click to hide internal directories.