experiments

package
v0.20240125.1150118 Latest Latest
Warning

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

Go to latest
Published: Jan 25, 2024 License: MPL-2.0 Imports: 16 Imported by: 0

README

github.com/hashicorp/go-azure-sdk/resource-manager/chaosstudio/2024-01-01/experiments Documentation

The experiments SDK allows for interaction with the Azure Resource Manager Service chaosstudio (API Version 2024-01-01).

This readme covers example usages, but further information on using this SDK can be found in the project root.

Import Path

import "github.com/hashicorp/go-azure-sdk/resource-manager/chaosstudio/2024-01-01/experiments"

Client Initialization

client := experiments.NewExperimentsClientWithBaseURI("https://management.azure.com")
client.Client.Authorizer = authorizer

Example Usage: ExperimentsClient.Cancel

ctx := context.TODO()
id := experiments.NewExperimentID("12345678-1234-9876-4563-123456789012", "example-resource-group", "experimentValue")

if err := client.CancelThenPoll(ctx, id); err != nil {
	// handle the error
}

Example Usage: ExperimentsClient.CreateOrUpdate

ctx := context.TODO()
id := experiments.NewExperimentID("12345678-1234-9876-4563-123456789012", "example-resource-group", "experimentValue")

payload := experiments.Experiment{
	// ...
}


if err := client.CreateOrUpdateThenPoll(ctx, id, payload); err != nil {
	// handle the error
}

Example Usage: ExperimentsClient.Delete

ctx := context.TODO()
id := experiments.NewExperimentID("12345678-1234-9876-4563-123456789012", "example-resource-group", "experimentValue")

if err := client.DeleteThenPoll(ctx, id); err != nil {
	// handle the error
}

Example Usage: ExperimentsClient.ExecutionDetails

ctx := context.TODO()
id := experiments.NewExecutionID("12345678-1234-9876-4563-123456789012", "example-resource-group", "experimentValue", "executionIdValue")

read, err := client.ExecutionDetails(ctx, id)
if err != nil {
	// handle the error
}
if model := read.Model; model != nil {
	// do something with the model/response object
}

Example Usage: ExperimentsClient.Get

ctx := context.TODO()
id := experiments.NewExperimentID("12345678-1234-9876-4563-123456789012", "example-resource-group", "experimentValue")

read, err := client.Get(ctx, id)
if err != nil {
	// handle the error
}
if model := read.Model; model != nil {
	// do something with the model/response object
}

Example Usage: ExperimentsClient.GetExecution

ctx := context.TODO()
id := experiments.NewExecutionID("12345678-1234-9876-4563-123456789012", "example-resource-group", "experimentValue", "executionIdValue")

read, err := client.GetExecution(ctx, id)
if err != nil {
	// handle the error
}
if model := read.Model; model != nil {
	// do something with the model/response object
}

Example Usage: ExperimentsClient.List

ctx := context.TODO()
id := experiments.NewResourceGroupID("12345678-1234-9876-4563-123456789012", "example-resource-group")

// alternatively `client.List(ctx, id, experiments.DefaultListOperationOptions())` can be used to do batched pagination
items, err := client.ListComplete(ctx, id, experiments.DefaultListOperationOptions())
if err != nil {
	// handle the error
}
for _, item := range items {
	// do something
}

Example Usage: ExperimentsClient.ListAll

ctx := context.TODO()
id := experiments.NewSubscriptionID("12345678-1234-9876-4563-123456789012")

// alternatively `client.ListAll(ctx, id, experiments.DefaultListAllOperationOptions())` can be used to do batched pagination
items, err := client.ListAllComplete(ctx, id, experiments.DefaultListAllOperationOptions())
if err != nil {
	// handle the error
}
for _, item := range items {
	// do something
}

Example Usage: ExperimentsClient.ListAllExecutions

ctx := context.TODO()
id := experiments.NewExperimentID("12345678-1234-9876-4563-123456789012", "example-resource-group", "experimentValue")

// alternatively `client.ListAllExecutions(ctx, id)` can be used to do batched pagination
items, err := client.ListAllExecutionsComplete(ctx, id)
if err != nil {
	// handle the error
}
for _, item := range items {
	// do something
}

Example Usage: ExperimentsClient.Start

