servicecatalog

package
v1.8.1 Latest Latest
Warning

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

Go to latest
Published: Oct 20, 2026 License: MIT Imports: 26 Imported by: 0

README

Servicecatalog

Parity grade: B · SDK aws-sdk-go-v2/service/servicecatalog@v1.47.4 · last audited 2026-10-18 (e1a1dfbea)

Coverage

Metric Value
PARITY entries audited 89 (89 ok)
Feature families 8 (8 ok)
Known gaps 14
Structural gaps (can't be emulated) 1
Deferred items 0
Resource leaks clean
Known gaps
  • ListStackInstancesForProvisionedProduct: not implemented; STACKSET products are not provisioned
  • CreateConstraint STACKSET: accepted and stored, but ProvisionProduct and CreateProvisionedProductPlan on such a path return OperationNotSupportedException
  • CreateConstraint TEMPLATE: only Fn::Equals/Not/And/Or/Contains/EachMemberEquals/EachMemberIn/Ref rules are evaluated; an assertion using any other function passes
  • CreateConstraint LAUNCH: the role is passed to CloudFormation as RoleARN but never assumed or checked in IAM
  • DescribeProvisionedProduct: CloudWatchDashboards is always empty
  • CreateProduct SourceConnection: the CodeStar repository is stored but never synced, so LastSync and SourceRevision stay empty
  • Notify*EngineWorkflowResult: no channel hands the workflow token to an engine; it is wf-
  • CreatePortfolioShare: SharePrincipals and ShareTagOptions are recorded but recipients get no copy of principals or tag options
  • AcceptPortfolioShare: AWS_SERVICECATALOG shares do not exist, so only IMPORTED and AWS_ORGANIZATIONS are acceptable
  • SearchProducts: a caller with an unresolved identity (no principal) sees every accessible portfolio; a resolved non-root identity needs a principal association
  • ProvisionProduct ProvisioningPreferences: accepted and ignored (StackSet-only)
  • CreateProduct MARKETPLACE: rejected with InvalidParametersException
  • TagOptions: not applied as tags on launched stacks
  • ErrorClasses: several error classes (ResourceInUse on disassociating a constrained product, InvalidParameters for an under-change provisioned product, DuplicateResource on re-imports) are chosen from documented behaviour, not SDK evidence
Structural gaps

These do not block an A grade — no implementation could produce real data here because the underlying data source cannot exist in an emulator.

  • Terraform, EXTERNAL and CodeStar-sourced products have no engine inside the emulator: an engine would have to call Notify*EngineWorkflowResult itself.

More

Documentation

Overview

Package servicecatalog emulates AWS Service Catalog.

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrDuplicateResource     = errors.New("duplicate resource")
	ErrInvalidParameters     = errors.New("invalid parameters")
	ErrInvalidState          = errors.New("invalid state")
	ErrLimitExceeded         = errors.New("limit exceeded")
	ErrOperationNotSupported = errors.New("operation not supported")
	ErrResourceInUse         = errors.New("resource in use")
	ErrResourceNotFound      = errors.New("resource not found")
	ErrTagOptionNotMigrated  = errors.New("tag option not migrated")
	ErrInternalFailure       = errors.New("internal failure")
)

Sentinels, one per exception in the pinned SDK's error set.

View Source
var ErrStackNotFound = errors.New("stack not found")

ErrStackNotFound is returned by a StackEngine when the named stack does not exist.

Functions

This section is empty.

Types

type AcceptPortfolioShareInput

type AcceptPortfolioShareInput struct {
	PortfolioID        string `json:"PortfolioId"`
	PortfolioShareType string `json:"PortfolioShareType,omitempty"`
}

AcceptPortfolioShareInput is the AcceptPortfolioShare and RejectPortfolioShare request.

type AccessLevelFilter

type AccessLevelFilter struct {
	Key   string `json:"Key,omitempty"`
	Value string `json:"Value,omitempty"`
}

AccessLevelFilter is the AccessLevelFilter shape.

type AccountState

type AccountState struct {
	AccountID           string `json:"accountID"`
	OrganizationsAccess bool   `json:"organizationsAccess"`
}

AccountState holds per-account Service Catalog settings.

type Artifact

type Artifact struct {
	CreatedTime               time.Time         `json:"createdTime"`
	Info                      map[string]string `json:"info,omitempty"`
	ID                        string            `json:"id"`
	ProductID                 string            `json:"productID"`
	Name                      string            `json:"name"`
	Description               string            `json:"description,omitempty"`
	Type                      string            `json:"type"`
	Guidance                  string            `json:"guidance"`
	SourceRevision            string            `json:"sourceRevision,omitempty"`
	Inactive                  bool              `json:"inactive,omitempty"`
	DisableTemplateValidation bool              `json:"disableTemplateValidation,omitempty"`
}

Artifact is a provisioning artifact (product version).

type AssociatePrincipalWithPortfolioInput

type AssociatePrincipalWithPortfolioInput struct {
	PortfolioID   string `json:"PortfolioId"`
	PrincipalARN  string `json:"PrincipalARN"`
	PrincipalType string `json:"PrincipalType"`
}

AssociatePrincipalWithPortfolioInput is the AssociatePrincipalWithPortfolio request.

type AssociateProductWithPortfolioInput

type AssociateProductWithPortfolioInput struct {
	PortfolioID       string `json:"PortfolioId"`
	ProductID         string `json:"ProductId"`
	SourcePortfolioID string `json:"SourcePortfolioId,omitempty"`
}

AssociateProductWithPortfolioInput is the AssociateProductWithPortfolio request.

type AssociateServiceActionInput

type AssociateServiceActionInput struct {
	ProductID              string `json:"ProductId"`
	ProvisioningArtifactID string `json:"ProvisioningArtifactId"`
	ServiceActionID        string `json:"ServiceActionId"`
	IdempotencyToken       string `json:"IdempotencyToken,omitempty"`
}

AssociateServiceActionInput is the AssociateServiceActionWithProvisioningArtifact and Disassociate request.

type Association

type Association struct {
	Key         string `json:"key"`
	PortfolioID string `json:"portfolioID"`
	ProductID   string `json:"productID"`
}

Association links a portfolio to a product.

type AutomationRunner

type AutomationRunner interface {
	DocumentExists(ctx context.Context, name string) bool
	StartAutomation(ctx context.Context, document, version string, params map[string][]string) (string, error)
}

AutomationRunner starts SSM automations for service actions.

type BatchServiceActionInput

type BatchServiceActionInput struct {
	ServiceActionAssociations []ServiceActionAssociation `json:"ServiceActionAssociations"`
}

BatchServiceActionInput is the Batch(Dis)AssociateServiceAction request.

type BatchServiceActionOutput

type BatchServiceActionOutput struct {
	FailedServiceActionAssociations []FailedServiceActionAssociation `json:"FailedServiceActionAssociations"`
}

BatchServiceActionOutput is the Batch(Dis)AssociateServiceAction response.

type BudgetChecker

type BudgetChecker interface {
	BudgetExists(ctx context.Context, name string) bool
}

BudgetChecker reports whether a budget exists in the caller's account.

type BudgetDetail

type BudgetDetail struct {
	BudgetName string `json:"BudgetName"`
}

BudgetDetail is the BudgetDetail shape.

type BudgetLink struct {
	Key        string `json:"key"`
	BudgetName string `json:"budgetName"`
	ResourceID string `json:"resourceID"`
}

BudgetLink associates a budget with a portfolio or product.

type BudgetResourceInput

type BudgetResourceInput struct {
	BudgetName string `json:"BudgetName"`
	ResourceID string `json:"ResourceId"`
}

BudgetResourceInput is the AssociateBudgetWithResource and DisassociateBudgetFromResource request.

type ChangeSetInfo

type ChangeSetInfo struct {
	Status  string
	Reason  string
	Changes []PlanChange
}

ChangeSetInfo is the engine's view of a change set.

type CodeStarParameters

type CodeStarParameters struct {
	ArtifactPath  string `json:"ArtifactPath"`
	Branch        string `json:"Branch"`
	ConnectionArn string `json:"ConnectionArn"`
	Repository    string `json:"Repository"`
}

CodeStarParameters is the CodeStarParameters shape.

type Constraint

type Constraint struct {
	ID          string `json:"id"`
	AccountID   string `json:"accountID"`
	Region      string `json:"region"`
	PortfolioID string `json:"portfolioID"`
	ProductID   string `json:"productID"`
	Type        string `json:"type"`
	Description string `json:"description,omitempty"`
	Parameters  string `json:"parameters"`
}

Constraint restricts or configures how a product is launched from a portfolio.

type ConstraintDetail

type ConstraintDetail struct {
	ConstraintID string `json:"ConstraintId"`
	Description  string `json:"Description,omitempty"`
	Owner        string `json:"Owner,omitempty"`
	PortfolioID  string `json:"PortfolioId,omitempty"`
	ProductID    string `json:"ProductId,omitempty"`
	Type         string `json:"Type"`
}

ConstraintDetail is the ConstraintDetail shape.

type ConstraintOutput

type ConstraintOutput struct {
	ConstraintDetail     *ConstraintDetail `json:"ConstraintDetail"`
	ConstraintParameters string            `json:"ConstraintParameters"`
	Status               string            `json:"Status"`
}

ConstraintOutput is the response of constraint create, update and describe operations.

type ConstraintSummary

type ConstraintSummary struct {
	Description string `json:"Description,omitempty"`
	Type        string `json:"Type"`
}

ConstraintSummary is the ConstraintSummary shape.

type CopyOperation

type CopyOperation struct {
	SettleAt        time.Time `json:"settleAt"`
	Token           string    `json:"token"`
	AccountID       string    `json:"accountID"`
	TargetProductID string    `json:"targetProductID"`
	StatusDetail    string    `json:"statusDetail,omitempty"`
	FinalStatus     string    `json:"finalStatus"`
}

CopyOperation tracks a CopyProduct request.

type CopyProductInput

type CopyProductInput struct {
	SourceProductArn                      string              `json:"SourceProductArn"`
	TargetProductID                       string              `json:"TargetProductId,omitempty"`
	TargetProductName                     string              `json:"TargetProductName,omitempty"`
	IdempotencyToken                      string              `json:"IdempotencyToken,omitempty"`
	CopyOptions                           []string            `json:"CopyOptions,omitempty"`
	SourceProvisioningArtifactIdentifiers []map[string]string `json:"SourceProvisioningArtifactIdentifiers,omitempty"`
}

CopyProductInput is the CopyProduct request.

type CopyProductOutput

type CopyProductOutput struct {
	CopyProductToken string `json:"CopyProductToken"`
}

CopyProductOutput is the CopyProduct response.

type CreateConstraintInput

type CreateConstraintInput struct {
	PortfolioID      string `json:"PortfolioId"`
	ProductID        string `json:"ProductId"`
	Parameters       string `json:"Parameters"`
	Type             string `json:"Type"`
	Description      string `json:"Description,omitempty"`
	IdempotencyToken string `json:"IdempotencyToken,omitempty"`
}

CreateConstraintInput is the CreateConstraint request.

type CreatePortfolioInput

type CreatePortfolioInput struct {
	DisplayName      string `json:"DisplayName"`
	ProviderName     string `json:"ProviderName"`
	Description      string `json:"Description,omitempty"`
	IdempotencyToken string `json:"IdempotencyToken,omitempty"`
	Tags             []Tag  `json:"Tags,omitempty"`
}

CreatePortfolioInput is the CreatePortfolio request.

type CreatePortfolioOutput

type CreatePortfolioOutput struct {
	PortfolioDetail *PortfolioDetail `json:"PortfolioDetail"`
	Tags            []Tag            `json:"Tags,omitempty"`
}

CreatePortfolioOutput is the CreatePortfolio response.

type CreatePortfolioShareInput

type CreatePortfolioShareInput struct {
	ShareTarget
	PortfolioID     string `json:"PortfolioId"`
	ShareTagOptions bool   `json:"ShareTagOptions,omitempty"`
	SharePrincipals bool   `json:"SharePrincipals,omitempty"`
}

CreatePortfolioShareInput is the CreatePortfolioShare request.

type CreateProductInput

type CreateProductInput struct {
	ProvisioningArtifactParameters *ProvisioningArtifactProperties `json:"ProvisioningArtifactParameters"`
	SourceConnection               *SourceConnectionRequest        `json:"SourceConnection,omitempty"`
	Name                           string                          `json:"Name"`
	Owner                          string                          `json:"Owner,omitempty"`
	ProductType                    string                          `json:"ProductType"`
	Description                    string                          `json:"Description,omitempty"`
	Distributor                    string                          `json:"Distributor,omitempty"`
	SupportDescription             string                          `json:"SupportDescription,omitempty"`
	SupportEmail                   string                          `json:"SupportEmail,omitempty"`
	SupportURL                     string                          `json:"SupportUrl,omitempty"`
	IdempotencyToken               string                          `json:"IdempotencyToken,omitempty"`
	Tags                           []Tag                           `json:"Tags,omitempty"`
}

CreateProductInput is the CreateProduct request.

type CreateProductOutput

type CreateProductOutput struct {
	ProductViewDetail          *ProductViewDetail          `json:"ProductViewDetail"`
	ProvisioningArtifactDetail *ProvisioningArtifactDetail `json:"ProvisioningArtifactDetail"`
	Tags                       []Tag                       `json:"Tags,omitempty"`
}

