Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func New ¶
func New() (smith_plugin.Plugin, error)
Types ¶
type CfnAttributes ¶
type ComputeType ¶
type ComputeType string
const ( EC2ComputeType ComputeType = "ec2Compute" KubeComputeType ComputeType = "kubeCompute" )
type IamAssumeRolePrincipal ¶
type IamAssumeRoleStatement ¶
type IamAssumeRoleStatement struct { Effect string `json:"Effect"` Principal IamAssumeRolePrincipal `json:"Principal"` Action string `json:"Action"` }
type IamPolicy ¶
type IamPolicy struct { PolicyName string `json:"PolicyName"` PolicyDocument IamPolicyDocument `json:"PolicyDocument"` }
type IamPolicyDocument ¶
type IamPolicyDocument struct { Version string `json:"Version"` ID string `json:"Id,omitempty"` Statement []IamPolicyStatement `json:"Statement"` }
func (*IamPolicyDocument) UnmarshalJSON ¶
func (p *IamPolicyDocument) UnmarshalJSON(b []byte) error
Convert annoying IAM 'array or string' format to array only on Unmarshal so we can have nice types.
type IamPolicyStatement ¶
type IamPolicyStatement struct { Sid *string `json:",omitempty"` Principal *json.RawMessage `json:",omitempty"` NotPrincipal *json.RawMessage `json:",omitempty"` NotAction []string `json:",omitempty"` Action []string `json:",omitempty"` Effect string Resource []string `json:",omitempty"` NotResource []string `json:",omitempty"` Condition *json.RawMessage `json:",omitempty"` }
This is an IamPolicyStatement which doesn't allow non-array elements. See UnmarshalJSON below.
func (*IamPolicyStatement) UnmarshalJSON ¶
func (s *IamPolicyStatement) UnmarshalJSON(b []byte) error
Convert annoying IAM 'array or string' format to array only on Unmarshal so we can have nice types.
type Plugin ¶
type Plugin struct{}
func (*Plugin) Describe ¶
func (p *Plugin) Describe() *smith_plugin.Description
func (*Plugin) Process ¶
func (p *Plugin) Process(rawSpec map[string]interface{}, context *smith_plugin.Context) smith_plugin.ProcessResult
Process processes a plugin specification and produces an object as the result.
type Spec ¶
type Spec struct { ServiceName voyager.ServiceName `json:"serviceId,omitempty"` OAPResourceName string `json:"oapResourceName"` CreateInstanceProfile bool `json:"createInstanceProfile,omitempty"` AssumeRoles []string `json:"assumeRoles,omitempty"` ManagedPolicies []string `json:"managedPolicies,omitempty"` ServiceEnvironment oap.ServiceEnvironment `json:"serviceEnvironment"` ComputeType ComputeType `json:"computeType"` PolicySnippets map[string]string `json:"policySnippets"` }
Click to show internal directories.
Click to hide internal directories.