ctx := context.TODO()
id := experiments.NewExperimentID("12345678-1234-9876-4563-123456789012", "example-resource-group", "experimentValue")

if err := client.StartThenPoll(ctx, id); err != nil {
	// handle the error
}

Example Usage: ExperimentsClient.Update

ctx := context.TODO()
id := experiments.NewExperimentID("12345678-1234-9876-4563-123456789012", "example-resource-group", "experimentValue")

payload := experiments.ExperimentUpdate{
	// ...
}


if err := client.UpdateThenPoll(ctx, id, payload); err != nil {
	// handle the error
}

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func PossibleValuesForFilterType

func PossibleValuesForFilterType() []string

func PossibleValuesForProvisioningState

func PossibleValuesForProvisioningState() []string

func PossibleValuesForSelectorType

func PossibleValuesForSelectorType() []string

func ValidateExecutionID

func ValidateExecutionID(input interface{}, key string) (warnings []string, errors []error)

ValidateExecutionID checks that 'input' can be parsed as a Execution ID

func ValidateExperimentID

func ValidateExperimentID(input interface{}, key string) (warnings []string, errors []error)

ValidateExperimentID checks that 'input' can be parsed as a Experiment ID

Types

type Action

type Action struct {
	Name string `json:"name"`
	Type string `json:"type"`
}

type ActionStatus

type ActionStatus struct {
	ActionId   *string                                             `json:"actionId,omitempty"`
	ActionName *string                                             `json:"actionName,omitempty"`
	EndTime    *string                                             `json:"endTime,omitempty"`
	StartTime  *string                                             `json:"startTime,omitempty"`
	Status     *string                                             `json:"status,omitempty"`
	Targets    *[]ExperimentExecutionActionTargetDetailsProperties `json:"targets,omitempty"`
}

func (*ActionStatus) GetEndTimeAsTime

func (o *ActionStatus) GetEndTimeAsTime() (*time.Time, error)

func (*ActionStatus) GetStartTimeAsTime

func (o *ActionStatus) GetStartTimeAsTime() (*time.Time, error)

func (*ActionStatus) SetEndTimeAsTime

func (o *ActionStatus) SetEndTimeAsTime(input time.Time)

func (*ActionStatus) SetStartTimeAsTime

func (o *ActionStatus) SetStartTimeAsTime(input time.Time)

type Branch

type Branch struct {
	Actions []Action `json:"actions"`
	Name    string   `json:"name"`
}

type BranchStatus

type BranchStatus struct {
	Actions    *[]ActionStatus `json:"actions,omitempty"`
	BranchId   *string         `json:"branchId,omitempty"`
	BranchName *string         `json:"branchName,omitempty"`
	Status     *string         `json:"status,omitempty"`
}

type CancelOperationResponse

type CancelOperationResponse struct {
	Poller       pollers.Poller
	HttpResponse *http.Response
	OData        *odata.OData
}

type CreateOrUpdateOperationResponse

type CreateOrUpdateOperationResponse struct {
	Poller       pollers.Poller
	HttpResponse *http.Response
	OData        *odata.OData
	Model        *Experiment
}

type DeleteOperationResponse

type DeleteOperationResponse struct {
	Poller       pollers.Poller
	HttpResponse *http.Response
	OData        *odata.OData
}

type ExecutionDetailsOperationResponse

type ExecutionDetailsOperationResponse struct {
	HttpResponse *http.Response
	OData        *odata.OData
	Model        *ExperimentExecutionDetails
}

type ExecutionId

type ExecutionId struct {
	SubscriptionId    string
	ResourceGroupName string
	ExperimentName    string
	ExecutionId       string
}

ExecutionId is a struct representing the Resource ID for a Execution

func NewExecutionID

func NewExecutionID(subscriptionId string, resourceGroupName string, experimentName string, executionId string) ExecutionId

NewExecutionID returns a new ExecutionId struct

func ParseExecutionID

func ParseExecutionID(input string) (*ExecutionId, error)

ParseExecutionID parses 'input' into a ExecutionId

func ParseExecutionIDInsensitively

func ParseExecutionIDInsensitively(input string) (*ExecutionId, error)

ParseExecutionIDInsensitively parses 'input' case-insensitively into a ExecutionId note: this method should only be used for API response data and not user input