CreateProductOutput is the CreateProduct response.

type CreateProvisionedProductPlanInput

type CreateProvisionedProductPlanInput struct {
	PlanName               string                        `json:"PlanName"`
	PlanType               string                        `json:"PlanType"`
	ProductID              string                        `json:"ProductId"`
	ProvisionedProductName string                        `json:"ProvisionedProductName"`
	ProvisioningArtifactID string                        `json:"ProvisioningArtifactId"`
	PathID                 string                        `json:"PathId,omitempty"`
	IdempotencyToken       string                        `json:"IdempotencyToken"`
	NotificationArns       []string                      `json:"NotificationArns,omitempty"`
	ProvisioningParameters []UpdateProvisioningParameter `json:"ProvisioningParameters,omitempty"`
	Tags                   []Tag                         `json:"Tags,omitempty"`
}

CreateProvisionedProductPlanInput is the CreateProvisionedProductPlan request.

type CreateProvisionedProductPlanOutput

type CreateProvisionedProductPlanOutput struct {
	PlanID                 string `json:"PlanId"`
	PlanName               string `json:"PlanName"`
	ProvisionProductID     string `json:"ProvisionProductId"`
	ProvisionedProductName string `json:"ProvisionedProductName"`
	ProvisioningArtifactID string `json:"ProvisioningArtifactId"`
}

CreateProvisionedProductPlanOutput is the CreateProvisionedProductPlan response.

type CreateProvisioningArtifactInput

type CreateProvisioningArtifactInput struct {
	Parameters       *ProvisioningArtifactProperties `json:"Parameters"`
	ProductID        string                          `json:"ProductId"`
	IdempotencyToken string                          `json:"IdempotencyToken,omitempty"`
}

CreateProvisioningArtifactInput is the CreateProvisioningArtifact request.

type CreateServiceActionInput

type CreateServiceActionInput struct {
	Definition       map[string]string `json:"Definition"`
	Name             string            `json:"Name"`
	DefinitionType   string            `json:"DefinitionType"`
	Description      string            `json:"Description,omitempty"`
	IdempotencyToken string            `json:"IdempotencyToken,omitempty"`
}

CreateServiceActionInput is the CreateServiceAction request.

type CreateTagOptionInput

type CreateTagOptionInput struct {
	Key   string `json:"Key"`
	Value string `json:"Value"`
}

CreateTagOptionInput is the CreateTagOption request.

type DeletePortfolioShareInput

type DeletePortfolioShareInput struct {
	ShareTarget
	PortfolioID string `json:"PortfolioId"`
}

DeletePortfolioShareInput is the DeletePortfolioShare request.

type DeleteProductInput

type DeleteProductInput struct {
	ID string `json:"Id"`
}

DeleteProductInput is the DeleteProduct request.

type DeleteProvisionedProductPlanInput

type DeleteProvisionedProductPlanInput struct {
	PlanID       string `json:"PlanId"`
	IgnoreErrors bool   `json:"IgnoreErrors,omitempty"`
}

DeleteProvisionedProductPlanInput is the DeleteProvisionedProductPlan request.

type DeleteProvisioningArtifactInput

type DeleteProvisioningArtifactInput struct {
	ProductID              string `json:"ProductId"`
	ProvisioningArtifactID string `json:"ProvisioningArtifactId"`
}

DeleteProvisioningArtifactInput is the DeleteProvisioningArtifact request.

type DescribeConstraintInput

type DescribeConstraintInput struct {
	ID string `json:"Id"`
}

DescribeConstraintInput is the DescribeConstraint and DeleteConstraint request.

type DescribeCopyProductStatusInput

type DescribeCopyProductStatusInput struct {
	CopyProductToken string `json:"CopyProductToken"`
}

DescribeCopyProductStatusInput is the DescribeCopyProductStatus request.

type DescribeCopyProductStatusOutput

type DescribeCopyProductStatusOutput struct {
	CopyProductStatus string `json:"CopyProductStatus"`
	StatusDetail      string `json:"StatusDetail,omitempty"`
	TargetProductID   string `json:"TargetProductId,omitempty"`
}

DescribeCopyProductStatusOutput is the DescribeCopyProductStatus response.

type DescribePortfolioInput

type DescribePortfolioInput struct {
	ID string `json:"Id"`
}

DescribePortfolioInput is the DescribePortfolio request.

type DescribePortfolioOutput

type DescribePortfolioOutput struct {
	PortfolioDetail *PortfolioDetail  `json:"PortfolioDetail"`
	Tags            []Tag             `json:"Tags"`
	TagOptions      []TagOptionDetail `json:"TagOptions"`
	Budgets         []BudgetDetail    `json:"Budgets"`
}

DescribePortfolioOutput is the DescribePortfolio response.

type DescribePortfolioShareStatusInput

type DescribePortfolioShareStatusInput struct {
	PortfolioShareToken string `json:"PortfolioShareToken"`
}

DescribePortfolioShareStatusInput is the DescribePortfolioShareStatus request.

type DescribePortfolioShareStatusOutput

type DescribePortfolioShareStatusOutput struct {
	ShareDetails          *ShareDetails `json:"ShareDetails"`
	OrganizationNodeValue string        `json:"OrganizationNodeValue,omitempty"`
	PortfolioID           string        `json:"PortfolioId"`
	PortfolioShareToken   string        `json:"PortfolioShareToken"`
	Status                string        `json:"Status"`
}

DescribePortfolioShareStatusOutput is the DescribePortfolioShareStatus response.

type DescribePortfolioSharesInput

type DescribePortfolioSharesInput struct {
	PortfolioID string `json:"PortfolioId"`
	Type        string `json:"Type"`
	PageToken   string `json:"PageToken,omitempty"`
	PageSize    int32  `json:"PageSize,omitempty"`
}

DescribePortfolioSharesInput is the DescribePortfolioShares request.

type DescribePortfolioSharesOutput

type DescribePortfolioSharesOutput struct {
	NextPageToken         string                 `json:"NextPageToken,omitempty"`
	PortfolioShareDetails []PortfolioShareDetail `json:"PortfolioShareDetails"`
}

DescribePortfolioSharesOutput is the DescribePortfolioShares response.

type DescribeProductAsAdminInput

type DescribeProductAsAdminInput struct {
	ID                string `json:"Id,omitempty"`
	Name              string `json:"Name,omitempty"`
	SourcePortfolioID string `json:"SourcePortfolioId,omitempty"`
}

DescribeProductAsAdminInput is the DescribeProductAsAdmin request.

type DescribeProductAsAdminOutput

type DescribeProductAsAdminOutput struct {
	ProductViewDetail             *ProductViewDetail            `json:"ProductViewDetail"`
	ProvisioningArtifactSummaries []ProvisioningArtifactSummary `json:"ProvisioningArtifactSummaries"`
	Tags                          []Tag                         `json:"Tags"`
	TagOptions                    []TagOptionDetail             `json:"TagOptions"`
	Budgets                       []BudgetDetail                `json:"Budgets"`
}

DescribeProductAsAdminOutput is the DescribeProductAsAdmin response.

type DescribeProductInput

type DescribeProductInput struct {
	ID   string `json:"Id,omitempty"`
	Name string `json:"Name,omitempty"`
}

DescribeProductInput is the DescribeProduct request.

type DescribeProductOutput

type DescribeProductOutput struct {
	ProductViewSummary    *ProductViewSummary    `json:"ProductViewSummary"`
	ProvisioningArtifacts []ProvisioningArtifact `json:"ProvisioningArtifacts"`
	LaunchPaths           []LaunchPath           `json:"LaunchPaths"`
	Budgets               []BudgetDetail         `json:"Budgets"`
}

DescribeProductOutput is the DescribeProduct response.

type DescribeProductViewInput

type DescribeProductViewInput struct {
	ID string `json:"Id"`
}

DescribeProductViewInput is the DescribeProductView request.

type DescribeProductViewOutput

type DescribeProductViewOutput struct {
	ProductViewSummary    *ProductViewSummary    `json:"ProductViewSummary"`
	ProvisioningArtifacts []ProvisioningArtifact `json:"ProvisioningArtifacts"`
}

DescribeProductViewOutput is the DescribeProductView response.

type DescribeProvisionedProductInput

type DescribeProvisionedProductInput struct {
	ID   string `json:"Id,omitempty"`
	Name string `json:"Name,omitempty"`
}

DescribeProvisionedProductInput is the DescribeProvisionedProduct request.

type DescribeProvisionedProductOutput

type DescribeProvisionedProductOutput struct {
	ProvisionedProductDetail *ProvisionedProductDetail `json:"ProvisionedProductDetail"`
	CloudWatchDashboards     []map[string]string       `json:"CloudWatchDashboards"`
}

DescribeProvisionedProductOutput is the DescribeProvisionedProduct response.

type DescribeProvisionedProductPlanInput

type DescribeProvisionedProductPlanInput struct {
	PlanID string `json:"PlanId"`
	Paging
}

DescribeProvisionedProductPlanInput is the DescribeProvisionedProductPlan request.

type DescribeProvisionedProductPlanOutput

type DescribeProvisionedProductPlanOutput struct {
	ProvisionedProductPlanDetails *ProvisionedProductPlanDetails `json:"ProvisionedProductPlanDetails"`
	NextPageToken                 string                         `json:"NextPageToken,omitempty"`
	ResourceChanges               []ResourceChange               `json:"ResourceChanges"`
}

DescribeProvisionedProductPlanOutput is the DescribeProvisionedProductPlan response.

type DescribeProvisioningArtifactInput

type DescribeProvisioningArtifactInput struct {
	ProductID                             string `json:"ProductId,omitempty"`
	ProductName                           string `json:"ProductName,omitempty"`
	ProvisioningArtifactID                string `json:"ProvisioningArtifactId,omitempty"`
	ProvisioningArtifactName              string `json:"ProvisioningArtifactName,omitempty"`
	IncludeProvisioningArtifactParameters bool   `json:"IncludeProvisioningArtifactParameters,omitempty"`
	Verbose                               bool   `json:"Verbose,omitempty"`
}

DescribeProvisioningArtifactInput is the DescribeProvisioningArtifact request.

type DescribeProvisioningArtifactOutput

type DescribeProvisioningArtifactOutput struct {
	ProvisioningArtifactDetail     *ProvisioningArtifactDetail     `json:"ProvisioningArtifactDetail"`
	Info                           map[string]string               `json:"Info"`
	Status                         string                          `json:"Status"`
	ProvisioningArtifactParameters []ProvisioningArtifactParameter `json:"ProvisioningArtifactParameters,omitempty"`
}

DescribeProvisioningArtifactOutput is the DescribeProvisioningArtifact response.

type DescribeProvisioningParametersInput

type DescribeProvisioningParametersInput struct {
	ProductID                string `json:"ProductId,omitempty"`
	ProductName              string `json:"ProductName,omitempty"`
	ProvisioningArtifactID   string `json:"ProvisioningArtifactId,omitempty"`
	ProvisioningArtifactName string `json:"ProvisioningArtifactName,omitempty"`
	PathID                   string `json:"PathId,omitempty"`
	PathName                 string `json:"PathName,omitempty"`
}

DescribeProvisioningParametersInput is the DescribeProvisioningParameters request.

type DescribeProvisioningParametersOutput

type DescribeProvisioningParametersOutput struct {
	ProvisioningArtifactParameters []ProvisioningArtifactParameter  `json:"ProvisioningArtifactParameters"`
	ConstraintSummaries            []ConstraintSummary              `json:"ConstraintSummaries"`
	UsageInstructions              []UsageInstruction               `json:"UsageInstructions"`
	TagOptions                     []TagOptionSummary               `json:"TagOptions"`
	ProvisioningArtifactOutputKeys []ProvisioningArtifactOutputWire `json:"ProvisioningArtifactOutputKeys"`
	ProvisioningArtifactOutputs    []ProvisioningArtifactOutputWire `json:"ProvisioningArtifactOutputs"`
}

DescribeProvisioningParametersOutput is the DescribeProvisioningParameters response.

type DescribeRecordInput

type DescribeRecordInput struct {
	ID string `json:"Id"`
	Paging
}

DescribeRecordInput is the DescribeRecord request.

type DescribeRecordOutput

type DescribeRecordOutput struct {
	RecordDetail  *RecordDetail  `json:"RecordDetail"`
	NextPageToken string         `json:"NextPageToken,omitempty"`
	RecordOutputs []RecordOutput `json:"RecordOutputs"`
}

DescribeRecordOutput is the DescribeRecord response.

type DescribeServiceActionExecutionParametersInput

type DescribeServiceActionExecutionParametersInput struct {
	ProvisionedProductID string `json:"ProvisionedProductId"`
	ServiceActionID      string `json:"ServiceActionId"`
}

DescribeServiceActionExecutionParametersInput is the DescribeServiceActionExecutionParameters request.

type DescribeServiceActionExecutionParametersOutput

type DescribeServiceActionExecutionParametersOutput struct {
	ServiceActionParameters []ExecutionParameter `json:"ServiceActionParameters"`
}

DescribeServiceActionExecutionParametersOutput is the DescribeServiceActionExecutionParameters response.

type DescribeServiceActionInput

type DescribeServiceActionInput struct {
	ID               string `json:"Id"`
	IdempotencyToken string `json:"IdempotencyToken,omitempty"`
}

