Documentation
¶
Overview ¶
Package appsync provides AWS AppSync service emulation for kumo.
Index ¶
- Constants
- type APIData
- type AWSIAMConfig
- type AuthenticationProvider
- type AuthorizationConfig
- type CachingConfig
- type CreateDataSourceInput
- type CreateDataSourceOutput
- type CreateGraphqlAPIInput
- type CreateGraphqlAPIOutput
- type CreateResolverInput
- type CreateResolverOutput
- type DataSource
- type DeleteGraphqlAPIInput
- type DeltaSyncConfig
- type DynamoDBConfig
- type ElasticsearchConfig
- type EnhancedMetricsConfig
- type Error
- type ErrorResponse
- type EventBridgeConfig
- type GetGraphqlAPIInput
- type GetGraphqlAPIOutput
- type GraphqlAPI
- type HTTPConfig
- type LambdaAuthorizerConfig
- type LambdaConfig
- type LambdaConflictHandlerConfig
- type ListGraphqlAPIsInput
- type ListGraphqlAPIsOutput
- type LogConfig
- type MemoryStorage
- func (s *MemoryStorage) Close() error
- func (s *MemoryStorage) CreateDataSource(_ context.Context, input *CreateDataSourceInput) (*DataSource, error)
- func (s *MemoryStorage) CreateGraphqlAPI(_ context.Context, input *CreateGraphqlAPIInput) (*GraphqlAPI, error)
- func (s *MemoryStorage) CreateResolver(_ context.Context, input *CreateResolverInput) (*Resolver, error)
- func (s *MemoryStorage) DeleteGraphqlAPI(_ context.Context, apiID string) error
- func (s *MemoryStorage) GetGraphqlAPI(_ context.Context, apiID string) (*GraphqlAPI, error)
- func (s *MemoryStorage) ListGraphqlAPIs(_ context.Context, input *ListGraphqlAPIsInput) ([]GraphqlAPI, string, error)
- func (s *MemoryStorage) MarshalJSON() ([]byte, error)
- func (s *MemoryStorage) StartSchemaCreation(_ context.Context, apiID string, _ []byte) (*SchemaCreationStatus, error)
- func (s *MemoryStorage) UnmarshalJSON(data []byte) error
- type OpenIDConnectConfig
- type OpenSearchServiceConfig
- type Option
- type PipelineConfig
- type RDSHTTPEndpointConfig
- type RelationalDatabaseConfig
- type Resolver
- type RuntimeConfig
- type SchemaCreationStatus
- type Service
- func (s *Service) Close() error
- func (s *Service) CreateDataSource(w http.ResponseWriter, r *http.Request)
- func (s *Service) CreateGraphqlAPI(w http.ResponseWriter, r *http.Request)
- func (s *Service) CreateResolver(w http.ResponseWriter, r *http.Request)
- func (s *Service) DeleteGraphqlAPI(w http.ResponseWriter, r *http.Request)
- func (s *Service) GetGraphqlAPI(w http.ResponseWriter, r *http.Request)
- func (s *Service) ListGraphqlAPIs(w http.ResponseWriter, r *http.Request)
- func (s *Service) Name() string
- func (s *Service) RegisterRoutes(r service.Router)
- func (s *Service) StartSchemaCreation(w http.ResponseWriter, r *http.Request)
- type StartSchemaCreationInput
- type StartSchemaCreationOutput
- type Storage
- type SyncConfig
- type UserPoolConfig
Constants ¶
const ( AuthTypeAPIKey = "API_KEY" AuthTypeAWSIAM = "AWS_IAM" AuthTypeCognitoUserPools = "AMAZON_COGNITO_USER_POOLS" AuthTypeOpenIDConnect = "OPENID_CONNECT" AuthTypeAWSLambda = "AWS_LAMBDA" )
Authentication types.
const ( DataSourceTypeAWSDynamoDB = "AMAZON_DYNAMODB" DataSourceTypeAWSLambda = "AWS_LAMBDA" DataSourceTypeElasticsearch = "AMAZON_ELASTICSEARCH" DataSourceTypeOpenSearch = "AMAZON_OPENSEARCH_SERVICE" DataSourceTypeHTTP = "HTTP" DataSourceTypeNone = "NONE" DataSourceTypeRelationalDB = "RELATIONAL_DATABASE" DataSourceTypeEventBridge = "AMAZON_EVENTBRIDGE" )
Data source types.
const ( SchemaStatusProcessing = "PROCESSING" SchemaStatusActive = "ACTIVE" SchemaStatusDeleting = "DELETING" SchemaStatusFailed = "FAILED" SchemaStatusSuccess = "SUCCESS" SchemaStatusNotApplicable = "NOT_APPLICABLE" )
Schema status.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type APIData ¶ added in v0.6.0
type APIData struct {
API *GraphqlAPI `json:"api"`
DataSources map[string]*DataSource `json:"dataSources"` // key: name
Resolvers map[string]*Resolver `json:"resolvers"` // key: typeName:fieldName
Schema *SchemaCreationStatus `json:"schema"`
}
APIData holds all data associated with a GraphQL API.
type AWSIAMConfig ¶
type AWSIAMConfig struct {
SigningRegion string `json:"signingRegion,omitempty"`
SigningServiceName string `json:"signingServiceName,omitempty"`
}
AWSIAMConfig represents AWS IAM configuration.
type AuthenticationProvider ¶
type AuthenticationProvider struct {
AuthenticationType string `json:"authenticationType,omitempty"`
OpenIDConnectConfig *OpenIDConnectConfig `json:"openIDConnectConfig,omitempty"`
UserPoolConfig *UserPoolConfig `json:"userPoolConfig,omitempty"`
LambdaAuthorizerConfig *LambdaAuthorizerConfig `json:"lambdaAuthorizerConfig,omitempty"`
}
AuthenticationProvider represents an additional authentication provider.
type AuthorizationConfig ¶
type AuthorizationConfig struct {
AuthorizationType string `json:"authorizationType,omitempty"`
AWSIAMConfig *AWSIAMConfig `json:"awsIamConfig,omitempty"`
}
AuthorizationConfig represents authorization configuration for HTTP endpoints.
type CachingConfig ¶
type CachingConfig struct {
TTL int64 `json:"ttl,omitempty"`
CachingKeys []string `json:"cachingKeys,omitempty"`
}
CachingConfig represents caching configuration.
type CreateDataSourceInput ¶
type CreateDataSourceInput struct {
APIID string `json:"apiId"`
Name string `json:"name"`
Description string `json:"description,omitempty"`
Type string `json:"type"`
ServiceRoleARN string `json:"serviceRoleArn,omitempty"`
DynamoDBConfig *DynamoDBConfig `json:"dynamodbConfig,omitempty"`
LambdaConfig *LambdaConfig `json:"lambdaConfig,omitempty"`
ElasticsearchConfig *ElasticsearchConfig `json:"elasticsearchConfig,omitempty"`
OpenSearchServiceConfig *OpenSearchServiceConfig `json:"openSearchServiceConfig,omitempty"`
HTTPConfig *HTTPConfig `json:"httpConfig,omitempty"`
RelationalDatabaseConfig *RelationalDatabaseConfig `json:"relationalDatabaseConfig,omitempty"`
EventBridgeConfig *EventBridgeConfig `json:"eventBridgeConfig,omitempty"`
MetricsConfig string `json:"metricsConfig,omitempty"`
}
CreateDataSourceInput is the request for CreateDataSource.
type CreateDataSourceOutput ¶
type CreateDataSourceOutput struct {
DataSource *DataSource `json:"dataSource,omitempty"`
}
CreateDataSourceOutput is the response for CreateDataSource.
type CreateGraphqlAPIInput ¶
type CreateGraphqlAPIInput struct {
Name string `json:"name"`
AuthenticationType string `json:"authenticationType"`
LogConfig *LogConfig `json:"logConfig,omitempty"`
UserPoolConfig *UserPoolConfig `json:"userPoolConfig,omitempty"`
OpenIDConnectConfig *OpenIDConnectConfig `json:"openIDConnectConfig,omitempty"`
Tags map[string]string `json:"tags,omitempty"`
AdditionalAuthenticationProviders []AuthenticationProvider `json:"additionalAuthenticationProviders,omitempty"`
XrayEnabled bool `json:"xrayEnabled,omitempty"`
LambdaAuthorizerConfig *LambdaAuthorizerConfig `json:"lambdaAuthorizerConfig,omitempty"`
Visibility string `json:"visibility,omitempty"`
APIType string `json:"apiType,omitempty"`
MergedAPIExecutionRoleARN string `json:"mergedApiExecutionRoleArn,omitempty"`
OwnerContact string `json:"ownerContact,omitempty"`
IntrospectionConfig string `json:"introspectionConfig,omitempty"`
QueryDepthLimit int32 `json:"queryDepthLimit,omitempty"`
ResolverCountLimit int32 `json:"resolverCountLimit,omitempty"`
EnhancedMetricsConfig *EnhancedMetricsConfig `json:"enhancedMetricsConfig,omitempty"`
}
CreateGraphqlAPIInput is the request for CreateGraphqlApi.
type CreateGraphqlAPIOutput ¶
type CreateGraphqlAPIOutput struct {
GraphqlAPI *GraphqlAPI `json:"graphqlApi,omitempty"`
}
CreateGraphqlAPIOutput is the response for CreateGraphqlApi.
type CreateResolverInput ¶
type CreateResolverInput struct {
APIID string `json:"apiId"`
TypeName string `json:"typeName"`
FieldName string `json:"fieldName"`
DataSourceName string `json:"dataSourceName,omitempty"`
RequestMappingTemplate string `json:"requestMappingTemplate,omitempty"`
ResponseMappingTemplate string `json:"responseMappingTemplate,omitempty"`
Kind string `json:"kind,omitempty"`
PipelineConfig *PipelineConfig `json:"pipelineConfig,omitempty"`
SyncConfig *SyncConfig `json:"syncConfig,omitempty"`
CachingConfig *CachingConfig `json:"cachingConfig,omitempty"`
MaxBatchSize int32 `json:"maxBatchSize,omitempty"`
Runtime *RuntimeConfig `json:"runtime,omitempty"`
Code string `json:"code,omitempty"`
MetricsConfig string `json:"metricsConfig,omitempty"`
}
CreateResolverInput is the request for CreateResolver.
type CreateResolverOutput ¶
type CreateResolverOutput struct {
Resolver *Resolver `json:"resolver,omitempty"`
}
CreateResolverOutput is the response for CreateResolver.
type DataSource ¶
type DataSource struct {
DataSourceARN string `json:"dataSourceArn,omitempty"`
Name string `json:"name,omitempty"`
Description string `json:"description,omitempty"`
Type string `json:"type,omitempty"`
ServiceRoleARN string `json:"serviceRoleArn,omitempty"`
DynamoDBConfig *DynamoDBConfig `json:"dynamodbConfig,omitempty"`
LambdaConfig *LambdaConfig `json:"lambdaConfig,omitempty"`
ElasticsearchConfig *ElasticsearchConfig `json:"elasticsearchConfig,omitempty"`
OpenSearchServiceConfig *OpenSearchServiceConfig `json:"openSearchServiceConfig,omitempty"`
HTTPConfig *HTTPConfig `json:"httpConfig,omitempty"`
RelationalDatabaseConfig *RelationalDatabaseConfig `json:"relationalDatabaseConfig,omitempty"`
EventBridgeConfig *EventBridgeConfig `json:"eventBridgeConfig,omitempty"`
MetricsConfig string `json:"metricsConfig,omitempty"`
}
DataSource represents an AppSync data source.
type DeleteGraphqlAPIInput ¶
type DeleteGraphqlAPIInput struct {
APIID string `json:"apiId"`
}
DeleteGraphqlAPIInput is the request for DeleteGraphqlApi.
type DeltaSyncConfig ¶
type DeltaSyncConfig struct {
BaseTableTTL int64 `json:"baseTableTTL,omitempty"`
DeltaSyncTableName string `json:"deltaSyncTableName,omitempty"`
DeltaSyncTableTTL int64 `json:"deltaSyncTableTTL,omitempty"`
}
DeltaSyncConfig represents delta sync configuration.
type DynamoDBConfig ¶
type DynamoDBConfig struct {
TableName string `json:"tableName,omitempty"`
AWSRegion string `json:"awsRegion,omitempty"`
UseCallerCredentials bool `json:"useCallerCredentials,omitempty"`
DeltaSyncConfig *DeltaSyncConfig `json:"deltaSyncConfig,omitempty"`
Versioned bool `json:"versioned,omitempty"`
}
DynamoDBConfig represents DynamoDB data source configuration.
type ElasticsearchConfig ¶
type ElasticsearchConfig struct {
Endpoint string `json:"endpoint,omitempty"`
AWSRegion string `json:"awsRegion,omitempty"`
}
ElasticsearchConfig represents Elasticsearch data source configuration.
type EnhancedMetricsConfig ¶
type EnhancedMetricsConfig struct {
ResolverLevelMetricsBehavior string `json:"resolverLevelMetricsBehavior,omitempty"`
DataSourceLevelMetricsBehavior string `json:"dataSourceLevelMetricsBehavior,omitempty"`
OperationLevelMetricsConfig string `json:"operationLevelMetricsConfig,omitempty"`
}
EnhancedMetricsConfig represents enhanced metrics configuration.
type ErrorResponse ¶
ErrorResponse represents an AppSync error response.
type EventBridgeConfig ¶
type EventBridgeConfig struct {
EventBusARN string `json:"eventBusArn,omitempty"`
}
EventBridgeConfig represents EventBridge data source configuration.
type GetGraphqlAPIInput ¶
type GetGraphqlAPIInput struct {
APIID string `json:"apiId"`
}
GetGraphqlAPIInput is the request for GetGraphqlApi.
type GetGraphqlAPIOutput ¶
type GetGraphqlAPIOutput struct {
GraphqlAPI *GraphqlAPI `json:"graphqlApi,omitempty"`
}
GetGraphqlAPIOutput is the response for GetGraphqlApi.
type GraphqlAPI ¶
type GraphqlAPI struct {
APIId string `json:"apiId,omitempty"`
Name string `json:"name,omitempty"`
AuthenticationType string `json:"authenticationType,omitempty"`
LogConfig *LogConfig `json:"logConfig,omitempty"`
UserPoolConfig *UserPoolConfig `json:"userPoolConfig,omitempty"`
OpenIDConnectConfig *OpenIDConnectConfig `json:"openIDConnectConfig,omitempty"`
ARN string `json:"arn,omitempty"`
URIs map[string]string `json:"uris,omitempty"`
Tags map[string]string `json:"tags,omitempty"`
AdditionalAuthenticationProviders []AuthenticationProvider `json:"additionalAuthenticationProviders,omitempty"`
XrayEnabled bool `json:"xrayEnabled,omitempty"`
WafWebACLARN string `json:"wafWebAclArn,omitempty"`
LambdaAuthorizerConfig *LambdaAuthorizerConfig `json:"lambdaAuthorizerConfig,omitempty"`
DNSMap map[string]string `json:"dns,omitempty"`
Visibility string `json:"visibility,omitempty"`
APIType string `json:"apiType,omitempty"`
MergedAPIExecutionRoleARN string `json:"mergedApiExecutionRoleArn,omitempty"`
Owner string `json:"owner,omitempty"`
OwnerContact string `json:"ownerContact,omitempty"`
IntrospectionConfig string `json:"introspectionConfig,omitempty"`
QueryDepthLimit int32 `json:"queryDepthLimit,omitempty"`
ResolverCountLimit int32 `json:"resolverCountLimit,omitempty"`
EnhancedMetricsConfig *EnhancedMetricsConfig `json:"enhancedMetricsConfig,omitempty"`
}
GraphqlAPI represents an AWS AppSync GraphQL API.
type HTTPConfig ¶
type HTTPConfig struct {
Endpoint string `json:"endpoint,omitempty"`
AuthorizationConfig *AuthorizationConfig `json:"authorizationConfig,omitempty"`
}
HTTPConfig represents HTTP data source configuration.
type LambdaAuthorizerConfig ¶
type LambdaAuthorizerConfig struct {
AuthorizerResultTTLInSeconds int32 `json:"authorizerResultTtlInSeconds,omitempty"`
AuthorizerURI string `json:"authorizerUri,omitempty"`
IdentityValidationExpression string `json:"identityValidationExpression,omitempty"`
}
LambdaAuthorizerConfig represents Lambda authorizer configuration.
type LambdaConfig ¶
type LambdaConfig struct {
LambdaFunctionARN string `json:"lambdaFunctionArn,omitempty"`
}
LambdaConfig represents Lambda data source configuration.
type LambdaConflictHandlerConfig ¶
type LambdaConflictHandlerConfig struct {
LambdaConflictHandlerARN string `json:"lambdaConflictHandlerArn,omitempty"`
}
LambdaConflictHandlerConfig represents Lambda conflict handler configuration.
type ListGraphqlAPIsInput ¶
type ListGraphqlAPIsInput struct {
NextToken string `json:"nextToken,omitempty"`
MaxResults int32 `json:"maxResults,omitempty"`
APIType string `json:"apiType,omitempty"`
Owner string `json:"owner,omitempty"`
}
ListGraphqlAPIsInput is the request for ListGraphqlApis.
type ListGraphqlAPIsOutput ¶
type ListGraphqlAPIsOutput struct {
GraphqlAPIs []GraphqlAPI `json:"graphqlApis,omitempty"`
NextToken string `json:"nextToken,omitempty"`
}
ListGraphqlAPIsOutput is the response for ListGraphqlApis.
type LogConfig ¶
type LogConfig struct {
FieldLogLevel string `json:"fieldLogLevel,omitempty"`
CloudWatchLogsRoleARN string `json:"cloudWatchLogsRoleArn,omitempty"`
ExcludeVerboseContent bool `json:"excludeVerboseContent,omitempty"`
}
LogConfig represents logging configuration.
type MemoryStorage ¶
type MemoryStorage struct {
APIs map[string]*APIData `json:"apis"` // key: apiID
// contains filtered or unexported fields
}
MemoryStorage implements Storage with in-memory data structures.
func NewMemoryStorage ¶
func NewMemoryStorage(opts ...Option) *MemoryStorage
NewMemoryStorage creates a new in-memory storage.
func (*MemoryStorage) Close ¶ added in v0.6.0
func (s *MemoryStorage) Close() error
Close saves the storage state to disk if persistence is enabled.
func (*MemoryStorage) CreateDataSource ¶
func (s *MemoryStorage) CreateDataSource(_ context.Context, input *CreateDataSourceInput) (*DataSource, error)
CreateDataSource creates a new data source for a GraphQL API.
func (*MemoryStorage) CreateGraphqlAPI ¶
func (s *MemoryStorage) CreateGraphqlAPI(_ context.Context, input *CreateGraphqlAPIInput) (*GraphqlAPI, error)
CreateGraphqlAPI creates a new GraphQL API.
func (*MemoryStorage) CreateResolver ¶
func (s *MemoryStorage) CreateResolver(_ context.Context, input *CreateResolverInput) (*Resolver, error)
CreateResolver creates a new resolver for a GraphQL API.
func (*MemoryStorage) DeleteGraphqlAPI ¶
func (s *MemoryStorage) DeleteGraphqlAPI(_ context.Context, apiID string) error
DeleteGraphqlAPI deletes a GraphQL API.
func (*MemoryStorage) GetGraphqlAPI ¶
func (s *MemoryStorage) GetGraphqlAPI(_ context.Context, apiID string) (*GraphqlAPI, error)
GetGraphqlAPI retrieves a GraphQL API.
func (*MemoryStorage) ListGraphqlAPIs ¶
func (s *MemoryStorage) ListGraphqlAPIs(_ context.Context, input *ListGraphqlAPIsInput) ([]GraphqlAPI, string, error)
ListGraphqlAPIs lists all GraphQL APIs with pagination support.
func (*MemoryStorage) MarshalJSON ¶ added in v0.6.0
func (s *MemoryStorage) MarshalJSON() ([]byte, error)
MarshalJSON serializes the storage state to JSON.
func (*MemoryStorage) StartSchemaCreation ¶
func (s *MemoryStorage) StartSchemaCreation(_ context.Context, apiID string, _ []byte) (*SchemaCreationStatus, error)
StartSchemaCreation starts schema creation for a GraphQL API.
func (*MemoryStorage) UnmarshalJSON ¶ added in v0.6.0
func (s *MemoryStorage) UnmarshalJSON(data []byte) error
UnmarshalJSON restores the storage state from JSON.
type OpenIDConnectConfig ¶
type OpenIDConnectConfig struct {
Issuer string `json:"issuer,omitempty"`
ClientID string `json:"clientId,omitempty"`
IATTTL int64 `json:"iatTTL,omitempty"`
AuthTTL int64 `json:"authTTL,omitempty"`
}
OpenIDConnectConfig represents OpenID Connect configuration.
type OpenSearchServiceConfig ¶
type OpenSearchServiceConfig struct {
Endpoint string `json:"endpoint,omitempty"`
AWSRegion string `json:"awsRegion,omitempty"`
}
OpenSearchServiceConfig represents OpenSearch data source configuration.
type Option ¶ added in v0.6.0
type Option func(*MemoryStorage)
Option is a configuration option for MemoryStorage.
func WithDataDir ¶ added in v0.6.0
WithDataDir enables persistent storage in the specified directory.
type PipelineConfig ¶
type PipelineConfig struct {
Functions []string `json:"functions,omitempty"`
}
PipelineConfig represents pipeline resolver configuration.
type RDSHTTPEndpointConfig ¶
type RDSHTTPEndpointConfig struct {
AWSRegion string `json:"awsRegion,omitempty"`
DBClusterIdentifier string `json:"dbClusterIdentifier,omitempty"`
DatabaseName string `json:"databaseName,omitempty"`
Schema string `json:"schema,omitempty"`
AWSSecretStoreARN string `json:"awsSecretStoreArn,omitempty"`
}
RDSHTTPEndpointConfig represents RDS HTTP endpoint configuration.
type RelationalDatabaseConfig ¶
type RelationalDatabaseConfig struct {
RelationalDatabaseSourceType string `json:"relationalDatabaseSourceType,omitempty"`
RDSHTTPEndpointConfig *RDSHTTPEndpointConfig `json:"rdsHttpEndpointConfig,omitempty"`
}
RelationalDatabaseConfig represents relational database configuration.
type Resolver ¶
type Resolver struct {
TypeName string `json:"typeName,omitempty"`
FieldName string `json:"fieldName,omitempty"`
DataSourceName string `json:"dataSourceName,omitempty"`
ResolverARN string `json:"resolverArn,omitempty"`
RequestMappingTemplate string `json:"requestMappingTemplate,omitempty"`
ResponseMappingTemplate string `json:"responseMappingTemplate,omitempty"`
Kind string `json:"kind,omitempty"`
PipelineConfig *PipelineConfig `json:"pipelineConfig,omitempty"`
SyncConfig *SyncConfig `json:"syncConfig,omitempty"`
CachingConfig *CachingConfig `json:"cachingConfig,omitempty"`
MaxBatchSize int32 `json:"maxBatchSize,omitempty"`
Runtime *RuntimeConfig `json:"runtime,omitempty"`
Code string `json:"code,omitempty"`
MetricsConfig string `json:"metricsConfig,omitempty"`
}
Resolver represents an AppSync resolver.
type RuntimeConfig ¶
type RuntimeConfig struct {
Name string `json:"name,omitempty"`
RuntimeVersion string `json:"runtimeVersion,omitempty"`
}
RuntimeConfig represents resolver runtime configuration.
type SchemaCreationStatus ¶
type SchemaCreationStatus struct {
Status string `json:"status,omitempty"`
Details string `json:"details,omitempty"`
}
SchemaCreationStatus represents schema creation status.
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
Service implements the AppSync service.
func (*Service) CreateDataSource ¶
func (s *Service) CreateDataSource(w http.ResponseWriter, r *http.Request)
CreateDataSource handles the CreateDataSource operation.
func (*Service) CreateGraphqlAPI ¶
func (s *Service) CreateGraphqlAPI(w http.ResponseWriter, r *http.Request)
CreateGraphqlAPI handles the CreateGraphqlAPI operation.
func (*Service) CreateResolver ¶
func (s *Service) CreateResolver(w http.ResponseWriter, r *http.Request)
CreateResolver handles the CreateResolver operation.
func (*Service) DeleteGraphqlAPI ¶
func (s *Service) DeleteGraphqlAPI(w http.ResponseWriter, r *http.Request)
DeleteGraphqlAPI handles the DeleteGraphqlAPI operation.
func (*Service) GetGraphqlAPI ¶
func (s *Service) GetGraphqlAPI(w http.ResponseWriter, r *http.Request)
GetGraphqlAPI handles the GetGraphqlAPI operation.
func (*Service) ListGraphqlAPIs ¶
func (s *Service) ListGraphqlAPIs(w http.ResponseWriter, r *http.Request)
ListGraphqlAPIs handles the ListGraphqlAPIs operation.
func (*Service) RegisterRoutes ¶
RegisterRoutes registers the AppSync routes. AppSync uses REST API protocol with /v1 prefix. Note: Routes use /appsync prefix for internal routing to avoid S3 conflicts.
func (*Service) StartSchemaCreation ¶
func (s *Service) StartSchemaCreation(w http.ResponseWriter, r *http.Request)
StartSchemaCreation handles the StartSchemaCreation operation.
type StartSchemaCreationInput ¶
type StartSchemaCreationInput struct {
APIID string `json:"apiId"`
Definition []byte `json:"definition"`
}
StartSchemaCreationInput is the request for StartSchemaCreation.
type StartSchemaCreationOutput ¶
type StartSchemaCreationOutput struct {
Status string `json:"status,omitempty"`
}
StartSchemaCreationOutput is the response for StartSchemaCreation.
type Storage ¶
type Storage interface {
CreateGraphqlAPI(ctx context.Context, input *CreateGraphqlAPIInput) (*GraphqlAPI, error)
DeleteGraphqlAPI(ctx context.Context, apiID string) error
GetGraphqlAPI(ctx context.Context, apiID string) (*GraphqlAPI, error)
ListGraphqlAPIs(ctx context.Context, input *ListGraphqlAPIsInput) ([]GraphqlAPI, string, error)
CreateDataSource(ctx context.Context, input *CreateDataSourceInput) (*DataSource, error)
CreateResolver(ctx context.Context, input *CreateResolverInput) (*Resolver, error)
StartSchemaCreation(ctx context.Context, apiID string, definition []byte) (*SchemaCreationStatus, error)
}
Storage defines the interface for AppSync storage operations.
type SyncConfig ¶
type SyncConfig struct {
ConflictHandler string `json:"conflictHandler,omitempty"`
ConflictDetection string `json:"conflictDetection,omitempty"`
LambdaConflictHandlerConfig *LambdaConflictHandlerConfig `json:"lambdaConflictHandlerConfig,omitempty"`
}
SyncConfig represents sync configuration for resolvers.
type UserPoolConfig ¶
type UserPoolConfig struct {
UserPoolID string `json:"userPoolId,omitempty"`
AWSRegion string `json:"awsRegion,omitempty"`
DefaultAction string `json:"defaultAction,omitempty"`
AppIDClientRegex string `json:"appIdClientRegex,omitempty"`
}
UserPoolConfig represents Cognito User Pool configuration.