func (*ExecutionId) FromParseResult

func (id *ExecutionId) FromParseResult(input resourceids.ParseResult) error

func (ExecutionId) ID

func (id ExecutionId) ID() string

ID returns the formatted Execution ID

func (ExecutionId) Segments

func (id ExecutionId) Segments() []resourceids.Segment

Segments returns a slice of Resource ID Segments which comprise this Execution ID

func (ExecutionId) String

func (id ExecutionId) String() string

String returns a human-readable description of this Execution ID

type Experiment

type Experiment struct {
	Id         *string                           `json:"id,omitempty"`
	Identity   *identity.SystemOrUserAssignedMap `json:"identity,omitempty"`
	Location   string                            `json:"location"`
	Name       *string                           `json:"name,omitempty"`
	Properties ExperimentProperties              `json:"properties"`
	SystemData *systemdata.SystemData            `json:"systemData,omitempty"`
	Tags       *map[string]string                `json:"tags,omitempty"`
	Type       *string                           `json:"type,omitempty"`
}

type ExperimentExecution

type ExperimentExecution struct {
	Id         *string                        `json:"id,omitempty"`
	Name       *string                        `json:"name,omitempty"`
	Properties *ExperimentExecutionProperties `json:"properties,omitempty"`
	Type       *string                        `json:"type,omitempty"`
}

type ExperimentExecutionActionTargetDetailsError

type ExperimentExecutionActionTargetDetailsError struct {
	Code    *string `json:"code,omitempty"`
	Message *string `json:"message,omitempty"`
}

type ExperimentExecutionActionTargetDetailsProperties

type ExperimentExecutionActionTargetDetailsProperties struct {
	Error               *ExperimentExecutionActionTargetDetailsError `json:"error,omitempty"`
	Status              *string                                      `json:"status,omitempty"`
	Target              *string                                      `json:"target,omitempty"`
	TargetCompletedTime *string                                      `json:"targetCompletedTime,omitempty"`
	TargetFailedTime    *string                                      `json:"targetFailedTime,omitempty"`
}

func (*ExperimentExecutionActionTargetDetailsProperties) GetTargetCompletedTimeAsTime

func (o *ExperimentExecutionActionTargetDetailsProperties) GetTargetCompletedTimeAsTime() (*time.Time, error)

func (*ExperimentExecutionActionTargetDetailsProperties) GetTargetFailedTimeAsTime

func (o *ExperimentExecutionActionTargetDetailsProperties) GetTargetFailedTimeAsTime() (*time.Time, error)

func (*ExperimentExecutionActionTargetDetailsProperties) SetTargetCompletedTimeAsTime

func (o *ExperimentExecutionActionTargetDetailsProperties) SetTargetCompletedTimeAsTime(input time.Time)

func (*ExperimentExecutionActionTargetDetailsProperties) SetTargetFailedTimeAsTime

func (o *ExperimentExecutionActionTargetDetailsProperties) SetTargetFailedTimeAsTime(input time.Time)

type ExperimentExecutionDetails

type ExperimentExecutionDetails struct {
	Id         *string                               `json:"id,omitempty"`
	Name       *string                               `json:"name,omitempty"`
	Properties *ExperimentExecutionDetailsProperties `json:"properties,omitempty"`
	Type       *string                               `json:"type,omitempty"`
}

type ExperimentExecutionDetailsProperties

type ExperimentExecutionDetailsProperties struct {
	FailureReason  *string                                             `json:"failureReason,omitempty"`
	LastActionAt   *string                                             `json:"lastActionAt,omitempty"`
	RunInformation *ExperimentExecutionDetailsPropertiesRunInformation `json:"runInformation,omitempty"`
	StartedAt      *string                                             `json:"startedAt,omitempty"`
	Status         *string                                             `json:"status,omitempty"`
	StoppedAt      *string                                             `json:"stoppedAt,omitempty"`
}

func (*ExperimentExecutionDetailsProperties) GetLastActionAtAsTime

func (o *ExperimentExecutionDetailsProperties) GetLastActionAtAsTime() (*time.Time, error)

func (*ExperimentExecutionDetailsProperties) GetStartedAtAsTime

func (o *ExperimentExecutionDetailsProperties) GetStartedAtAsTime() (*time.Time, error)