DescribeServiceActionInput is the DescribeServiceAction and DeleteServiceAction request.

type DescribeTagOptionInput

type DescribeTagOptionInput struct {
	ID string `json:"Id"`
}

DescribeTagOptionInput is the DescribeTagOption and DeleteTagOption request.

type DisassociatePrincipalFromPortfolioInput

type DisassociatePrincipalFromPortfolioInput struct {
	PortfolioID   string `json:"PortfolioId"`
	PrincipalARN  string `json:"PrincipalARN"`
	PrincipalType string `json:"PrincipalType,omitempty"`
}

DisassociatePrincipalFromPortfolioInput is the DisassociatePrincipalFromPortfolio request.

type DisassociateProductFromPortfolioInput

type DisassociateProductFromPortfolioInput struct {
	PortfolioID string `json:"PortfolioId"`
	ProductID   string `json:"ProductId"`
}

DisassociateProductFromPortfolioInput is the DisassociateProductFromPortfolio request.

type EmptyOutput

type EmptyOutput struct{}

EmptyOutput is the response of operations without output members.

type EngineWorkflowResult

type EngineWorkflowResult struct {
	IdempotencyToken string         `json:"IdempotencyToken"`
	RecordID         string         `json:"RecordId"`
	Status           string         `json:"Status"`
	WorkflowToken    string         `json:"WorkflowToken"`
	FailureReason    string         `json:"FailureReason,omitempty"`
	Outputs          []RecordOutput `json:"Outputs,omitempty"`
}

EngineWorkflowResult carries the shared members of the Notify*EngineWorkflowResult requests.

type ExecuteProvisionedProductPlanInput

type ExecuteProvisionedProductPlanInput struct {
	PlanID           string `json:"PlanId"`
	IdempotencyToken string `json:"IdempotencyToken"`
}

ExecuteProvisionedProductPlanInput is the ExecuteProvisionedProductPlan request.

type ExecuteProvisionedProductServiceActionInput

type ExecuteProvisionedProductServiceActionInput struct {
	Parameters           map[string][]string `json:"Parameters,omitempty"`
	ProvisionedProductID string              `json:"ProvisionedProductId"`
	ServiceActionID      string              `json:"ServiceActionId"`
	ExecuteToken         string              `json:"ExecuteToken,omitempty"`
}

ExecuteProvisionedProductServiceActionInput is the ExecuteProvisionedProductServiceAction request.

type ExecutionParameter

type ExecutionParameter struct {
	Name          string   `json:"Name"`
	Type          string   `json:"Type"`
	DefaultValues []string `json:"DefaultValues,omitempty"`
}

ExecutionParameter is the ExecutionParameter shape.

type FailedServiceActionAssociation

type FailedServiceActionAssociation struct {
	ErrorCode              string `json:"ErrorCode"`
	ErrorMessage           string `json:"ErrorMessage"`
	ProductID              string `json:"ProductId"`
	ProvisioningArtifactID string `json:"ProvisioningArtifactId"`
	ServiceActionID        string `json:"ServiceActionId"`
}

FailedServiceActionAssociation is the FailedServiceActionAssociation shape.

type GetProvisionedProductOutputsInput

type GetProvisionedProductOutputsInput struct {
	ProvisionedProductID   string   `json:"ProvisionedProductId,omitempty"`
	ProvisionedProductName string   `json:"ProvisionedProductName,omitempty"`
	OutputKeys             []string `json:"OutputKeys,omitempty"`
	Paging
}

GetProvisionedProductOutputsInput is the GetProvisionedProductOutputs request.

type GetProvisionedProductOutputsOutput

type GetProvisionedProductOutputsOutput struct {
	NextPageToken string         `json:"NextPageToken,omitempty"`
	Outputs       []RecordOutput `json:"Outputs"`
}

GetProvisionedProductOutputsOutput is the GetProvisionedProductOutputs response.

type Handler

type Handler struct {
	Backend *InMemoryBackend

	DefaultRegion string
	// contains filtered or unexported fields
}

Handler serves the Service Catalog awsjson1.1 API.

func NewHandler

func NewHandler(backend *InMemoryBackend) *Handler

NewHandler wraps a backend.

func (*Handler) ChaosOperations

func (h *Handler) ChaosOperations() []string

ChaosOperations lists the fault-injectable operations.

func (*Handler) ChaosRegions

func (h *Handler) ChaosRegions() []string

ChaosRegions lists the regions this handler serves.

func (*Handler) ChaosServiceName

func (h *Handler) ChaosServiceName() string

ChaosServiceName returns the lowercase service name for fault rules.

func (*Handler) ExtractOperation

func (h *Handler) ExtractOperation(c *echo.Context) string

ExtractOperation returns the operation name from X-Amz-Target.

func (*Handler) ExtractResource

func (h *Handler) ExtractResource(c *echo.Context) string

ExtractResource returns the operation name; the API has no single resource key.

func (*Handler) GetSupportedOperations

func (h *Handler) GetSupportedOperations() []string

GetSupportedOperations lists every routed operation.

func (*Handler) Handler

func (h *Handler) Handler() echo.HandlerFunc

Handler returns the echo handler.

func (*Handler) MatchPriority

func (h *Handler) MatchPriority() int

MatchPriority returns the routing priority.

func (*Handler) Name

func (h *Handler) Name() string

Name returns the service name.

func (*Handler) Reset

func (h *Handler) Reset()

Reset clears all state.

func (*Handler) Restore

func (h *Handler) Restore(ctx context.Context, data []byte) error

Restore implements persistence.Persistable.

func (*Handler) RouteMatcher

func (h *Handler) RouteMatcher() service.Matcher

RouteMatcher matches the AWS242ServiceCatalogService X-Amz-Target prefix.

func (*Handler) Snapshot

func (h *Handler) Snapshot(ctx context.Context) []byte

Snapshot implements persistence.Persistable.

type ImportAsProvisionedProductInput

type ImportAsProvisionedProductInput struct {
	IdempotencyToken       string `json:"IdempotencyToken"`
	PhysicalID             string `json:"PhysicalId"`
	ProductID              string `json:"ProductId"`
	ProvisionedProductName string `json:"ProvisionedProductName"`
	ProvisioningArtifactID string `json:"ProvisioningArtifactId"`
}

ImportAsProvisionedProductInput is the ImportAsProvisionedProduct request.

type InMemoryBackend

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

InMemoryBackend is the Service Catalog state; one coarse lock guards every table.

func NewInMemoryBackend

func NewInMemoryBackend(accountID, region string) *InMemoryBackend

NewInMemoryBackend creates an empty backend.

func (*InMemoryBackend) AcceptPortfolioShare

func (b *InMemoryBackend) AcceptPortfolioShare(
	ctx context.Context,
	in *AcceptPortfolioShareInput,
) (*EmptyOutput, error)

AcceptPortfolioShare accepts a share offered to the caller's account.

func (*InMemoryBackend) AccountID

func (b *InMemoryBackend) AccountID() string

AccountID returns the default account.

func (*InMemoryBackend) AssociateBudgetWithResource

func (b *InMemoryBackend) AssociateBudgetWithResource(
	ctx context.Context,
	in *BudgetResourceInput,
) (*EmptyOutput, error)

AssociateBudgetWithResource attaches a budget to a portfolio or product.

func (*InMemoryBackend) AssociatePrincipalWithPortfolio

func (b *InMemoryBackend) AssociatePrincipalWithPortfolio(
	ctx context.Context, in *AssociatePrincipalWithPortfolioInput,
) (*EmptyOutput, error)

AssociatePrincipalWithPortfolio lets an IAM principal (or pattern) launch the portfolio's products.

func (*InMemoryBackend) AssociateProductWithPortfolio

func (b *InMemoryBackend) AssociateProductWithPortfolio(
	ctx context.Context, in *AssociateProductWithPortfolioInput,
) (*EmptyOutput, error)

AssociateProductWithPortfolio adds a product to a portfolio.

func (*InMemoryBackend) AssociateServiceActionWithProvisioningArtifact

func (b *InMemoryBackend) AssociateServiceActionWithProvisioningArtifact(
	ctx context.Context,
	in *AssociateServiceActionInput,
) (*EmptyOutput, error)

AssociateServiceActionWithProvisioningArtifact makes a service action available on a version.

func (*InMemoryBackend) AssociateTagOptionWithResource

func (b *InMemoryBackend) AssociateTagOptionWithResource(
	ctx context.Context,
	in *TagOptionResourceInput,
) (*EmptyOutput, error)

AssociateTagOptionWithResource attaches a tag option to a portfolio or product.

func (*InMemoryBackend) BatchAssociateServiceActionWithProvisioningArtifact

func (b *InMemoryBackend) BatchAssociateServiceActionWithProvisioningArtifact(
	ctx context.Context,
	in *BatchServiceActionInput,
) (*BatchServiceActionOutput, error)

BatchAssociateServiceActionWithProvisioningArtifact associates several service actions, reporting failures per item.

func (*InMemoryBackend) BatchDisassociateServiceActionFromProvisioningArtifact

func (b *InMemoryBackend) BatchDisassociateServiceActionFromProvisioningArtifact(
	ctx context.Context,
	in *BatchServiceActionInput,
) (*BatchServiceActionOutput, error)

BatchDisassociateServiceActionFromProvisioningArtifact removes several associations, reporting failures per item.

func (*InMemoryBackend) CopyProduct

CopyProduct copies a product, or some of its versions, into this Region.

func (*InMemoryBackend) CreateConstraint

func (b *InMemoryBackend) CreateConstraint(ctx context.Context, in *CreateConstraintInput) (*ConstraintOutput, error)

CreateConstraint adds a constraint on a product within a portfolio.

func (*InMemoryBackend) CreatePortfolio

func (b *InMemoryBackend) CreatePortfolio(
	ctx context.Context,
	in *CreatePortfolioInput,
) (*CreatePortfolioOutput, error)

CreatePortfolio creates a portfolio.

func (*InMemoryBackend) CreatePortfolioShare

func (b *InMemoryBackend) CreatePortfolioShare(
	ctx context.Context,
	in *CreatePortfolioShareInput,
) (*ShareTokenOutput, error)

CreatePortfolioShare shares a portfolio with an account or organization node.

func (*InMemoryBackend) CreateProduct

CreateProduct creates a product with its first provisioning artifact.

func (*InMemoryBackend) CreateProvisionedProductPlan

CreateProvisionedProductPlan previews the changes of launching or updating a provisioned product.

func (*InMemoryBackend) CreateProvisioningArtifact

func (b *InMemoryBackend) CreateProvisioningArtifact(
	ctx context.Context,
	in *CreateProvisioningArtifactInput,
) (*ProvisioningArtifactOutput, error)

CreateProvisioningArtifact adds a version to a product.

func (*InMemoryBackend) CreateServiceAction

func (b *InMemoryBackend) CreateServiceAction(
	ctx context.Context,
	in *CreateServiceActionInput,
) (*ServiceActionOutput, error)

CreateServiceAction creates a service action.

func (*InMemoryBackend) CreateTagOption

func (b *InMemoryBackend) CreateTagOption(ctx context.Context, in *CreateTagOptionInput) (*TagOptionOutput, error)

CreateTagOption creates a tag option.

func (*InMemoryBackend) DeleteConstraint

func (b *InMemoryBackend) DeleteConstraint(ctx context.Context, in *DescribeConstraintInput) (*EmptyOutput, error)

DeleteConstraint removes a constraint.

func (*InMemoryBackend) DeletePortfolio

func (b *InMemoryBackend) DeletePortfolio(ctx context.Context, in *DescribePortfolioInput) (*EmptyOutput, error)

DeletePortfolio deletes a portfolio that has no products, principals or shares.

func (*InMemoryBackend) DeletePortfolioShare

func (b *InMemoryBackend) DeletePortfolioShare(
	ctx context.Context,
	in *DeletePortfolioShareInput,
) (*ShareTokenOutput, error)

DeletePortfolioShare stops sharing a portfolio.

func (*InMemoryBackend) DeleteProduct

func (b *InMemoryBackend) DeleteProduct(ctx context.Context, in *DeleteProductInput) (*EmptyOutput, error)

DeleteProduct deletes a product that is in no portfolio and has no provisioned products.

func (*InMemoryBackend) DeleteProvisionedProductPlan

func (b *InMemoryBackend) DeleteProvisionedProductPlan(
	ctx context.Context,
	in *DeleteProvisionedProductPlanInput,
) (*EmptyOutput, error)

DeleteProvisionedProductPlan deletes a plan and the placeholder provisioned product of a never-executed new launch.

func (*InMemoryBackend) DeleteProvisioningArtifact

func (b *InMemoryBackend) DeleteProvisioningArtifact(
	ctx context.Context,
	in *DeleteProvisioningArtifactInput,
) (*EmptyOutput, error)

DeleteProvisioningArtifact removes a version that no provisioned product uses.

func (*InMemoryBackend) DeleteServiceAction

func (b *InMemoryBackend) DeleteServiceAction(
	ctx context.Context,
	in *DescribeServiceActionInput,
) (*EmptyOutput, error)

DeleteServiceAction deletes a service action that no version uses.

func (*InMemoryBackend) DeleteTagOption

func (b *InMemoryBackend) DeleteTagOption(ctx context.Context, in *DescribeTagOptionInput) (*EmptyOutput, error)

