ssmdoc

package
v0.1.2 Latest Latest
Warning

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

Go to latest
Published: Dec 16, 2017 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

View Source
const (
	AWSApplicationsPluginAction = "aws:applications"
)
View Source
const (
	AWSConfigurePackagePluginAction = "aws:configurePackage"
)
View Source
const (
	AWSUpdateSSMAgentPluginAction = "aws:updateSsmAgent"
)
View Source
const (
	ChangeInstanceStatePluginAction = "aws:changeInstanceState"
)
View Source
const (
	CopyImagePluginAction = "aws:copyImage"
)
View Source
const (
	CreateImagePluginAction = "aws:createImage"
)
View Source
const (
	CreateTagsPluginAction = "aws:createTags"
)
View Source
const (
	DeleteImagePluginAction = "aws:createImage"
)
View Source
const (
	RunCommandPluginAction = "aws:runCommand"
)
View Source
const (
	RunInstancesPluginAction = "aws:runInstances"
)
View Source
const (
	RunPowerShellScriptPluginAction = "aws:runPowerShellScript"
)
View Source
const (
	RunShellScriptPluginAction = "aws:runShellScript"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type AWSApplicationsPluginInput

type AWSApplicationsPluginInput struct {
	Action     string `json:"action" required:"true"`
	ID         string `json:"id,omitempty"`
	Parameters string `json:"parameters,omitempty"`
	Source     string `json:"source" required:"true"`
	SourceHash string `json:"sourceHash,omitempty"`
}

type AWSConfigurePackagePluginInput

type AWSConfigurePackagePluginInput struct {
	Name    string `json:"name" required:"true"`
	Action  string `json:"action" required:"true"`
	Version string `json:"version,omitempty"`
}

type AWSUpdateSSMAgentPluginInput

type AWSUpdateSSMAgentPluginInput struct {
	AgentName      string `json:"agentName" required:"true"`
	Source         string `json:"source" required:"true"`
	AllowDowngrade string `json:"allowDowngrade,omitempty"`
	TargetVersion  string `json:"targetVersion,omitempty"`
}

type ChangeInstanceStatePluginInput

type ChangeInstanceStatePluginInput struct {
	AdditionalInfo string   `json:"AdditionalInfo,omitempty"`
	InstanceIDs    []string `json:"InstanceIds" required:"true"`
	CheckStateOnly bool     `json:"CheckStateOnly,omitempty"`
	DesiredState   string   `json:"DesiredState" required:"true"`
	Force          bool     `json:"Force,omitempty"`
}

type CopyImagePluginInput

type CopyImagePluginInput struct {
	ClientToken      string `json:"ClientToken,omitempty"`
	Encrypted        bool   `json:"Encrypted,omitempty"`
	KMSKeyID         string `json:"KmsKeyId,omitempty"`
	ImageDescription string `json:"ImageDescription,omitempty"`
	ImageName        string `json:"ImageName" required:"true"`
	SourceImageID    string `json:"SourceImageId" required:"true"`
	SourceRegion     string `json:"SourceRegion" required:"true"`
}

type CreateImagePluginInput

type CreateImagePluginInput struct {
	BlockDeviceMappings string `json:"BlockDeviceMappings,omitempty"`
	ImageDescription    string `json:"ImageDescription,omitempty"`
	InstanceID          string `json:"InstanceId" required:"true"`
	ImageName           string `json:"ImageName" required:"true"`
	NoReboot            bool   `json:"NoReboot,omitempty"`
}

type CreateTagsPluginInput

type CreateTagsPluginInput struct {
	ResourceType string   `json:"ResourceType,omitempty"`
	ResourceIDs  []string `json:"ResourceIds" required:"true"`
	Tags         []Tag    `required:"true"`
}

type DeleteImagePluginInput

type DeleteImagePluginInput struct {
	ImageID string `json:"ImageId" required:"true"`
}

type List

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

func ListReference

func ListReference(reference string) List

func ListValue

func ListValue(value []string) List

func (List) MarshalJSON

func (s List) MarshalJSON() ([]byte, error)

type Parameter

type Parameter struct {
	Type           string   `json:"type"`
	Description    string   `json:"description,omitempty"`
	Default        string   `json:"default,omitempty"`
	AllowedValues  []string `json:"allowedValues,omitempty"`
	AllowedPattern string   `json:"allowedPattern,omitempty"`
	DisplayType    string   `json:"displayType,omitempty"`
	MinItems       int      `json:"minItems,omitempty"`
	MaxItems       int      `json:"maxItems,omitempty"`
	MinChars       int      `json:"minChars,omitempty"`
	MaxChars       int      `json:"maxChars,omitempty"`
}

type Plugin

type Plugin struct {
	Action         string      `json:"action" required:"true"`
	MaxAttempts    int         `json:"maxAttempts,omitempty"`
	Name           string      `json:"name" required:"true"`
	OnFailure      string      `json:"onFailure,omitempty"`
	Inputs         interface{} `json:"inputs" required:"true"`
	TimeoutSeconds int         `json:"timeoutSeconds,omitempty"`
}

type RunCommandPluginInput

type RunCommandPluginInput struct {
	Comment            string                 `json:"Comment,omitempty"`
	DocumentName       string                 `json:"DocumentName" required:"true"`
	DocumentHash       string                 `json:"DocumentHash,omitempty"`
	DocumentHashType   string                 `json:"DocumentHashType,omitempty"`
	InstanceIDs        []string               `json:"InstanceIds,omitempty"`
	OutputS3BucketName string                 `json:"OutputS3BucketName,omitempty"`
	OutputS3KeyPrefix  string                 `json:"OutputS3KeyPrefix,omitempty"`
	Parameters         map[string]interface{} `json:"Parameters,omitempty"`
	ServiceRoleArn     string                 `json:"ServiceRoleArn,omitempty"`
	TimeoutSeconds     int                    `json:"TimeoutSeconds,omitempty"`
}

type RunInstancesPluginInput

type RunInstancesPluginInput struct {
	AdditionalInfo                    string   `json:"AdditionalInfo,omitempty"`
	ClientToken                       string   `json:"ClientToken,omitempty"`
	DisableApiTermination             bool     `json:"DisableApiTermination,omitempty"`
	EbsOptimized                      bool     `json:"EbsOptimized,omitempty"`
	ImageID                           string   `json:"ImageId" required:"true"`
	IamInstanceProfileArn             string   `json:"IamInstanceProfileArn,omitempty"`
	IamInstanceProfileName            string   `json:"IamInstanceProfileName,omitempty"`
	InstanceInitiatedShutdownBehavior string   `json:"InstanceInitiatedShutdownBehavior,omitempty"`
	InstanceType                      string   `json:"InstanceType,omitempty"`
	KernelID                          string   `json:"KernelId,omitempty"`
	KeyName                           string   `json:"KeyName,omitempty"`
	MaxInstanceCount                  int      `json:"MaxInstanceCount,omitempty"`
	MinInstanceCount                  int      `json:"MinInstanceCount,omitempty"`
	Monitoring                        bool     `json:"Monitoring,omitempty"`
	SecurityGroupIDs                  []string `json:"SecurityGroupIds,omitempty"`
	SubnetID                          string   `json:"SubnetId,omitempty"`
	UserData                          string   `json:"UserData,omitempty"`
}

type RunPowerShellScriptPluginInput

type RunPowerShellScriptPluginInput struct {
	ID               string `json:"id,omitempty" required:"true"`
	RunCommand       List   `json:"runCommand"`
	WorkingDirectory string `json:"workingDirectory,omitempty" required:"true"`
	TimeoutSeconds   string `json:"timeoutSeconds,omitempty" required:"true"`
}

type RunShellScriptPluginInput

type RunShellScriptPluginInput struct {
	ID               string `json:"id,omitempty" required:"true"`
	RunCommand       List   `json:"runCommand"`
	WorkingDirectory string `json:"workingDirectory,omitempty" required:"true"`
	TimeoutSeconds   string `json:"timeoutSeconds,omitempty" required:"true"`
}

type SSMDocument

type SSMDocument struct {
	AssumeRole    string      `json:"assumeRole,omitempty"` // Only used in schema 0.3
	SchemaVersion string      `json:"schemaVersion"`
	Description   string      `json:"description"`
	Parameters    []Parameter `json:"parameters,omitempty"`
	MainSteps     []Plugin    `json:"mainSteps,omitempty"`
}

func NewAutomationDocument

func NewAutomationDocument(description, assumeRole string) (*SSMDocument, error)

func NewDocument

func NewDocument(description string) (*SSMDocument, error)

Create a new SSM Document

func (*SSMDocument) AddParameter

func (d *SSMDocument) AddParameter(param Parameter)

func (*SSMDocument) AddStep

func (d *SSMDocument) AddStep(step Plugin) error

Add a step to a document

func (*SSMDocument) JSON

func (d *SSMDocument) JSON() ([]byte, error)

func (*SSMDocument) String

func (d *SSMDocument) String() (string, error)

type Tag

type Tag struct {
	Key   string `json:"Key" required:"true"`
	Value string `json:"Value" required:"true"`
}

Jump to

Keyboard shortcuts

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