func (*ExperimentExecutionDetailsProperties) GetStoppedAtAsTime

func (o *ExperimentExecutionDetailsProperties) GetStoppedAtAsTime() (*time.Time, error)

func (*ExperimentExecutionDetailsProperties) SetLastActionAtAsTime

func (o *ExperimentExecutionDetailsProperties) SetLastActionAtAsTime(input time.Time)

func (*ExperimentExecutionDetailsProperties) SetStartedAtAsTime

func (o *ExperimentExecutionDetailsProperties) SetStartedAtAsTime(input time.Time)

func (*ExperimentExecutionDetailsProperties) SetStoppedAtAsTime

func (o *ExperimentExecutionDetailsProperties) SetStoppedAtAsTime(input time.Time)

type ExperimentExecutionDetailsPropertiesRunInformation

type ExperimentExecutionDetailsPropertiesRunInformation struct {
	Steps *[]StepStatus `json:"steps,omitempty"`
}

type ExperimentExecutionOperationPredicate

type ExperimentExecutionOperationPredicate struct {
	Id   *string
	Name *string
	Type *string
}

func (ExperimentExecutionOperationPredicate) Matches

type ExperimentExecutionProperties

type ExperimentExecutionProperties struct {
	StartedAt *string `json:"startedAt,omitempty"`
	Status    *string `json:"status,omitempty"`
	StoppedAt *string `json:"stoppedAt,omitempty"`
}

func (*ExperimentExecutionProperties) GetStartedAtAsTime

func (o *ExperimentExecutionProperties) GetStartedAtAsTime() (*time.Time, error)

func (*ExperimentExecutionProperties) GetStoppedAtAsTime

func (o *ExperimentExecutionProperties) GetStoppedAtAsTime() (*time.Time, error)

func (*ExperimentExecutionProperties) SetStartedAtAsTime

func (o *ExperimentExecutionProperties) SetStartedAtAsTime(input time.Time)

func (*ExperimentExecutionProperties) SetStoppedAtAsTime

func (o *ExperimentExecutionProperties) SetStoppedAtAsTime(input time.Time)

type ExperimentId

type ExperimentId struct {
	SubscriptionId    string
	ResourceGroupName string
	ExperimentName    string
}

ExperimentId is a struct representing the Resource ID for a Experiment

func NewExperimentID

func NewExperimentID(subscriptionId string, resourceGroupName string, experimentName string) ExperimentId

NewExperimentID returns a new ExperimentId struct

func ParseExperimentID

func ParseExperimentID(input string) (*ExperimentId, error)

ParseExperimentID parses 'input' into a ExperimentId

func ParseExperimentIDInsensitively

func ParseExperimentIDInsensitively(input string) (*ExperimentId, error)

ParseExperimentIDInsensitively parses 'input' case-insensitively into a ExperimentId note: this method should only be used for API response data and not user input

func (*ExperimentId) FromParseResult

func (id *ExperimentId) FromParseResult(input resourceids.ParseResult) error

func (ExperimentId) ID

func (id ExperimentId) ID() string

ID returns the formatted Experiment ID

func (ExperimentId) Segments

func (id ExperimentId) Segments() []resourceids.Segment

Segments returns a slice of Resource ID Segments which comprise this Experiment ID

func (ExperimentId) String

func (id ExperimentId) String() string

String returns a human-readable description of this Experiment ID

type ExperimentOperationPredicate

type ExperimentOperationPredicate struct {
	Id       *string
	Location *string
	Name     *string
	Type     *string
}

func (ExperimentOperationPredicate) Matches

func (p ExperimentOperationPredicate) Matches(input Experiment) bool

type ExperimentProperties

type ExperimentProperties struct {
	ProvisioningState *ProvisioningState `json:"provisioningState,omitempty"`
	Selectors         []Selector         `json:"selectors"`
	Steps             []Step             `json:"steps"`
}

type ExperimentUpdate

type ExperimentUpdate struct {
	Identity *identity.SystemOrUserAssignedMap `json:"identity,omitempty"`
	Tags     *map[string]string                `json:"tags,omitempty"`
}

type ExperimentsClient

type ExperimentsClient struct {
	Client *resourcemanager.Client
}

func NewExperimentsClientWithBaseURI