DeleteTagOption deletes a tag option that is not associated with any resource.

func (*InMemoryBackend) DescribeConstraint

func (b *InMemoryBackend) DescribeConstraint(
	ctx context.Context,
	in *DescribeConstraintInput,
) (*ConstraintOutput, error)

DescribeConstraint returns a constraint.

func (*InMemoryBackend) DescribeCopyProductStatus

DescribeCopyProductStatus reports the progress of a CopyProduct request.

func (*InMemoryBackend) DescribePortfolio

DescribePortfolio returns a portfolio with its tags, tag options and budgets.

func (*InMemoryBackend) DescribePortfolioShareStatus

DescribePortfolioShareStatus reports the outcome of an organization share.

func (*InMemoryBackend) DescribePortfolioShares

DescribePortfolioShares lists who a portfolio is shared with, by recipient type.

func (*InMemoryBackend) DescribeProduct

func (b *InMemoryBackend) DescribeProduct(
	ctx context.Context,
	in *DescribeProductInput,
) (*DescribeProductOutput, error)

DescribeProduct returns a product the caller can launch.

func (*InMemoryBackend) DescribeProductAsAdmin

DescribeProductAsAdmin returns a product the caller's account owns, with its versions and tags.

func (*InMemoryBackend) DescribeProductView

DescribeProductView returns a product by its view ID.

func (*InMemoryBackend) DescribeProvisionedProduct

DescribeProvisionedProduct returns a provisioned product by ID or name.

func (*InMemoryBackend) DescribeProvisionedProductPlan

DescribeProvisionedProductPlan returns a plan and its resource changes.

func (*InMemoryBackend) DescribeProvisioningArtifact

DescribeProvisioningArtifact returns a version of a product the caller can launch.

func (*InMemoryBackend) DescribeProvisioningParameters

DescribeProvisioningParameters returns what a launch of a version needs and which constraints apply.

func (*InMemoryBackend) DescribeRecord

DescribeRecord returns a provisioning record and its outputs.

func (*InMemoryBackend) DescribeServiceAction

func (b *InMemoryBackend) DescribeServiceAction(
	ctx context.Context,
	in *DescribeServiceActionInput,
) (*ServiceActionOutput, error)

DescribeServiceAction returns a service action.

func (*InMemoryBackend) DescribeServiceActionExecutionParameters

DescribeServiceActionExecutionParameters lists the parameters to supply when executing a service action.

func (*InMemoryBackend) DescribeTagOption

func (b *InMemoryBackend) DescribeTagOption(ctx context.Context, in *DescribeTagOptionInput) (*TagOptionOutput, error)

DescribeTagOption returns a tag option.

func (*InMemoryBackend) DisableAWSOrganizationsAccess

func (b *InMemoryBackend) DisableAWSOrganizationsAccess(ctx context.Context, _ *EmptyOutput) (*EmptyOutput, error)

DisableAWSOrganizationsAccess turns off organization-wide portfolio sharing.

func (*InMemoryBackend) DisassociateBudgetFromResource

func (b *InMemoryBackend) DisassociateBudgetFromResource(
	ctx context.Context,
	in *BudgetResourceInput,
) (*EmptyOutput, error)

DisassociateBudgetFromResource detaches a budget from a portfolio or product.

func (*InMemoryBackend) DisassociatePrincipalFromPortfolio

func (b *InMemoryBackend) DisassociatePrincipalFromPortfolio(
	ctx context.Context, in *DisassociatePrincipalFromPortfolioInput,
) (*EmptyOutput, error)

DisassociatePrincipalFromPortfolio removes a principal association.

func (*InMemoryBackend) DisassociateProductFromPortfolio

func (b *InMemoryBackend) DisassociateProductFromPortfolio(
	ctx context.Context, in *DisassociateProductFromPortfolioInput,
) (*EmptyOutput, error)

DisassociateProductFromPortfolio removes a product from a portfolio.

func (*InMemoryBackend) DisassociateServiceActionFromProvisioningArtifact

func (b *InMemoryBackend) DisassociateServiceActionFromProvisioningArtifact(
	ctx context.Context,
	in *AssociateServiceActionInput,
) (*EmptyOutput, error)

DisassociateServiceActionFromProvisioningArtifact removes a service action from a version.

func (*InMemoryBackend) DisassociateTagOptionFromResource

func (b *InMemoryBackend) DisassociateTagOptionFromResource(
	ctx context.Context,
	in *TagOptionResourceInput,
) (*EmptyOutput, error)

DisassociateTagOptionFromResource detaches a tag option from a portfolio or product.

func (*InMemoryBackend) EnableAWSOrganizationsAccess

func (b *InMemoryBackend) EnableAWSOrganizationsAccess(ctx context.Context, _ *EmptyOutput) (*EmptyOutput, error)

EnableAWSOrganizationsAccess turns on organization-wide portfolio sharing.

func (*InMemoryBackend) ExecuteProvisionedProductPlan

func (b *InMemoryBackend) ExecuteProvisionedProductPlan(
	ctx context.Context,
	in *ExecuteProvisionedProductPlanInput,
) (*RecordOutputDetail, error)

ExecuteProvisionedProductPlan applies a plan.

func (*InMemoryBackend) ExecuteProvisionedProductServiceAction

func (b *InMemoryBackend) ExecuteProvisionedProductServiceAction(
	ctx context.Context,
	in *ExecuteProvisionedProductServiceActionInput,
) (*RecordOutputDetail, error)

ExecuteProvisionedProductServiceAction runs a service action's SSM automation against a provisioned product.

func (*InMemoryBackend) GetAWSOrganizationsAccessStatus

func (b *InMemoryBackend) GetAWSOrganizationsAccessStatus(
	ctx context.Context,
	_ *EmptyOutput,
) (*OrgAccessStatus, error)

GetAWSOrganizationsAccessStatus reports whether organization-wide sharing is enabled.

func (*InMemoryBackend) GetProvisionedProductOutputs

GetProvisionedProductOutputs returns the stack outputs of a provisioned product.

func (*InMemoryBackend) ImportAsProvisionedProduct

func (b *InMemoryBackend) ImportAsProvisionedProduct(
	ctx context.Context,
	in *ImportAsProvisionedProductInput,
) (*RecordOutputDetail, error)

ImportAsProvisionedProduct adopts an existing CloudFormation stack as a provisioned product.

func (*InMemoryBackend) ListAcceptedPortfolioShares

func (b *InMemoryBackend) ListAcceptedPortfolioShares(
	ctx context.Context,
	in *ListAcceptedPortfolioSharesInput,
) (*ListPortfoliosOutput, error)

ListAcceptedPortfolioShares lists the portfolios shared with and accepted by the caller's account.

func (*InMemoryBackend) ListBudgetsForResource

ListBudgetsForResource lists the budgets attached to a portfolio or product.

func (*InMemoryBackend) ListConstraintsForPortfolio

ListConstraintsForPortfolio lists the constraints of a portfolio, optionally for one product.

func (*InMemoryBackend) ListLaunchPaths

func (b *InMemoryBackend) ListLaunchPaths(
	ctx context.Context,
	in *ListLaunchPathsInput,
) (*ListLaunchPathsOutput, error)

ListLaunchPaths lists the portfolios through which a product can be launched.

func (*InMemoryBackend) ListOrganizationPortfolioAccess

ListOrganizationPortfolioAccess lists the organization nodes a portfolio is shared with.

func (*InMemoryBackend) ListPortfolioAccess

ListPortfolioAccess lists the accounts a portfolio is shared with.

func (*InMemoryBackend) ListPortfolios

ListPortfolios lists the portfolios the caller's account owns in the Region.

func (*InMemoryBackend) ListPortfoliosForProduct

func (b *InMemoryBackend) ListPortfoliosForProduct(
	ctx context.Context, in *ListPortfoliosForProductInput,
) (*ListPortfoliosOutput, error)

ListPortfoliosForProduct lists the portfolios that contain a product.

func (*InMemoryBackend) ListPrincipalsForPortfolio

ListPrincipalsForPortfolio lists the principals the caller's account associated with a portfolio.

func (*InMemoryBackend) ListProvisionedProductPlans

ListProvisionedProductPlans lists plans, optionally for one provisioned product.

func (*InMemoryBackend) ListProvisioningArtifacts

ListProvisioningArtifacts lists the versions of a product.

func (*InMemoryBackend) ListProvisioningArtifactsForServiceAction

ListProvisioningArtifactsForServiceAction lists the versions a service action is available on.

func (*InMemoryBackend) ListRecordHistory

ListRecordHistory lists provisioning records, newest first.

func (*InMemoryBackend) ListResourcesForTagOption

ListResourcesForTagOption lists the portfolios and products a tag option is attached to.

func (*InMemoryBackend) ListServiceActions

ListServiceActions lists the caller's service actions.

func (*InMemoryBackend) ListServiceActionsForProvisioningArtifact

func (b *InMemoryBackend) ListServiceActionsForProvisioningArtifact(
	ctx context.Context,
	in *ListServiceActionsForProvisioningArtifactInput,
) (*ListServiceActionsOutput, error)

ListServiceActionsForProvisioningArtifact lists the service actions available on a version.

func (*InMemoryBackend) ListTagOptions

ListTagOptions lists tag options, optionally filtered by key, value and active flag.

func (*InMemoryBackend) NotifyProvisionProductEngineWorkflowResult

func (b *InMemoryBackend) NotifyProvisionProductEngineWorkflowResult(
	ctx context.Context,
	in *NotifyProvisionProductEngineWorkflowResultInput,
) (*EmptyOutput, error)

NotifyProvisionProductEngineWorkflowResult completes an externally executed provision workflow.

func (*InMemoryBackend) NotifyTerminateProvisionedProductEngineWorkflowResult

func (b *InMemoryBackend) NotifyTerminateProvisionedProductEngineWorkflowResult(
	ctx context.Context,
	in *NotifyTerminateProvisionedProductEngineWorkflowResultInput,
) (*EmptyOutput, error)

NotifyTerminateProvisionedProductEngineWorkflowResult completes an externally executed terminate workflow.

func (*InMemoryBackend) NotifyUpdateProvisionedProductEngineWorkflowResult

func (b *InMemoryBackend) NotifyUpdateProvisionedProductEngineWorkflowResult(
	ctx context.Context,
	in *NotifyUpdateProvisionedProductEngineWorkflowResultInput,
) (*EmptyOutput, error)

NotifyUpdateProvisionedProductEngineWorkflowResult completes an externally executed update workflow.

func (*InMemoryBackend) ProvisionProduct

func (b *InMemoryBackend) ProvisionProduct(
	ctx context.Context,
	in *ProvisionProductInput,
) (*RecordOutputDetail, error)

ProvisionProduct launches a product: it creates the provisioned product and a CloudFormation stack for it.

func (*InMemoryBackend) Region

func (b *InMemoryBackend) Region() string

Region returns the default Region.

func (*InMemoryBackend) RejectPortfolioShare

func (b *InMemoryBackend) RejectPortfolioShare(
	ctx context.Context,
	in *AcceptPortfolioShareInput,
) (*EmptyOutput, error)

RejectPortfolioShare declines a share offered to the caller's account.

func (*InMemoryBackend) Reset

func (b *InMemoryBackend) Reset()

Reset clears every table.

func (*InMemoryBackend) Restore

func (b *InMemoryBackend) Restore(ctx context.Context, data []byte) error

Restore loads a snapshot; an incompatible version is discarded.

func (*InMemoryBackend) ScanProvisionedProducts

ScanProvisionedProducts lists provisioned products visible at an access level.

func (*InMemoryBackend) SearchProducts

SearchProducts searches the products the caller can launch.

func (*InMemoryBackend) SearchProductsAsAdmin

SearchProductsAsAdmin searches the products the caller's account owns.

func (*InMemoryBackend) SearchProvisionedProducts

SearchProvisionedProducts searches provisioned products by a free-text and field query.

func (*InMemoryBackend) SetAutomationRunner

func (b *InMemoryBackend) SetAutomationRunner(r AutomationRunner)

SetAutomationRunner wires SSM Automation for service actions.

func (*InMemoryBackend) SetBudgetChecker

func (b *InMemoryBackend) SetBudgetChecker(c BudgetChecker)

SetBudgetChecker wires the Budgets lookup.

func (*InMemoryBackend) SetClock

func (b *InMemoryBackend) SetClock(now func() time.Time)

SetClock replaces the time source.

func (*InMemoryBackend) SetLifecycleDelay

func (b *InMemoryBackend) SetLifecycleDelay(d time.Duration)

SetLifecycleDelay keeps records IN_PROGRESS and copy operations pending for d; zero settles immediately.

func (*InMemoryBackend) SetOrgDirectory

func (b *InMemoryBackend) SetOrgDirectory(o OrgDirectory)

SetOrgDirectory wires Organizations.

func (*InMemoryBackend) SetStackEngine

func (b *InMemoryBackend) SetStackEngine(e StackEngine)

SetStackEngine wires the CloudFormation engine used to provision products.

func (*InMemoryBackend) Snapshot

func (b *InMemoryBackend) Snapshot(ctx context.Context) []byte

Snapshot serialises the backend state.

func (*InMemoryBackend) TerminateProvisionedProduct

func (b *InMemoryBackend) TerminateProvisionedProduct(
	ctx context.Context,
	in *TerminateProvisionedProductInput,
) (*RecordOutputDetail, error)

TerminateProvisionedProduct deletes a provisioned product and its stack.

func (*InMemoryBackend) UpdateConstraint

func (b *InMemoryBackend) UpdateConstraint(ctx context.Context, in *UpdateConstraintInput) (*ConstraintOutput, error)

UpdateConstraint changes a constraint's description or parameters.

func (*InMemoryBackend) UpdatePortfolio

func (b *InMemoryBackend) UpdatePortfolio(
	ctx context.Context,
	in *UpdatePortfolioInput,
) (*CreatePortfolioOutput, error)

UpdatePortfolio edits a portfolio's attributes and tags.

func (*InMemoryBackend) UpdatePortfolioShare

UpdatePortfolioShare changes what a share includes.

func (*InMemoryBackend) UpdateProduct

UpdateProduct edits a product's attributes and tags.

func (*InMemoryBackend) UpdateProvisionedProduct

func (b *InMemoryBackend) UpdateProvisionedProduct(
	ctx context.Context,
	in *UpdateProvisionedProductInput,
) (*RecordOutputDetail, error)

UpdateProvisionedProduct moves a provisioned product to another version, parameters or tags.

func (*InMemoryBackend) UpdateProvisionedProductProperties

UpdateProvisionedProductProperties changes the owner or launch role of a provisioned product.

func (*InMemoryBackend) UpdateProvisioningArtifact

func (b *InMemoryBackend) UpdateProvisioningArtifact(
	ctx context.Context,
	in *UpdateProvisioningArtifactInput,
) (*ProvisioningArtifactOutput, error)

UpdateProvisioningArtifact edits a version.

func (*InMemoryBackend) UpdateServiceAction

func (b *InMemoryBackend) UpdateServiceAction(
	ctx context.Context,
	in *UpdateServiceActionInput,
) (*ServiceActionOutput, error)

UpdateServiceAction edits a service action.

func (*InMemoryBackend) UpdateTagOption

func (b *InMemoryBackend) UpdateTagOption(ctx context.Context, in *UpdateTagOptionInput) (*TagOptionOutput, error)

UpdateTagOption changes a tag option's value or active flag.

type LastSync

type LastSync struct {
	LastSuccessfulSyncTime *float64 `json:"LastSuccessfulSyncTime,omitempty"`
	LastSyncTime           *float64 `json:"LastSyncTime,omitempty"`
	LastSyncStatus         string   `json:"LastSyncStatus,omitempty"`
}

LastSync is the LastSync shape.

type LaunchPath

type LaunchPath struct {
	ID   string `json:"Id"`
	Name string `json:"Name"`
}

LaunchPath is the LaunchPath shape.

type LaunchPathSummary

type LaunchPathSummary struct {
	ID                  string              `json:"Id"`
	Name                string              `json:"Name"`
	ConstraintSummaries []ConstraintSummary `json:"ConstraintSummaries"`
	Tags                []Tag               `json:"Tags"`
}

LaunchPathSummary is the LaunchPathSummary shape.

type ListAcceptedPortfolioSharesInput

type ListAcceptedPortfolioSharesInput struct {
	PortfolioShareType string `json:"PortfolioShareType,omitempty"`
	Paging
}

ListAcceptedPortfolioSharesInput is the ListAcceptedPortfolioShares request.

type ListBudgetsForResourceInput

type ListBudgetsForResourceInput struct {
	ResourceID string `json:"ResourceId"`
	Paging
}

ListBudgetsForResourceInput is the ListBudgetsForResource request.

type ListBudgetsForResourceOutput

type ListBudgetsForResourceOutput struct {
	NextPageToken string         `json:"NextPageToken,omitempty"`
	Budgets       []BudgetDetail `json:"Budgets"`
}

ListBudgetsForResourceOutput is the ListBudgetsForResource response.

type ListConstraintsForPortfolioInput

type ListConstraintsForPortfolioInput struct {
	PortfolioID string `json:"PortfolioId"`
	ProductID   string `json:"ProductId,omitempty"`
	Paging
}

ListConstraintsForPortfolioInput is the ListConstraintsForPortfolio request.

type ListConstraintsForPortfolioOutput

type ListConstraintsForPortfolioOutput struct {
	NextPageToken     string             `json:"NextPageToken,omitempty"`
	ConstraintDetails []ConstraintDetail `json:"ConstraintDetails"`
}

ListConstraintsForPortfolioOutput is the ListConstraintsForPortfolio response.

type ListLaunchPathsInput

type ListLaunchPathsInput struct {
	ProductID string `json:"ProductId"`
	Paging
}

ListLaunchPathsInput is the ListLaunchPaths request.

type ListLaunchPathsOutput

type ListLaunchPathsOutput struct {
	NextPageToken       string              `json:"NextPageToken,omitempty"`
	LaunchPathSummaries []LaunchPathSummary `json:"LaunchPathSummaries"`
}

ListLaunchPathsOutput is the ListLaunchPaths response.

type ListOrganizationPortfolioAccessInput

type ListOrganizationPortfolioAccessInput struct {
	PortfolioID          string `json:"PortfolioId"`
	OrganizationNodeType string `json:"OrganizationNodeType"`
	PageToken            string `json:"PageToken,omitempty"`
	PageSize             int32  `json:"PageSize,omitempty"`
}

ListOrganizationPortfolioAccessInput is the ListOrganizationPortfolioAccess request.

type ListOrganizationPortfolioAccessOutput

type ListOrganizationPortfolioAccessOutput struct {
	NextPageToken     string             `json:"NextPageToken,omitempty"`
	OrganizationNodes []OrganizationNode `json:"OrganizationNodes"`
}

ListOrganizationPortfolioAccessOutput is the ListOrganizationPortfolioAccess response.

type ListPortfolioAccessInput

type ListPortfolioAccessInput struct {
	PortfolioID          string `json:"PortfolioId"`
	OrganizationParentID string `json:"OrganizationParentId,omitempty"`
	PageToken            string `json:"PageToken,omitempty"`
	PageSize             int32  `json:"PageSize,omitempty"`
}

ListPortfolioAccessInput is the ListPortfolioAccess request.

type ListPortfolioAccessOutput

type ListPortfolioAccessOutput struct {
	NextPageToken string   `json:"NextPageToken,omitempty"`
	AccountIDs    []string `json:"AccountIds"`
}

ListPortfolioAccessOutput is the ListPortfolioAccess response.

type ListPortfoliosForProductInput

type ListPortfoliosForProductInput struct {
	ProductID string `json:"ProductId"`
	Paging
}

ListPortfoliosForProductInput is the ListPortfoliosForProduct request.

type ListPortfoliosInput

type ListPortfoliosInput struct {
	Paging
}

ListPortfoliosInput is the ListPortfolios request.

type ListPortfoliosOutput

type ListPortfoliosOutput struct {
	NextPageToken    string             `json:"NextPageToken,omitempty"`
	PortfolioDetails []*PortfolioDetail `json:"PortfolioDetails"`
}

ListPortfoliosOutput is the ListPortfolios response.

type ListPrincipalsForPortfolioInput

type ListPrincipalsForPortfolioInput struct {
	PortfolioID string `json:"PortfolioId"`
	Paging
}

ListPrincipalsForPortfolioInput is the ListPrincipalsForPortfolio request.

type ListPrincipalsForPortfolioOutput

type ListPrincipalsForPortfolioOutput struct {
	NextPageToken string          `json:"NextPageToken,omitempty"`
	Principals    []PrincipalWire `json:"Principals"`
}

ListPrincipalsForPortfolioOutput is the ListPrincipalsForPortfolio response.

type ListProvisionedProductPlansInput

type ListProvisionedProductPlansInput struct {
	AccessLevelFilter  *AccessLevelFilter `json:"AccessLevelFilter,omitempty"`
	ProvisionProductID string             `json:"ProvisionProductId,omitempty"`
	Paging
}

ListProvisionedProductPlansInput is the ListProvisionedProductPlans request.

type ListProvisionedProductPlansOutput

type ListProvisionedProductPlansOutput struct {
	NextPageToken           string                          `json:"NextPageToken,omitempty"`
	ProvisionedProductPlans []ProvisionedProductPlanSummary `json:"ProvisionedProductPlans"`
}

ListProvisionedProductPlansOutput is the ListProvisionedProductPlans response.

type ListProvisioningArtifactsForServiceActionInput

type ListProvisioningArtifactsForServiceActionInput struct {
	ServiceActionID string `json:"ServiceActionId"`
	Paging
}

ListProvisioningArtifactsForServiceActionInput is the ListProvisioningArtifactsForServiceAction request.

type ListProvisioningArtifactsForServiceActionOutput

type ListProvisioningArtifactsForServiceActionOutput struct {
	NextPageToken             string                     `json:"NextPageToken,omitempty"`
	ProvisioningArtifactViews []ProvisioningArtifactView `json:"ProvisioningArtifactViews"`
}

ListProvisioningArtifactsForServiceActionOutput is the ListProvisioningArtifactsForServiceAction response.

type ListProvisioningArtifactsInput

type ListProvisioningArtifactsInput struct {
	ProductID string `json:"ProductId"`
}

ListProvisioningArtifactsInput is the ListProvisioningArtifacts request.

type ListProvisioningArtifactsOutput

type ListProvisioningArtifactsOutput struct {
	NextPageToken               string                       `json:"NextPageToken,omitempty"`
	ProvisioningArtifactDetails []ProvisioningArtifactDetail `json:"ProvisioningArtifactDetails"`
}

ListProvisioningArtifactsOutput is the ListProvisioningArtifacts response.

type ListRecordHistoryInput

type ListRecordHistoryInput struct {
	AccessLevelFilter *AccessLevelFilter             `json:"AccessLevelFilter,omitempty"`
	SearchFilter      *ListRecordHistorySearchFilter `json:"SearchFilter,omitempty"`
	Paging
}

ListRecordHistoryInput is the ListRecordHistory request.

type ListRecordHistoryOutput

type ListRecordHistoryOutput struct {
	NextPageToken string         `json:"NextPageToken,omitempty"`
	RecordDetails []RecordDetail `json:"RecordDetails"`
}

ListRecordHistoryOutput is the ListRecordHistory response.

type ListRecordHistorySearchFilter

type ListRecordHistorySearchFilter struct {
	Key   string `json:"Key,omitempty"`
	Value string `json:"Value,omitempty"`
}

ListRecordHistorySearchFilter is the ListRecordHistorySearchFilter shape.

type ListResourcesForTagOptionInput

type ListResourcesForTagOptionInput struct {
	TagOptionID  string `json:"TagOptionId"`
	ResourceType string `json:"ResourceType,omitempty"`
	Paging
}

ListResourcesForTagOptionInput is the ListResourcesForTagOption request.

type ListResourcesForTagOptionOutput

type ListResourcesForTagOptionOutput struct {
	PageToken       string           `json:"PageToken,omitempty"`
	ResourceDetails []ResourceDetail `json:"ResourceDetails"`
}

ListResourcesForTagOptionOutput is the ListResourcesForTagOption response.

type ListServiceActionsForProvisioningArtifactInput

type ListServiceActionsForProvisioningArtifactInput struct {
	ProductID              string `json:"ProductId"`
	ProvisioningArtifactID string `json:"ProvisioningArtifactId"`
	Paging
}

ListServiceActionsForProvisioningArtifactInput is the ListServiceActionsForProvisioningArtifact request.

type ListServiceActionsInput

type ListServiceActionsInput struct {
	Paging
}

ListServiceActionsInput is the ListServiceActions request.

type ListServiceActionsOutput

type ListServiceActionsOutput struct {
	NextPageToken          string                 `json:"NextPageToken,omitempty"`
	ServiceActionSummaries []ServiceActionSummary `json:"ServiceActionSummaries"`
}

ListServiceActionsOutput is the ListServiceActions response.

type ListTagOptionsFilters

type ListTagOptionsFilters struct {
	Active *bool  `json:"Active,omitempty"`
	Key    string `json:"Key,omitempty"`
	Value  string `json:"Value,omitempty"`
}

ListTagOptionsFilters is the ListTagOptionsFilters shape.

type ListTagOptionsInput

type ListTagOptionsInput struct {
	Filters *ListTagOptionsFilters `json:"Filters,omitempty"`
	Paging
}

ListTagOptionsInput is the ListTagOptions request.

type ListTagOptionsOutput

type ListTagOptionsOutput struct {
	PageToken        string            `json:"PageToken,omitempty"`
	TagOptionDetails []TagOptionDetail `json:"TagOptionDetails"`
}

ListTagOptionsOutput is the ListTagOptions response.

type NotifyProvisionProductEngineWorkflowResultInput

type NotifyProvisionProductEngineWorkflowResultInput struct {
	ResourceIdentifier map[string]any `json:"ResourceIdentifier,omitempty"`
	EngineWorkflowResult
}

NotifyProvisionProductEngineWorkflowResultInput is the NotifyProvisionProductEngineWorkflowResult request.

type NotifyTerminateProvisionedProductEngineWorkflowResultInput

type NotifyTerminateProvisionedProductEngineWorkflowResultInput struct {
	EngineWorkflowResult
}

NotifyTerminateProvisionedProductEngineWorkflowResultInput is the Notify...TerminateProvisionedProduct... request.

type NotifyUpdateProvisionedProductEngineWorkflowResultInput