func NewExperimentsClientWithBaseURI(sdkApi sdkEnv.Api) (*ExperimentsClient, error)

func (ExperimentsClient) Cancel

Cancel ...

func (ExperimentsClient) CancelThenPoll

func (c ExperimentsClient) CancelThenPoll(ctx context.Context, id ExperimentId) error

CancelThenPoll performs Cancel then polls until it's completed

func (ExperimentsClient) CreateOrUpdate

func (c ExperimentsClient) CreateOrUpdate(ctx context.Context, id ExperimentId, input Experiment) (result CreateOrUpdateOperationResponse, err error)

CreateOrUpdate ...

func (ExperimentsClient) CreateOrUpdateThenPoll

func (c ExperimentsClient) CreateOrUpdateThenPoll(ctx context.Context, id ExperimentId, input Experiment) error

CreateOrUpdateThenPoll performs CreateOrUpdate then polls until it's completed

func (ExperimentsClient) Delete

Delete ...

func (ExperimentsClient) DeleteThenPoll

func (c ExperimentsClient) DeleteThenPoll(ctx context.Context, id ExperimentId) error

DeleteThenPoll performs Delete then polls until it's completed

func (ExperimentsClient) ExecutionDetails

func (c ExperimentsClient) ExecutionDetails(ctx context.Context, id ExecutionId) (result ExecutionDetailsOperationResponse, err error)

ExecutionDetails ...

func (ExperimentsClient) Get

Get ...

func (ExperimentsClient) GetExecution

func (c ExperimentsClient) GetExecution(ctx context.Context, id ExecutionId) (result GetExecutionOperationResponse, err error)

GetExecution ...

func (ExperimentsClient) List

List ...

func (ExperimentsClient) ListAll

ListAll ...

func (ExperimentsClient) ListAllComplete

ListAllComplete retrieves all the results into a single object

func (ExperimentsClient) ListAllCompleteMatchingPredicate

func (c ExperimentsClient) ListAllCompleteMatchingPredicate(ctx context.Context, id commonids.SubscriptionId, options ListAllOperationOptions, predicate ExperimentOperationPredicate) (result ListAllCompleteResult, err error)

ListAllCompleteMatchingPredicate retrieves all the results and then applies the predicate

func (ExperimentsClient) ListAllExecutions

func (c ExperimentsClient) ListAllExecutions(ctx context.Context, id ExperimentId) (result ListAllExecutionsOperationResponse, err error)

ListAllExecutions ...

func (ExperimentsClient) ListAllExecutionsComplete

func (c ExperimentsClient) ListAllExecutionsComplete(ctx context.Context, id ExperimentId) (ListAllExecutionsCompleteResult, error)

ListAllExecutionsComplete retrieves all the results into a single object

func (ExperimentsClient) ListAllExecutionsCompleteMatchingPredicate

func (c ExperimentsClient) ListAllExecutionsCompleteMatchingPredicate(ctx context.Context, id ExperimentId, predicate ExperimentExecutionOperationPredicate) (result ListAllExecutionsCompleteResult, err error)

ListAllExecutionsCompleteMatchingPredicate retrieves all the results and then applies the predicate

func (ExperimentsClient) ListComplete

ListComplete retrieves all the results into a single object

func (ExperimentsClient) ListCompleteMatchingPredicate

func (c ExperimentsClient) ListCompleteMatchingPredicate(ctx context.Context, id commonids.ResourceGroupId, options ListOperationOptions, predicate ExperimentOperationPredicate) (result ListCompleteResult, err error)

ListCompleteMatchingPredicate retrieves all the results and then applies the predicate

func (ExperimentsClient) Start

Start ...

func (ExperimentsClient) StartThenPoll

func (c ExperimentsClient) StartThenPoll(ctx context.Context, id ExperimentId) error

StartThenPoll performs Start then polls until it's completed

func (ExperimentsClient) Update

Update ...

func (ExperimentsClient) UpdateThenPoll

func (c ExperimentsClient) UpdateThenPoll(ctx context.Context, id ExperimentId, input ExperimentUpdate) error

UpdateThenPoll performs Update then polls until it's completed

type Filter

type Filter struct {
	Type FilterType `json:"type"`
}

type FilterType