type NotifyUpdateProvisionedProductEngineWorkflowResultInput struct {
	EngineWorkflowResult
}

NotifyUpdateProvisionedProductEngineWorkflowResultInput is the Notify...UpdateProvisionedProduct... request.

type OrgAccessStatus

type OrgAccessStatus struct {
	AccessStatus string `json:"AccessStatus"`
}

OrgAccessStatus is the AccessStatus response.

type OrgDirectory

type OrgDirectory interface {
	AccountsUnder(nodeType, value string) ([]string, error)
	EnableServiceAccess(principal string) error
	DisableServiceAccess(principal string) error
	ServiceAccessEnabled(principal string) (bool, error)
}

OrgDirectory resolves organization nodes and the Organizations service-access toggle.

type OrganizationNode

type OrganizationNode struct {
	Type  string `json:"Type,omitempty"`
	Value string `json:"Value,omitempty"`
}

OrganizationNode is the OrganizationNode shape.

type Output

type Output struct {
	Key         string `json:"key"`
	Value       string `json:"value"`
	Description string `json:"description,omitempty"`
}

Output is a CloudFormation stack output captured on a provisioned product or record.

type Paging

type Paging struct {
	PageToken string `json:"PageToken,omitempty"`
	PageSize  int32  `json:"PageSize,omitempty"`
}

Paging carries the PageSize/PageToken request members shared by list operations.

type ParameterConstraints

type ParameterConstraints struct {
	AllowedPattern        string   `json:"AllowedPattern,omitempty"`
	ConstraintDescription string   `json:"ConstraintDescription,omitempty"`
	AllowedValues         []string `json:"AllowedValues,omitempty"`
}

ParameterConstraints is the ParameterConstraints shape.

type Plan

type Plan struct {
	CreatedTime            time.Time         `json:"createdTime"`
	UpdatedTime            time.Time         `json:"updatedTime"`
	Tags                   map[string]string `json:"tags,omitempty"`
	Parameters             map[string]string `json:"parameters,omitempty"`
	ID                     string            `json:"id"`
	AccountID              string            `json:"accountID"`
	Region                 string            `json:"region"`
	Name                   string            `json:"name"`
	Type                   string            `json:"type"`
	Status                 string            `json:"status"`
	StatusMessage          string            `json:"statusMessage,omitempty"`
	ProductID              string            `json:"productID"`
	ArtifactID             string            `json:"artifactID"`
	PathID                 string            `json:"pathID,omitempty"`
	ProvisionedProductID   string            `json:"provisionedProductID"`
	ProvisionedProductName string            `json:"provisionedProductName"`
	ChangeSetName          string            `json:"changeSetName"`
	StackName              string            `json:"stackName"`
	NotificationArns       []string          `json:"notificationArns,omitempty"`
	Changes                []PlanChange      `json:"changes,omitempty"`
	IsUpdate               bool              `json:"isUpdate"`
}

Plan is a provisioned product plan backed by a CloudFormation change set.

type PlanChange

type PlanChange struct {
	Action            string `json:"action"`
	LogicalResourceID string `json:"logicalResourceID"`
	PhysicalID        string `json:"physicalID,omitempty"`
	ResourceType      string `json:"resourceType"`
	Replacement       string `json:"replacement,omitempty"`
}

PlanChange is one resource change of a plan.

type Portfolio

type Portfolio struct {
	CreatedTime  time.Time         `json:"createdTime"`
	Tags         map[string]string `json:"tags,omitempty"`
	ID           string            `json:"id"`
	ARN          string            `json:"arn"`
	AccountID    string            `json:"accountID"`
	Region       string            `json:"region"`
	DisplayName  string            `json:"displayName"`
	Description  string            `json:"description,omitempty"`
	ProviderName string            `json:"providerName"`
}

Portfolio is a collection of products.

type PortfolioDetail

type PortfolioDetail struct {
	CreatedTime  *float64 `json:"CreatedTime,omitempty"`
	ARN          string   `json:"ARN"`
	Description  string   `json:"Description,omitempty"`
	DisplayName  string   `json:"DisplayName"`
	ID           string   `json:"Id"`
	ProviderName string   `json:"ProviderName"`
}

PortfolioDetail is the PortfolioDetail shape.

type PortfolioShareDetail

type PortfolioShareDetail struct {
	PrincipalID     string `json:"PrincipalId"`
	Type            string `json:"Type"`
	Accepted        bool   `json:"Accepted"`
	SharePrincipals bool   `json:"SharePrincipals"`
	ShareTagOptions bool   `json:"ShareTagOptions"`
}

PortfolioShareDetail is the PortfolioShareDetail shape.

type Principal

type Principal struct {
	Key           string `json:"key"`
	PortfolioID   string `json:"portfolioID"`
	AccountID     string `json:"accountID"`
	PrincipalARN  string `json:"principalARN"`
	PrincipalType string `json:"principalType"`
}

Principal is a principal associated with a portfolio by one account.

type PrincipalWire

type PrincipalWire struct {
	PrincipalARN  string `json:"PrincipalARN"`
	PrincipalType string `json:"PrincipalType"`
}

PrincipalWire is the Principal shape.

type Product

type Product struct {
	CreatedTime        time.Time         `json:"createdTime"`
	Tags               map[string]string `json:"tags,omitempty"`
	SourceConnection   *SourceConnection `json:"sourceConnection,omitempty"`
	ID                 string            `json:"id"`
	ViewID             string            `json:"viewID"`
	ARN                string            `json:"arn"`
	AccountID          string            `json:"accountID"`
	Region             string            `json:"region"`
	Name               string            `json:"name"`
	Owner              string            `json:"owner"`
	Description        string            `json:"description,omitempty"`
	Distributor        string            `json:"distributor,omitempty"`
	SupportDescription string            `json:"supportDescription,omitempty"`
	SupportEmail       string            `json:"supportEmail,omitempty"`
	SupportURL         string            `json:"supportUrl,omitempty"`
	Type               string            `json:"type"`
	Status             string            `json:"status"`
	SourceProductID    string            `json:"sourceProductID,omitempty"`
}

Product is a Service Catalog product.

type ProductFilters

type ProductFilters struct {
	Filters   map[string][]string `json:"Filters,omitempty"`
	SortBy    string              `json:"SortBy,omitempty"`
	SortOrder string              `json:"SortOrder,omitempty"`
	Paging
}

ProductFilters carries the shared product-search request members.

type ProductViewAggregationValue

type ProductViewAggregationValue struct {
	Value            string `json:"Value"`
	ApproximateCount int32  `json:"ApproximateCount"`
}

ProductViewAggregationValue is the ProductViewAggregationValue shape.

type ProductViewDetail

type ProductViewDetail struct {
	CreatedTime        *float64                `json:"CreatedTime,omitempty"`
	ProductViewSummary *ProductViewSummary     `json:"ProductViewSummary,omitempty"`
	SourceConnection   *SourceConnectionDetail `json:"SourceConnection,omitempty"`
	ProductARN         string                  `json:"ProductARN"`
	Status             string                  `json:"Status"`
}

ProductViewDetail is the ProductViewDetail shape.

type ProductViewSummary

type ProductViewSummary struct {
	Distributor        string `json:"Distributor,omitempty"`
	ID                 string `json:"Id"`
	Name               string `json:"Name"`
	Owner              string `json:"Owner,omitempty"`
	ProductID          string `json:"ProductId"`
	ShortDescription   string `json:"ShortDescription,omitempty"`
	SupportDescription string `json:"SupportDescription,omitempty"`
	SupportEmail       string `json:"SupportEmail,omitempty"`
	SupportURL         string `json:"SupportUrl,omitempty"`
	Type               string `json:"Type"`
	HasDefaultPath     bool   `json:"HasDefaultPath"`
}

ProductViewSummary is the ProductViewSummary shape.

type Provider

type Provider struct{}

Provider implements service.Provider for AWS Service Catalog.

func (*Provider) Init

Init builds the backend and handler.

func (*Provider) Name

func (p *Provider) Name() string

Name returns the provider name.

type ProvisionProductInput

type ProvisionProductInput struct {
	ProvisioningPreferences  map[string]any          `json:"ProvisioningPreferences,omitempty"`
	ProvisionToken           string                  `json:"ProvisionToken"`
	ProvisionedProductName   string                  `json:"ProvisionedProductName"`
	PathID                   string                  `json:"PathId,omitempty"`
	PathName                 string                  `json:"PathName,omitempty"`
	ProductID                string                  `json:"ProductId,omitempty"`
	ProductName              string                  `json:"ProductName,omitempty"`
	ProvisioningArtifactID   string                  `json:"ProvisioningArtifactId,omitempty"`
	ProvisioningArtifactName string                  `json:"ProvisioningArtifactName,omitempty"`
	NotificationArns         []string                `json:"NotificationArns,omitempty"`
	ProvisioningParameters   []ProvisioningParameter `json:"ProvisioningParameters,omitempty"`
	Tags                     []Tag                   `json:"Tags,omitempty"`
}

ProvisionProductInput is the ProvisionProduct request.

type ProvisionedProduct

type ProvisionedProduct struct {
	CreatedTime                        time.Time         `json:"createdTime"`
	Tags                               map[string]string `json:"tags,omitempty"`
	Parameters                         map[string]string `json:"parameters,omitempty"`
	ID                                 string            `json:"id"`
	ARN                                string            `json:"arn"`
	AccountID                          string            `json:"accountID"`
	Region                             string            `json:"region"`
	Name                               string            `json:"name"`
	Type                               string            `json:"type"`
	Status                             string            `json:"status"`
	StatusMessage                      string            `json:"statusMessage,omitempty"`
	ProductID                          string            `json:"productID"`
	ArtifactID                         string            `json:"artifactID"`
	PathID                             string            `json:"pathID,omitempty"`
	StackName                          string            `json:"stackName,omitempty"`
	StackID                            string            `json:"stackID,omitempty"`
	LaunchRoleArn                      string            `json:"launchRoleArn,omitempty"`
	IdempotencyToken                   string            `json:"idempotencyToken,omitempty"`
	LastRecordID                       string            `json:"lastRecordID"`
	LastProvisioningRecordID           string            `json:"lastProvisioningRecordID"`
	LastSuccessfulProvisioningRecordID string            `json:"lastSuccessfulProvisioningRecordID,omitempty"`
	UserArn                            string            `json:"userArn,omitempty"`
	Owner                              string            `json:"owner,omitempty"`
	Outputs                            []Output          `json:"outputs,omitempty"`
}

ProvisionedProduct is a launched product (one CloudFormation stack).

type ProvisionedProductAttribute

type ProvisionedProductAttribute struct {
	CreatedTime                        *float64 `json:"CreatedTime,omitempty"`
	PhysicalID                         string   `json:"PhysicalId,omitempty"`
	ProvisioningArtifactID             string   `json:"ProvisioningArtifactId"`
	IdempotencyToken                   string   `json:"IdempotencyToken,omitempty"`
	LastProvisioningRecordID           string   `json:"LastProvisioningRecordId,omitempty"`
	LastRecordID                       string   `json:"LastRecordId,omitempty"`
	LastSuccessfulProvisioningRecordID string   `json:"LastSuccessfulProvisioningRecordId,omitempty"`
	Name                               string   `json:"Name"`
	Arn                                string   `json:"Arn"`
	ID                                 string   `json:"Id"`
	ProductID                          string   `json:"ProductId"`
	ProductName                        string   `json:"ProductName,omitempty"`
	ProvisioningArtifactName           string   `json:"ProvisioningArtifactName,omitempty"`
	Status                             string   `json:"Status"`
	StatusMessage                      string   `json:"StatusMessage,omitempty"`
	UserArnSession                     string   `json:"UserArnSession,omitempty"`
	Type                               string   `json:"Type"`
	UserArn                            string   `json:"UserArn,omitempty"`
	Tags                               []Tag    `json:"Tags,omitempty"`
}

ProvisionedProductAttribute is the ProvisionedProductAttribute shape.

type ProvisionedProductDetail

type ProvisionedProductDetail struct {
	CreatedTime                        *float64 `json:"CreatedTime,omitempty"`
	Arn                                string   `json:"Arn"`
	ID                                 string   `json:"Id"`
	IdempotencyToken                   string   `json:"IdempotencyToken,omitempty"`
	LastProvisioningRecordID           string   `json:"LastProvisioningRecordId,omitempty"`
	LastRecordID                       string   `json:"LastRecordId,omitempty"`
	LastSuccessfulProvisioningRecordID string   `json:"LastSuccessfulProvisioningRecordId,omitempty"`
	LaunchRoleArn                      string   `json:"LaunchRoleArn,omitempty"`
	Name                               string   `json:"Name"`
	ProductID                          string   `json:"ProductId"`
	ProvisioningArtifactID             string   `json:"ProvisioningArtifactId"`
	Status                             string   `json:"Status"`
	StatusMessage                      string   `json:"StatusMessage,omitempty"`
	Type                               string   `json:"Type"`
}

ProvisionedProductDetail is the ProvisionedProductDetail shape.

type ProvisionedProductPlanDetails

type ProvisionedProductPlanDetails struct {
	CreatedTime            *float64                      `json:"CreatedTime,omitempty"`
	UpdatedTime            *float64                      `json:"UpdatedTime,omitempty"`
	NotificationArns       []string                      `json:"NotificationArns,omitempty"`
	PathID                 string                        `json:"PathId,omitempty"`
	PlanID                 string                        `json:"PlanId"`
	PlanName               string                        `json:"PlanName"`
	PlanType               string                        `json:"PlanType"`
	ProductID              string                        `json:"ProductId"`
	ProvisionProductID     string                        `json:"ProvisionProductId"`
	ProvisionProductName   string                        `json:"ProvisionProductName"`
	ProvisioningArtifactID string                        `json:"ProvisioningArtifactId"`
	ProvisioningParameters []UpdateProvisioningParameter `json:"ProvisioningParameters,omitempty"`
	Status                 string                        `json:"Status"`
	StatusMessage          string                        `json:"StatusMessage,omitempty"`
	Tags                   []Tag                         `json:"Tags,omitempty"`
}

ProvisionedProductPlanDetails is the ProvisionedProductPlanDetails shape.

type ProvisionedProductPlanSummary

type ProvisionedProductPlanSummary struct {
	PlanID                 string `json:"PlanId"`
	PlanName               string `json:"PlanName"`
	PlanType               string `json:"PlanType"`
	ProvisionProductID     string `json:"ProvisionProductId"`
	ProvisionProductName   string `json:"ProvisionProductName"`
	ProvisioningArtifactID string `json:"ProvisioningArtifactId"`
}

ProvisionedProductPlanSummary is the ProvisionedProductPlanSummary shape.

type ProvisioningArtifact

type ProvisioningArtifact struct {
	CreatedTime *float64 `json:"CreatedTime,omitempty"`
	Description string   `json:"Description,omitempty"`
	Guidance    string   `json:"Guidance,omitempty"`
	ID          string   `json:"Id"`
	Name        string   `json:"Name,omitempty"`
}

ProvisioningArtifact is the end-user ProvisioningArtifact shape.

type ProvisioningArtifactDetail

type ProvisioningArtifactDetail struct {
	Active         *bool    `json:"Active,omitempty"`
	CreatedTime    *float64 `json:"CreatedTime,omitempty"`
	Description    string   `json:"Description,omitempty"`
	Guidance       string   `json:"Guidance,omitempty"`
	ID             string   `json:"Id"`
	Name           string   `json:"Name,omitempty"`
	SourceRevision string   `json:"SourceRevision,omitempty"`
	Type           string   `json:"Type,omitempty"`
}

ProvisioningArtifactDetail is the ProvisioningArtifactDetail shape.

type ProvisioningArtifactOutput

type ProvisioningArtifactOutput struct {
	ProvisioningArtifactDetail *ProvisioningArtifactDetail `json:"ProvisioningArtifactDetail"`
	Info                       map[string]string           `json:"Info"`
	Status                     string                      `json:"Status"`
}

ProvisioningArtifactOutput is the response of artifact create and update operations.

type ProvisioningArtifactOutputWire

type ProvisioningArtifactOutputWire struct {
	Description string `json:"Description,omitempty"`
	Key         string `json:"Key"`
}

ProvisioningArtifactOutputWire is the ProvisioningArtifactOutput shape.

type ProvisioningArtifactParameter

type ProvisioningArtifactParameter struct {
	ParameterConstraints *ParameterConstraints `json:"ParameterConstraints,omitempty"`
	DefaultValue         string                `json:"DefaultValue,omitempty"`
	Description          string                `json:"Description,omitempty"`
	ParameterKey         string                `json:"ParameterKey"`
	ParameterType        string                `json:"ParameterType,omitempty"`
	IsNoEcho             bool                  `json:"IsNoEcho"`
}

ProvisioningArtifactParameter is the ProvisioningArtifactParameter shape.

type ProvisioningArtifactProperties

type ProvisioningArtifactProperties struct {
	Info                      map[string]string `json:"Info,omitempty"`
	Description               string            `json:"Description,omitempty"`
	Name                      string            `json:"Name,omitempty"`
	Type                      string            `json:"Type,omitempty"`
	DisableTemplateValidation bool              `json:"DisableTemplateValidation,omitempty"`
}

ProvisioningArtifactProperties is the ProvisioningArtifactProperties request shape.

type ProvisioningArtifactSummary

type ProvisioningArtifactSummary struct {
	CreatedTime                  *float64          `json:"CreatedTime,omitempty"`
	ProvisioningArtifactMetadata map[string]string `json:"ProvisioningArtifactMetadata,omitempty"`
	Description                  string            `json:"Description,omitempty"`
	ID                           string            `json:"Id"`
	Name                         string            `json:"Name,omitempty"`
}

ProvisioningArtifactSummary is the admin ProvisioningArtifactSummary shape.

type ProvisioningArtifactView

type ProvisioningArtifactView struct {
	ProductViewSummary   *ProductViewSummary   `json:"ProductViewSummary"`
	ProvisioningArtifact *ProvisioningArtifact `json:"ProvisioningArtifact"`
}

ProvisioningArtifactView is the ProvisioningArtifactView shape.

type ProvisioningParameter

type ProvisioningParameter struct {
	Key   string `json:"Key"`
	Value string `json:"Value"`
}

ProvisioningParameter is the ProvisioningParameter shape.

type Record

type Record struct {
	CreatedTime            time.Time         `json:"createdTime"`
	SettleAt               time.Time         `json:"settleAt"`
	Tags                   map[string]string `json:"tags,omitempty"`
	ID                     string            `json:"id"`
	AccountID              string            `json:"accountID"`
	Region                 string            `json:"region"`
	Type                   string            `json:"type"`
	FinalStatus            string            `json:"finalStatus"`
	ProvisionedProductID   string            `json:"provisionedProductID"`
	ProvisionedProductName string            `json:"provisionedProductName"`
	ProductID              string            `json:"productID"`
	ArtifactID             string            `json:"artifactID"`
	PathID                 string            `json:"pathID,omitempty"`
	LaunchRoleArn          string            `json:"launchRoleArn,omitempty"`
	WorkflowToken          string            `json:"workflowToken,omitempty"`
	Errors                 []RecordError     `json:"errors,omitempty"`
	Outputs                []Output          `json:"outputs,omitempty"`
	AwaitingEngine         bool              `json:"awaitingEngine,omitempty"`
}

Record tracks one provisioning operation.

type RecordDetail

type RecordDetail struct {
	CreatedTime            *float64          `json:"CreatedTime,omitempty"`
	UpdatedTime            *float64          `json:"UpdatedTime,omitempty"`
	ProvisionedProductName string            `json:"ProvisionedProductName,omitempty"`
	PathID                 string            `json:"PathId,omitempty"`
	ProductID              string            `json:"ProductId,omitempty"`
	ProvisionedProductID   string            `json:"ProvisionedProductId,omitempty"`
	LaunchRoleArn          string            `json:"LaunchRoleArn,omitempty"`
	ProvisionedProductType string            `json:"ProvisionedProductType,omitempty"`
	ProvisioningArtifactID string            `json:"ProvisioningArtifactId,omitempty"`
	RecordID               string            `json:"RecordId"`
	RecordType             string            `json:"RecordType"`
	Status                 string            `json:"Status"`
	RecordErrors           []RecordErrorWire `json:"RecordErrors,omitempty"`
	RecordTags             []RecordTag       `json:"RecordTags,omitempty"`
}

RecordDetail is the RecordDetail shape.

type RecordError

type RecordError struct {
	Code        string `json:"code"`
	Description string `json:"description"`
}

RecordError is an error attached to a failed record.

type RecordErrorWire

type RecordErrorWire struct {
	Code        string `json:"Code"`
	Description string `json:"Description"`
}

RecordErrorWire is the RecordError shape.

type RecordOutput

type RecordOutput struct {
	Description string `json:"Description,omitempty"`
	OutputKey   string `json:"OutputKey"`
	OutputValue string `json:"OutputValue"`
}

RecordOutput is the RecordOutput shape.

type RecordOutputDetail

type RecordOutputDetail struct {
	RecordDetail *RecordDetail `json:"RecordDetail"`
}

RecordOutputDetail is the response of operations that return only a RecordDetail.

type RecordTag

type RecordTag struct {
	Key   string `json:"Key"`
	Value string `json:"Value"`
}

RecordTag is the RecordTag shape.

type ResourceChange

type ResourceChange struct {
	Action             string   `json:"Action"`
	LogicalResourceID  string   `json:"LogicalResourceId"`
	PhysicalResourceID string   `json:"PhysicalResourceId,omitempty"`
	Replacement        string   `json:"Replacement,omitempty"`
	ResourceType       string   `json:"ResourceType"`
	Scope              []string `json:"Scope"`
	Details            []string `json:"Details"`
}

ResourceChange is the ResourceChange shape.

type ResourceDetail

type ResourceDetail struct {
	CreatedTime *float64 `json:"CreatedTime,omitempty"`
	ARN         string   `json:"ARN,omitempty"`
	Description string   `json:"Description,omitempty"`
	ID          string   `json:"Id"`
	Name        string   `json:"Name"`
}

ResourceDetail is the ResourceDetail shape.

type ScanProvisionedProductsInput

type ScanProvisionedProductsInput struct {
	AccessLevelFilter *AccessLevelFilter `json:"AccessLevelFilter,omitempty"`
	Paging
}

ScanProvisionedProductsInput is the ScanProvisionedProducts request.

type ScanProvisionedProductsOutput

type ScanProvisionedProductsOutput struct {
	NextPageToken       string                     `json:"NextPageToken,omitempty"`
	ProvisionedProducts []ProvisionedProductDetail `json:"ProvisionedProducts"`
}

ScanProvisionedProductsOutput is the ScanProvisionedProducts response.

type SearchProductsAsAdminInput

type SearchProductsAsAdminInput struct {
	PortfolioID   string `json:"PortfolioId,omitempty"`
	ProductSource string `json:"ProductSource,omitempty"`
	ProductFilters
}

SearchProductsAsAdminInput is the SearchProductsAsAdmin request.

type SearchProductsAsAdminOutput

type SearchProductsAsAdminOutput struct {
	NextPageToken      string               `json:"NextPageToken,omitempty"`
	ProductViewDetails []*ProductViewDetail `json:"ProductViewDetails"`
}

SearchProductsAsAdminOutput is the SearchProductsAsAdmin response.

type SearchProductsInput

type SearchProductsInput struct {
	ProductFilters
}

SearchProductsInput is the SearchProducts request.

type SearchProductsOutput

type SearchProductsOutput struct {
	ProductViewAggregations map[string][]ProductViewAggregationValue `json:"ProductViewAggregations"`
	NextPageToken           string                                   `json:"NextPageToken,omitempty"`
	ProductViewSummaries    []*ProductViewSummary                    `json:"ProductViewSummaries"`
}

SearchProductsOutput is the SearchProducts response.

type SearchProvisionedProductsInput

type SearchProvisionedProductsInput struct {
	AccessLevelFilter *AccessLevelFilter  `json:"AccessLevelFilter,omitempty"`
	Filters           map[string][]string `json:"Filters,omitempty"`
	SortBy            string              `json:"SortBy,omitempty"`
	SortOrder         string              `json:"SortOrder,omitempty"`
	Paging
}

SearchProvisionedProductsInput is the SearchProvisionedProducts request.

type SearchProvisionedProductsOutput

type SearchProvisionedProductsOutput struct {
	NextPageToken       string                        `json:"NextPageToken,omitempty"`
	ProvisionedProducts []ProvisionedProductAttribute `json:"ProvisionedProducts"`
	TotalResultsCount   int32                         `json:"TotalResultsCount"`
}

SearchProvisionedProductsOutput is the SearchProvisionedProducts response.

type ServiceAction

type ServiceAction struct {
	Definition  map[string]string `json:"definition"`
	ID          string            `json:"id"`
	AccountID   string            `json:"accountID"`
	Region      string            `json:"region"`
	Name        string            `json:"name"`
	Description string            `json:"description,omitempty"`
}

ServiceAction is an SSM-automation-backed action on provisioned products.

type ServiceActionAssociation

type ServiceActionAssociation struct {
	ProductID              string `json:"ProductId"`
	ProvisioningArtifactID string `json:"ProvisioningArtifactId"`
	ServiceActionID        string `json:"ServiceActionId"`
}

ServiceActionAssociation is the ServiceActionAssociation shape.

type ServiceActionDetail

type ServiceActionDetail struct {
	Definition           map[string]string     `json:"Definition,omitempty"`
	ServiceActionSummary *ServiceActionSummary `json:"ServiceActionSummary,omitempty"`
}

ServiceActionDetail is the ServiceActionDetail shape.

type ServiceActionLink struct {
	Key        string `json:"key"`
	ProductID  string `json:"productID"`
	ArtifactID string `json:"artifactID"`
	ActionID   string `json:"actionID"`
}

ServiceActionLink associates a service action with a provisioning artifact.

type ServiceActionOutput

type ServiceActionOutput struct {
	ServiceActionDetail *ServiceActionDetail `json:"ServiceActionDetail"`
}

ServiceActionOutput is the response of service action create, update and describe operations.

type ServiceActionSummary

type ServiceActionSummary struct {
	DefinitionType string `json:"DefinitionType,omitempty"`
	Description    string `json:"Description,omitempty"`
	ID             string `json:"Id"`
	Name           string `json:"Name"`
}

ServiceActionSummary is the ServiceActionSummary shape.

type Share