type FilterType string
const (
	FilterTypeSimple FilterType = "Simple"
)

func (*FilterType) UnmarshalJSON

func (s *FilterType) UnmarshalJSON(bytes []byte) error

type GetExecutionOperationResponse

type GetExecutionOperationResponse struct {
	HttpResponse *http.Response
	OData        *odata.OData
	Model        *ExperimentExecution
}

type GetOperationResponse

type GetOperationResponse struct {
	HttpResponse *http.Response
	OData        *odata.OData
	Model        *Experiment
}

type ListAllCompleteResult

type ListAllCompleteResult struct {
	LatestHttpResponse *http.Response
	Items              []Experiment
}

type ListAllExecutionsCompleteResult

type ListAllExecutionsCompleteResult struct {
	LatestHttpResponse *http.Response
	Items              []ExperimentExecution
}

type ListAllExecutionsOperationResponse

type ListAllExecutionsOperationResponse struct {
	HttpResponse *http.Response
	OData        *odata.OData
	Model        *[]ExperimentExecution
}

type ListAllOperationOptions

type ListAllOperationOptions struct {
	ContinuationToken *string
	Running           *bool
}

func DefaultListAllOperationOptions

func DefaultListAllOperationOptions() ListAllOperationOptions

func (ListAllOperationOptions) ToHeaders

func (o ListAllOperationOptions) ToHeaders() *client.Headers

func (ListAllOperationOptions) ToOData

func (o ListAllOperationOptions) ToOData() *odata.Query

func (ListAllOperationOptions) ToQuery

type ListAllOperationResponse

type ListAllOperationResponse struct {
	HttpResponse *http.Response
	OData        *odata.OData
	Model        *[]Experiment
}

type ListCompleteResult

type ListCompleteResult struct {
	LatestHttpResponse *http.Response
	Items              []Experiment
}

type ListOperationOptions

type ListOperationOptions struct {
	ContinuationToken *string
	Running           *bool
}

func DefaultListOperationOptions

func DefaultListOperationOptions() ListOperationOptions

func (ListOperationOptions) ToHeaders

func (o ListOperationOptions) ToHeaders() *client.Headers

func (ListOperationOptions) ToOData

func (o ListOperationOptions) ToOData() *odata.Query

func (ListOperationOptions) ToQuery

type ListOperationResponse

type ListOperationResponse struct {
	HttpResponse *http.Response
	OData        *odata.OData
	Model        *[]Experiment
}

type ProvisioningState

type ProvisioningState string
const (
	ProvisioningStateCanceled  ProvisioningState = "Canceled"
	ProvisioningStateCreating  ProvisioningState = "Creating"
	ProvisioningStateDeleting  ProvisioningState = "Deleting"
	ProvisioningStateFailed    ProvisioningState = "Failed"
	ProvisioningStateSucceeded ProvisioningState = "Succeeded"
	ProvisioningStateUpdating  ProvisioningState = "Updating"
)

func (*ProvisioningState) UnmarshalJSON

func (s *ProvisioningState) UnmarshalJSON(bytes []byte) error

type Selector

type Selector struct {
	Filter *Filter      `json:"filter,omitempty"`
	Id     string       `json:"id"`
	Type   SelectorType `json:"type"`
}

type SelectorType

type SelectorType string
const (
	SelectorTypeList  SelectorType = "List"
	SelectorTypeQuery SelectorType = "Query"
)

func (*SelectorType) UnmarshalJSON

func (s *SelectorType) UnmarshalJSON(bytes []byte) error

type StartOperationResponse

type StartOperationResponse struct {
	Poller       pollers.Poller
	HttpResponse *http.Response
	OData        *odata.OData
}

type Step

type Step struct {
	Branches []Branch `json:"branches"`
	Name     string   `json:"name"`
}

type StepStatus

type StepStatus struct {
	Branches *[]BranchStatus `json:"branches,omitempty"`
	Status   *string         `json:"status,omitempty"`
	StepId   *string         `json:"stepId,omitempty"`
	StepName *string         `json:"stepName,omitempty"`
}

type UpdateOperationResponse

type UpdateOperationResponse struct {
	Poller       pollers.Poller
	HttpResponse *http.Response
	OData        *odata.OData
	Model        *Experiment
}

Jump to

Keyboard shortcuts

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