type Share struct {
	CreatedTime      time.Time `json:"createdTime"`
	Token            string    `json:"token,omitempty"`
	Key              string    `json:"key"`
	PortfolioID      string    `json:"portfolioID"`
	OwnerAccount     string    `json:"ownerAccount"`
	Region           string    `json:"region"`
	Type             string    `json:"type"`
	Recipient        string    `json:"recipient"`
	NodeType         string    `json:"nodeType,omitempty"`
	SuccessfulShares []string  `json:"successfulShares,omitempty"`
	SharePrincipals  bool      `json:"sharePrincipals"`
	ShareTagOptions  bool      `json:"shareTagOptions"`
	Accepted         bool      `json:"accepted"`
}

Share is a portfolio share to an account or organization node.

type ShareDetails

type ShareDetails struct {
	ShareErrors      []ShareError `json:"ShareErrors,omitempty"`
	SuccessfulShares []string     `json:"SuccessfulShares,omitempty"`
}

ShareDetails is the ShareDetails shape.

type ShareError

type ShareError struct {
	Error    string   `json:"Error,omitempty"`
	Message  string   `json:"Message,omitempty"`
	Accounts []string `json:"Accounts,omitempty"`
}

ShareError is the ShareError shape.

type ShareTarget

type ShareTarget struct {
	OrganizationNode *OrganizationNode `json:"OrganizationNode,omitempty"`
	AccountID        string            `json:"AccountId,omitempty"`
}

ShareTarget is the AccountId / OrganizationNode pair that names a share recipient.

type ShareTokenOutput

type ShareTokenOutput struct {
	PortfolioShareToken string `json:"PortfolioShareToken,omitempty"`
}

ShareTokenOutput is the CreatePortfolioShare and DeletePortfolioShare response.

type SourceConnection

type SourceConnection struct {
	Type          string `json:"type"`
	ConnectionArn string `json:"connectionArn,omitempty"`
	Repository    string `json:"repository,omitempty"`
	Branch        string `json:"branch,omitempty"`
	ArtifactPath  string `json:"artifactPath,omitempty"`
}

SourceConnection links a product to a CodeStar repository.

type SourceConnectionDetail

type SourceConnectionDetail struct {
	ConnectionParameters *SourceConnectionParameters `json:"ConnectionParameters,omitempty"`
	LastSync             *LastSync                   `json:"LastSync,omitempty"`
	Type                 string                      `json:"Type,omitempty"`
}

SourceConnectionDetail is the SourceConnectionDetail shape.

type SourceConnectionParameters

type SourceConnectionParameters struct {
	CodeStar *CodeStarParameters `json:"CodeStar,omitempty"`
}

SourceConnectionParameters is the SourceConnectionParameters shape.

type SourceConnectionRequest

type SourceConnectionRequest struct {
	ConnectionParameters *SourceConnectionParameters `json:"ConnectionParameters,omitempty"`
	Type                 string                      `json:"Type,omitempty"`
}

SourceConnectionRequest is the SourceConnection request shape.

type StackEngine

type StackEngine interface {
	FetchTemplate(ctx context.Context, url string) (string, error)
	StackTemplate(ctx context.Context, nameOrID string) (string, error)
	InspectTemplate(ctx context.Context, body string) (TemplateInfo, error)
	CreateStack(ctx context.Context, req StackRequest) (StackInfo, error)
	UpdateStack(ctx context.Context, req StackRequest) (StackInfo, error)
	DeleteStack(ctx context.Context, nameOrID string) error
	DescribeStack(ctx context.Context, nameOrID string) (StackInfo, error)
	StackResources(ctx context.Context, nameOrID string) ([]StackResource, error)
	CreateChangeSet(ctx context.Context, req StackRequest) (ChangeSetInfo, error)
	ExecuteChangeSet(ctx context.Context, stackName, changeSetName string) error
	DeleteChangeSet(ctx context.Context, stackName, changeSetName string) error
}

StackEngine provisions CloudFormation stacks for provisioned products.

type StackInfo

type StackInfo struct {
	ID      string
	Name    string
	Status  string
	Reason  string
	Outputs []Output
}

StackInfo is the engine's view of a stack.

type StackRequest

type StackRequest struct {
	Parameters       map[string]string
	Tags             map[string]string
	Name             string
	Template         string
	RoleARN          string
	ChangeSetName    string
	NotificationARNs []string
	Update           bool
}

StackRequest describes a stack to create, update or preview.

type StackResource

type StackResource struct {
	LogicalID  string
	PhysicalID string
	Type       string
}

StackResource identifies a resource of a stack.

type Tag

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

Tag is a key-value pair.

type TagOption

type TagOption struct {
	ID        string `json:"id"`
	AccountID string `json:"accountID"`
	Region    string `json:"region"`
	Key       string `json:"key"`
	Value     string `json:"value"`
	Active    bool   `json:"active"`
}

TagOption is a key-value pair offered to end users at launch.

type TagOptionDetail

type TagOptionDetail struct {
	Active *bool  `json:"Active,omitempty"`
	ID     string `json:"Id"`
	Key    string `json:"Key"`
	Owner  string `json:"Owner,omitempty"`
	Value  string `json:"Value"`
}

TagOptionDetail is the TagOptionDetail shape.

type TagOptionLink struct {
	Key         string `json:"key"`
	TagOptionID string `json:"tagOptionID"`
	ResourceID  string `json:"resourceID"`
}

TagOptionLink associates a tag option with a portfolio or product.

type TagOptionOutput

type TagOptionOutput struct {
	TagOptionDetail *TagOptionDetail `json:"TagOptionDetail"`
}

TagOptionOutput is the response of tag option create, update and describe operations.

type TagOptionResourceInput

type TagOptionResourceInput struct {
	ResourceID  string `json:"ResourceId"`
	TagOptionID string `json:"TagOptionId"`
}

TagOptionResourceInput is the AssociateTagOptionWithResource and DisassociateTagOptionFromResource request.

type TagOptionSummary

type TagOptionSummary struct {
	Key    string   `json:"Key"`
	Values []string `json:"Values"`
}

TagOptionSummary is the TagOptionSummary shape.

type TemplateInfo

type TemplateInfo struct {
	Parameters []TemplateParameter
	Outputs    []TemplateOutput
}

TemplateInfo is the validated shape of a CloudFormation template.

type TemplateOutput

type TemplateOutput struct {
	Key         string
	Description string
}

TemplateOutput is an output declared by a CloudFormation template.

type TemplateParameter

type TemplateParameter struct {
	Key                   string
	Type                  string
	Default               string
	Description           string
	ConstraintDescription string
	AllowedPattern        string
	AllowedValues         []string
	NoEcho                bool
}

TemplateParameter is a parameter declared by a CloudFormation template.

type TerminateProvisionedProductInput

type TerminateProvisionedProductInput struct {
	TerminateToken          string `json:"TerminateToken"`
	ProvisionedProductID    string `json:"ProvisionedProductId,omitempty"`
	ProvisionedProductName  string `json:"ProvisionedProductName,omitempty"`
	IgnoreErrors            bool   `json:"IgnoreErrors,omitempty"`
	RetainPhysicalResources bool   `json:"RetainPhysicalResources,omitempty"`
}

TerminateProvisionedProductInput is the TerminateProvisionedProduct request.

type UpdateConstraintInput

type UpdateConstraintInput struct {
	Description *string `json:"Description,omitempty"`
	ID          string  `json:"Id"`
	Parameters  string  `json:"Parameters,omitempty"`
}

UpdateConstraintInput is the UpdateConstraint request.

type UpdatePortfolioInput

type UpdatePortfolioInput struct {
	ID           string   `json:"Id"`
	DisplayName  string   `json:"DisplayName,omitempty"`
	Description  *string  `json:"Description,omitempty"`
	ProviderName string   `json:"ProviderName,omitempty"`
	AddTags      []Tag    `json:"AddTags,omitempty"`
	RemoveTags   []string `json:"RemoveTags,omitempty"`
}

UpdatePortfolioInput is the UpdatePortfolio request.

type UpdatePortfolioShareInput

type UpdatePortfolioShareInput struct {
	ShareTarget
	ShareTagOptions *bool  `json:"ShareTagOptions,omitempty"`
	SharePrincipals *bool  `json:"SharePrincipals,omitempty"`
	PortfolioID     string `json:"PortfolioId"`
}

UpdatePortfolioShareInput is the UpdatePortfolioShare request.

type UpdatePortfolioShareOutput

type UpdatePortfolioShareOutput struct {
	PortfolioShareToken string `json:"PortfolioShareToken,omitempty"`
	Status              string `json:"Status"`
}

UpdatePortfolioShareOutput is the UpdatePortfolioShare response.

type UpdateProductInput

type UpdateProductInput struct {
	SourceConnection   *SourceConnectionRequest `json:"SourceConnection,omitempty"`
	Description        *string                  `json:"Description,omitempty"`
	Distributor        *string                  `json:"Distributor,omitempty"`
	SupportDescription *string                  `json:"SupportDescription,omitempty"`
	SupportEmail       *string                  `json:"SupportEmail,omitempty"`
	SupportURL         *string                  `json:"SupportUrl,omitempty"`
	ID                 string                   `json:"Id"`
	Name               string                   `json:"Name,omitempty"`
	Owner              string                   `json:"Owner,omitempty"`
	AddTags            []Tag                    `json:"AddTags,omitempty"`
	RemoveTags         []string                 `json:"RemoveTags,omitempty"`
}

UpdateProductInput is the UpdateProduct request.

type UpdateProductOutput

type UpdateProductOutput struct {
	ProductViewDetail *ProductViewDetail `json:"ProductViewDetail"`
	Tags              []Tag              `json:"Tags,omitempty"`
}

UpdateProductOutput is the UpdateProduct response.

type UpdateProvisionedProductInput

type UpdateProvisionedProductInput struct {
	ProvisioningPreferences  map[string]any                `json:"ProvisioningPreferences,omitempty"`
	UpdateToken              string                        `json:"UpdateToken"`
	ProvisionedProductID     string                        `json:"ProvisionedProductId,omitempty"`
	ProvisionedProductName   string                        `json:"ProvisionedProductName,omitempty"`
	PathID                   string                        `json:"PathId,omitempty"`
	PathName                 string                        `json:"PathName,omitempty"`
	ProductID                string                        `json:"ProductId,omitempty"`
	ProductName              string                        `json:"ProductName,omitempty"`
	ProvisioningArtifactID   string                        `json:"ProvisioningArtifactId,omitempty"`
	ProvisioningArtifactName string                        `json:"ProvisioningArtifactName,omitempty"`
	ProvisioningParameters   []UpdateProvisioningParameter `json:"ProvisioningParameters,omitempty"`
	Tags                     []Tag                         `json:"Tags,omitempty"`
}

UpdateProvisionedProductInput is the UpdateProvisionedProduct request.

type UpdateProvisionedProductPropertiesInput

type UpdateProvisionedProductPropertiesInput struct {
	ProvisionedProductProperties map[string]string `json:"ProvisionedProductProperties"`
	IdempotencyToken             string            `json:"IdempotencyToken"`
	ProvisionedProductID         string            `json:"ProvisionedProductId"`
}

UpdateProvisionedProductPropertiesInput is the UpdateProvisionedProductProperties request.

type UpdateProvisionedProductPropertiesOutput

type UpdateProvisionedProductPropertiesOutput struct {
	ProvisionedProductProperties map[string]string `json:"ProvisionedProductProperties"`
	ProvisionedProductID         string            `json:"ProvisionedProductId"`
	RecordID                     string            `json:"RecordId"`
	Status                       string            `json:"Status"`
}

UpdateProvisionedProductPropertiesOutput is the UpdateProvisionedProductProperties response.

type UpdateProvisioningArtifactInput

type UpdateProvisioningArtifactInput struct {
	Active                 *bool   `json:"Active,omitempty"`
	Description            *string `json:"Description,omitempty"`
	ProductID              string  `json:"ProductId"`
	ProvisioningArtifactID string  `json:"ProvisioningArtifactId"`
	Name                   string  `json:"Name,omitempty"`
	Guidance               string  `json:"Guidance,omitempty"`
}

UpdateProvisioningArtifactInput is the UpdateProvisioningArtifact request.

type UpdateProvisioningParameter

type UpdateProvisioningParameter struct {
	Key              string `json:"Key"`
	Value            string `json:"Value,omitempty"`
	UsePreviousValue bool   `json:"UsePreviousValue,omitempty"`
}

UpdateProvisioningParameter is the UpdateProvisioningParameter shape.

type UpdateServiceActionInput

type UpdateServiceActionInput struct {
	Definition  map[string]string `json:"Definition,omitempty"`
	Description *string           `json:"Description,omitempty"`
	ID          string            `json:"Id"`
	Name        string            `json:"Name,omitempty"`
}

UpdateServiceActionInput is the UpdateServiceAction request.

type UpdateTagOptionInput

type UpdateTagOptionInput struct {
	Active *bool  `json:"Active,omitempty"`
	ID     string `json:"Id"`
	Value  string `json:"Value,omitempty"`
}

UpdateTagOptionInput is the UpdateTagOption request.

type UsageInstruction

type UsageInstruction struct {
	Type  string `json:"Type"`
	Value string `json:"Value"`
}

UsageInstruction is the UsageInstruction shape.

Jump to

Keyboard shortcuts

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