Class: Aws::AppSync::Client

Inherits:
Seahorse::Client::Base
  • Object
show all
Includes:
ClientStubs
Defined in:
lib/aws-sdk-appsync/client.rb

Overview

An API client for AppSync. To construct a client, you need to configure a ‘:region` and `:credentials`.

client = Aws::AppSync::Client.new(
  region: region_name,
  credentials: credentials,
  # ...
)

For details on configuring region and credentials see the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).

See #initialize for a full list of supported configuration options.

Class Attribute Summary collapse

API Operations collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ Client

Returns a new instance of Client.

Parameters:

  • options (Hash)

Options Hash (options):

  • :plugins (Array<Seahorse::Client::Plugin>) — default: []]

    A list of plugins to apply to the client. Each plugin is either a class name or an instance of a plugin class.

  • :credentials (required, Aws::CredentialProvider)

    Your AWS credentials. This can be an instance of any one of the following classes:

    • ‘Aws::Credentials` - Used for configuring static, non-refreshing credentials.

    • ‘Aws::SharedCredentials` - Used for loading static credentials from a shared file, such as `~/.aws/config`.

    • ‘Aws::AssumeRoleCredentials` - Used when you need to assume a role.

    • ‘Aws::AssumeRoleWebIdentityCredentials` - Used when you need to assume a role after providing credentials via the web.

    • ‘Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an access token generated from `aws login`.

    • ‘Aws::ProcessCredentials` - Used for loading credentials from a process that outputs to stdout.

    • ‘Aws::InstanceProfileCredentials` - Used for loading credentials from an EC2 IMDS on an EC2 instance.

    • ‘Aws::ECSCredentials` - Used for loading credentials from instances running in ECS.

    • ‘Aws::CognitoIdentityCredentials` - Used for loading credentials from the Cognito Identity service.

    When ‘:credentials` are not configured directly, the following locations will be searched for credentials:

    • Aws.config`

    • The ‘:access_key_id`, `:secret_access_key`, and `:session_token` options.

    • ENV, ENV

    • ‘~/.aws/credentials`

    • ‘~/.aws/config`

    • EC2/ECS IMDS instance profile - When used by default, the timeouts are very aggressive. Construct and pass an instance of ‘Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to enable retries and extended timeouts. Instance profile credential fetching can be disabled by setting ENV to true.

  • :region (required, String)

    The AWS region to connect to. The configured ‘:region` is used to determine the service `:endpoint`. When not passed, a default `:region` is searched for in the following locations:

  • :access_key_id (String)
  • :active_endpoint_cache (Boolean) — default: false

    When set to ‘true`, a thread polling for endpoints will be running in the background every 60 secs (default). Defaults to `false`.

  • :adaptive_retry_wait_to_fill (Boolean) — default: true

    Used only in ‘adaptive` retry mode. When true, the request will sleep until there is sufficent client side capacity to retry the request. When false, the request will raise a `RetryCapacityNotAvailableError` and will not retry instead of sleeping.

  • :client_side_monitoring (Boolean) — default: false

    When ‘true`, client-side metrics will be collected for all API requests from this client.

  • :client_side_monitoring_client_id (String) — default: ""

    Allows you to provide an identifier for this client which will be attached to all generated client side metrics. Defaults to an empty string.

  • :client_side_monitoring_host (String) — default: "127.0.0.1"

    Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client side monitoring agent is running on, where client metrics will be published via UDP.

  • :client_side_monitoring_port (Integer) — default: 31000

    Required for publishing client metrics. The port that the client side monitoring agent is running on, where client metrics will be published via UDP.

  • :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher) — default: Aws::ClientSideMonitoring::Publisher

    Allows you to provide a custom client-side monitoring publisher class. By default, will use the Client Side Monitoring Agent Publisher.

  • :convert_params (Boolean) — default: true

    When ‘true`, an attempt is made to coerce request parameters into the required types.

  • :correct_clock_skew (Boolean) — default: true

    Used only in ‘standard` and adaptive retry modes. Specifies whether to apply a clock skew correction and retry requests with skewed client clocks.

  • :defaults_mode (String) — default: "legacy"

    See DefaultsModeConfiguration for a list of the accepted modes and the configuration defaults that are included.

  • :disable_host_prefix_injection (Boolean) — default: false

    Set to true to disable SDK automatically adding host prefix to default service endpoint when available.

  • :disable_request_compression (Boolean) — default: false

    When set to ‘true’ the request body will not be compressed for supported operations.

  • :endpoint (String, URI::HTTPS, URI::HTTP)

    Normally you should not configure the ‘:endpoint` option directly. This is normally constructed from the `:region` option. Configuring `:endpoint` is normally reserved for connecting to test or custom endpoints. The endpoint should be a URI formatted like:

    'http://example.com'
    'https://example.com'
    'http://example.com:123'
    
  • :endpoint_cache_max_entries (Integer) — default: 1000

    Used for the maximum size limit of the LRU cache storing endpoints data for endpoint discovery enabled operations. Defaults to 1000.

  • :endpoint_cache_max_threads (Integer) — default: 10

    Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.

  • :endpoint_cache_poll_interval (Integer) — default: 60

    When :endpoint_discovery and :active_endpoint_cache is enabled, Use this option to config the time interval in seconds for making requests fetching endpoints information. Defaults to 60 sec.

  • :endpoint_discovery (Boolean) — default: false

    When set to ‘true`, endpoint discovery will be enabled for operations when available.

  • :ignore_configured_endpoint_urls (Boolean)

    Setting to true disables use of endpoint URLs provided via environment variables and the shared configuration file.

  • :log_formatter (Aws::Log::Formatter) — default: Aws::Log::Formatter.default

    The log formatter.

  • :log_level (Symbol) — default: :info

    The log level to send messages to the ‘:logger` at.

  • :logger (Logger)

    The Logger instance to send log messages to. If this option is not set, logging will be disabled.

  • :max_attempts (Integer) — default: 3

    An integer representing the maximum number attempts that will be made for a single request, including the initial attempt. For example, setting this value to 5 will result in a request being retried up to 4 times. Used in ‘standard` and `adaptive` retry modes.

  • :profile (String) — default: "default"

    Used when loading credentials from the shared credentials file at HOME/.aws/credentials. When not specified, ‘default’ is used.

  • :request_min_compression_size_bytes (Integer) — default: 10240

    The minimum size in bytes that triggers compression for request bodies. The value must be non-negative integer value between 0 and 10485780 bytes inclusive.

  • :retry_backoff (Proc)

    A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay. This option is only used in the ‘legacy` retry mode.

  • :retry_base_delay (Float) — default: 0.3

    The base delay in seconds used by the default backoff function. This option is only used in the ‘legacy` retry mode.

  • :retry_jitter (Symbol) — default: :none

    A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number. This option is only used in the ‘legacy` retry mode.

    @see www.awsarchitectureblog.com/2015/03/backoff.html

  • :retry_limit (Integer) — default: 3

    The maximum number of times to retry failed requests. Only ~ 500 level server errors and certain ~ 400 level client errors are retried. Generally, these are throttling errors, data checksum errors, networking errors, timeout errors, auth errors, endpoint discovery, and errors from expired credentials. This option is only used in the ‘legacy` retry mode.

  • :retry_max_delay (Integer) — default: 0

    The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function. This option is only used in the ‘legacy` retry mode.

  • :retry_mode (String) — default: "legacy"

    Specifies which retry algorithm to use. Values are:

    • ‘legacy` - The pre-existing retry behavior. This is default value if no retry mode is provided.

    • ‘standard` - A standardized set of retry rules across the AWS SDKs. This includes support for retry quotas, which limit the number of unsuccessful retries a client can make.

    • ‘adaptive` - An experimental retry mode that includes all the functionality of `standard` mode along with automatic client side throttling. This is a provisional mode that may change behavior in the future.

  • :sdk_ua_app_id (String)

    A unique and opaque application ID that is appended to the User-Agent header as app/sdk_ua_app_id. It should have a maximum length of 50. This variable is sourced from environment variable AWS_SDK_UA_APP_ID or the shared config profile attribute sdk_ua_app_id.

  • :secret_access_key (String)
  • :session_token (String)
  • :sigv4a_signing_region_set (Array)

    A list of regions that should be signed with SigV4a signing. When not passed, a default ‘:sigv4a_signing_region_set` is searched for in the following locations:

  • :stub_responses (Boolean) — default: false

    Causes the client to return stubbed responses. By default fake responses are generated and returned. You can specify the response data to return or errors to raise by calling ClientStubs#stub_responses. See ClientStubs for more information.

    ** Please note ** When response stubbing is enabled, no HTTP requests are made, and retries are disabled.

  • :telemetry_provider (Aws::Telemetry::TelemetryProviderBase) — default: Aws::Telemetry::NoOpTelemetryProvider

    Allows you to provide a telemetry provider, which is used to emit telemetry data. By default, uses ‘NoOpTelemetryProvider` which will not record or emit any telemetry data. The SDK supports the following telemetry providers:

    • OpenTelemetry (OTel) - To use the OTel provider, install and require the

    ‘opentelemetry-sdk` gem and then, pass in an instance of a `Aws::Telemetry::OTelProvider` for telemetry provider.

  • :token_provider (Aws::TokenProvider)

    A Bearer Token Provider. This can be an instance of any one of the following classes:

    • ‘Aws::StaticTokenProvider` - Used for configuring static, non-refreshing tokens.

    • ‘Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an access token generated from `aws login`.

    When ‘:token_provider` is not configured directly, the `Aws::TokenProviderChain` will be used to search for tokens configured for your profile in shared configuration files.

  • :use_dualstack_endpoint (Boolean)

    When set to ‘true`, dualstack enabled endpoints (with `.aws` TLD) will be used if available.

  • :use_fips_endpoint (Boolean)

    When set to ‘true`, fips compatible endpoints will be used if available. When a `fips` region is used, the region is normalized and this config is set to `true`.

  • :validate_params (Boolean) — default: true

    When ‘true`, request parameters are validated before sending the request.

  • :endpoint_provider (Aws::AppSync::EndpointProvider)

    The endpoint provider used to resolve endpoints. Any object that responds to ‘#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::AppSync::EndpointParameters`

  • :http_continue_timeout (Float) — default: 1

    The number of seconds to wait for a 100-continue response before sending the request body. This option has no effect unless the request has “Expect” header set to “100-continue”. Defaults to ‘nil` which disables this behaviour. This value can safely be set per request on the session.

  • :http_idle_timeout (Float) — default: 5

    The number of seconds a connection is allowed to sit idle before it is considered stale. Stale connections are closed and removed from the pool before making a request.

  • :http_open_timeout (Float) — default: 15

    The default number of seconds to wait for response data. This value can safely be set per-request on the session.

  • :http_proxy (URI::HTTP, String)

    A proxy to send requests through. Formatted like ‘proxy.com:123’.

  • :http_read_timeout (Float) — default: 60

    The default number of seconds to wait for response data. This value can safely be set per-request on the session.

  • :http_wire_trace (Boolean) — default: false

    When ‘true`, HTTP debug output will be sent to the `:logger`.

  • :on_chunk_received (Proc)

    When a Proc object is provided, it will be used as callback when each chunk of the response body is received. It provides three arguments: the chunk, the number of bytes received, and the total number of bytes in the response (or nil if the server did not send a ‘content-length`).

  • :on_chunk_sent (Proc)

    When a Proc object is provided, it will be used as callback when each chunk of the request body is sent. It provides three arguments: the chunk, the number of bytes read from the body, and the total number of bytes in the body.

  • :raise_response_errors (Boolean) — default: true

    When ‘true`, response errors are raised.

  • :ssl_ca_bundle (String)

    Full path to the SSL certificate authority bundle file that should be used when verifying peer certificates. If you do not pass ‘:ssl_ca_bundle` or `:ssl_ca_directory` the the system default will be used if available.

  • :ssl_ca_directory (String)

    Full path of the directory that contains the unbundled SSL certificate authority files for verifying peer certificates. If you do not pass ‘:ssl_ca_bundle` or `:ssl_ca_directory` the the system default will be used if available.

  • :ssl_ca_store (String)

    Sets the X509::Store to verify peer certificate.

  • :ssl_timeout (Float)

    Sets the SSL timeout in seconds

  • :ssl_verify_peer (Boolean) — default: true

    When ‘true`, SSL peer certificates are verified when establishing a connection.



434
435
436
# File 'lib/aws-sdk-appsync/client.rb', line 434

def initialize(*args)
  super
end

Class Attribute Details

.identifierObject (readonly)

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



4333
4334
4335
# File 'lib/aws-sdk-appsync/client.rb', line 4333

def identifier
  @identifier
end

Class Method Details

.errors_moduleObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



4336
4337
4338
# File 'lib/aws-sdk-appsync/client.rb', line 4336

def errors_module
  Errors
end

Instance Method Details

#associate_api(params = {}) ⇒ Types::AssociateApiResponse

Maps an endpoint to your custom domain.

Examples:

Request syntax with placeholder values


resp = client.associate_api({
  domain_name: "DomainName", # required
  api_id: "String", # required
})

Response structure


resp.api_association.domain_name #=> String
resp.api_association.api_id #=> String
resp.api_association.association_status #=> String, one of "PROCESSING", "FAILED", "SUCCESS"
resp.api_association.deployment_detail #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :domain_name (required, String)

    The domain name.

  • :api_id (required, String)

    The API ID. Private APIs can not be associated with custom domains.

Returns:

See Also:



470
471
472
473
# File 'lib/aws-sdk-appsync/client.rb', line 470

def associate_api(params = {}, options = {})
  req = build_request(:associate_api, params)
  req.send_request(options)
end

#associate_merged_graphql_api(params = {}) ⇒ Types::AssociateMergedGraphqlApiResponse

Creates an association between a Merged API and source API using the source API’s identifier.

Examples:

Request syntax with placeholder values


resp = client.associate_merged_graphql_api({
  source_api_identifier: "String", # required
  merged_api_identifier: "String", # required
  description: "String",
  source_api_association_config: {
    merge_type: "MANUAL_MERGE", # accepts MANUAL_MERGE, AUTO_MERGE
  },
})

Response structure


resp.source_api_association.association_id #=> String
resp.source_api_association.association_arn #=> String
resp.source_api_association.source_api_id #=> String
resp.source_api_association.source_api_arn #=> String
resp.source_api_association.merged_api_arn #=> String
resp.source_api_association.merged_api_id #=> String
resp.source_api_association.description #=> String
resp.source_api_association.source_api_association_config.merge_type #=> String, one of "MANUAL_MERGE", "AUTO_MERGE"
resp.source_api_association.source_api_association_status #=> String, one of "MERGE_SCHEDULED", "MERGE_FAILED", "MERGE_SUCCESS", "MERGE_IN_PROGRESS", "AUTO_MERGE_SCHEDULE_FAILED", "DELETION_SCHEDULED", "DELETION_IN_PROGRESS", "DELETION_FAILED"
resp.source_api_association.source_api_association_status_detail #=> String
resp.source_api_association.last_successful_merge_date #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :source_api_identifier (required, String)

    The identifier of the AppSync Source API. This is generated by the AppSync service. In most cases, source APIs (especially in your account) only require the API ID value or ARN of the source API. However, source APIs from other accounts (cross-account use cases) strictly require the full resource ARN of the source API.

  • :merged_api_identifier (required, String)

    The identifier of the AppSync Merged API. This is generated by the AppSync service. In most cases, Merged APIs (especially in your account) only require the API ID value or ARN of the merged API. However, Merged APIs in other accounts (cross-account use cases) strictly require the full resource ARN of the merged API.

  • :description (String)

    The description field.

  • :source_api_association_config (Types::SourceApiAssociationConfig)

    The ‘SourceApiAssociationConfig` object data.

Returns:

See Also:



531
532
533
534
# File 'lib/aws-sdk-appsync/client.rb', line 531

def associate_merged_graphql_api(params = {}, options = {})
  req = build_request(:associate_merged_graphql_api, params)
  req.send_request(options)
end

#associate_source_graphql_api(params = {}) ⇒ Types::AssociateSourceGraphqlApiResponse

Creates an association between a Merged API and source API using the Merged API’s identifier.

Examples:

Request syntax with placeholder values


resp = client.associate_source_graphql_api({
  merged_api_identifier: "String", # required
  source_api_identifier: "String", # required
  description: "String",
  source_api_association_config: {
    merge_type: "MANUAL_MERGE", # accepts MANUAL_MERGE, AUTO_MERGE
  },
})

Response structure


resp.source_api_association.association_id #=> String
resp.source_api_association.association_arn #=> String
resp.source_api_association.source_api_id #=> String
resp.source_api_association.source_api_arn #=> String
resp.source_api_association.merged_api_arn #=> String
resp.source_api_association.merged_api_id #=> String
resp.source_api_association.description #=> String
resp.source_api_association.source_api_association_config.merge_type #=> String, one of "MANUAL_MERGE", "AUTO_MERGE"
resp.source_api_association.source_api_association_status #=> String, one of "MERGE_SCHEDULED", "MERGE_FAILED", "MERGE_SUCCESS", "MERGE_IN_PROGRESS", "AUTO_MERGE_SCHEDULE_FAILED", "DELETION_SCHEDULED", "DELETION_IN_PROGRESS", "DELETION_FAILED"
resp.source_api_association.source_api_association_status_detail #=> String
resp.source_api_association.last_successful_merge_date #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :merged_api_identifier (required, String)

    The identifier of the AppSync Merged API. This is generated by the AppSync service. In most cases, Merged APIs (especially in your account) only require the API ID value or ARN of the merged API. However, Merged APIs in other accounts (cross-account use cases) strictly require the full resource ARN of the merged API.

  • :source_api_identifier (required, String)

    The identifier of the AppSync Source API. This is generated by the AppSync service. In most cases, source APIs (especially in your account) only require the API ID value or ARN of the source API. However, source APIs from other accounts (cross-account use cases) strictly require the full resource ARN of the source API.

  • :description (String)

    The description field.

  • :source_api_association_config (Types::SourceApiAssociationConfig)

    The ‘SourceApiAssociationConfig` object data.

Returns:

See Also:



592
593
594
595
# File 'lib/aws-sdk-appsync/client.rb', line 592

def associate_source_graphql_api(params = {}, options = {})
  req = build_request(:associate_source_graphql_api, params)
  req.send_request(options)
end

#build_request(operation_name, params = {}) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Parameters:

  • params ({}) (defaults to: {})


4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
# File 'lib/aws-sdk-appsync/client.rb', line 4306

def build_request(operation_name, params = {})
  handlers = @handlers.for(operation_name)
  tracer = config.telemetry_provider.tracer_provider.tracer(
    Aws::Telemetry.module_to_tracer_name('Aws::AppSync')
  )
  context = Seahorse::Client::RequestContext.new(
    operation_name: operation_name,
    operation: config.api.operation(operation_name),
    client: self,
    params: params,
    config: config,
    tracer: tracer
  )
  context[:gem_name] = 'aws-sdk-appsync'
  context[:gem_version] = '1.84.0'
  Seahorse::Client::Request.new(handlers, context)
end

#create_api_cache(params = {}) ⇒ Types::CreateApiCacheResponse

Creates a cache for the GraphQL API.

Examples:

Request syntax with placeholder values


resp = client.create_api_cache({
  api_id: "String", # required
  ttl: 1, # required
  transit_encryption_enabled: false,
  at_rest_encryption_enabled: false,
  api_caching_behavior: "FULL_REQUEST_CACHING", # required, accepts FULL_REQUEST_CACHING, PER_RESOLVER_CACHING
  type: "T2_SMALL", # required, accepts T2_SMALL, T2_MEDIUM, R4_LARGE, R4_XLARGE, R4_2XLARGE, R4_4XLARGE, R4_8XLARGE, SMALL, MEDIUM, LARGE, XLARGE, LARGE_2X, LARGE_4X, LARGE_8X, LARGE_12X
  health_metrics_config: "ENABLED", # accepts ENABLED, DISABLED
})

Response structure


resp.api_cache.ttl #=> Integer
resp.api_cache.api_caching_behavior #=> String, one of "FULL_REQUEST_CACHING", "PER_RESOLVER_CACHING"
resp.api_cache.transit_encryption_enabled #=> Boolean
resp.api_cache.at_rest_encryption_enabled #=> Boolean
resp.api_cache.type #=> String, one of "T2_SMALL", "T2_MEDIUM", "R4_LARGE", "R4_XLARGE", "R4_2XLARGE", "R4_4XLARGE", "R4_8XLARGE", "SMALL", "MEDIUM", "LARGE", "XLARGE", "LARGE_2X", "LARGE_4X", "LARGE_8X", "LARGE_12X"
resp.api_cache.status #=> String, one of "AVAILABLE", "CREATING", "DELETING", "MODIFYING", "FAILED"
resp.api_cache.health_metrics_config #=> String, one of "ENABLED", "DISABLED"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :api_id (required, String)

    The GraphQL API ID.

  • :ttl (required, Integer)

    TTL in seconds for cache entries.

    Valid values are 1–3,600 seconds.

  • :transit_encryption_enabled (Boolean)

    Transit encryption flag when connecting to cache. You cannot update this setting after creation.

  • :at_rest_encryption_enabled (Boolean)

    At-rest encryption flag for cache. You cannot update this setting after creation.

  • :api_caching_behavior (required, String)

    Caching behavior.

    • FULL_REQUEST_CACHING: All requests are fully cached.

    • PER_RESOLVER_CACHING: Individual resolvers that you specify are cached.

  • :type (required, String)

    The cache instance type. Valid values are

    • ‘SMALL`

    • ‘MEDIUM`

    • ‘LARGE`

    • ‘XLARGE`

    • ‘LARGE_2X`

    • ‘LARGE_4X`

    • ‘LARGE_8X` (not available in all regions)

    • ‘LARGE_12X`

    Historically, instance types were identified by an EC2-style value. As of July 2020, this is deprecated, and the generic identifiers above should be used.

    The following legacy instance types are available, but their use is discouraged:

    • T2_SMALL: A t2.small instance type.

    • T2_MEDIUM: A t2.medium instance type.

    • R4_LARGE: A r4.large instance type.

    • R4_XLARGE: A r4.xlarge instance type.

    • R4_2XLARGE: A r4.2xlarge instance type.

    • R4_4XLARGE: A r4.4xlarge instance type.

    • R4_8XLARGE: A r4.8xlarge instance type.

  • :health_metrics_config (String)

    Controls how cache health metrics will be emitted to CloudWatch. Cache health metrics include:

    • NetworkBandwidthOutAllowanceExceeded: The network packets dropped because the throughput exceeded the aggregated bandwidth limit. This is useful for diagnosing bottlenecks in a cache configuration.

    • EngineCPUUtilization: The CPU utilization (percentage) allocated to the Redis process. This is useful for diagnosing bottlenecks in a cache configuration.

    Metrics will be recorded by API ID. You can set the value to ‘ENABLED` or `DISABLED`.

Returns:

See Also:



708
709
710
711
# File 'lib/aws-sdk-appsync/client.rb', line 708

def create_api_cache(params = {}, options = {})
  req = build_request(:create_api_cache, params)
  req.send_request(options)
end

#create_api_key(params = {}) ⇒ Types::CreateApiKeyResponse

Creates a unique key that you can distribute to clients who invoke your API.

Examples:

Request syntax with placeholder values


resp = client.create_api_key({
  api_id: "String", # required
  description: "String",
  expires: 1,
})

Response structure


resp.api_key.id #=> String
resp.api_key.description #=> String
resp.api_key.expires #=> Integer
resp.api_key.deletes #=> Integer

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :api_id (required, String)

    The ID for your GraphQL API.

  • :description (String)

    A description of the purpose of the API key.

  • :expires (Integer)

    From the creation time, the time after which the API key expires. The date is represented as seconds since the epoch, rounded down to the nearest hour. The default value for this parameter is 7 days from creation time. For more information, see .

Returns:

See Also:



751
752
753
754
# File 'lib/aws-sdk-appsync/client.rb', line 751

def create_api_key(params = {}, options = {})
  req = build_request(:create_api_key, params)
  req.send_request(options)
end

#create_data_source(params = {}) ⇒ Types::CreateDataSourceResponse

Creates a ‘DataSource` object.

Examples:

Request syntax with placeholder values


resp = client.create_data_source({
  api_id: "String", # required
  name: "ResourceName", # required
  description: "String",
  type: "AWS_LAMBDA", # required, accepts AWS_LAMBDA, AMAZON_DYNAMODB, AMAZON_ELASTICSEARCH, NONE, HTTP, RELATIONAL_DATABASE, AMAZON_OPENSEARCH_SERVICE, AMAZON_EVENTBRIDGE
  service_role_arn: "String",
  dynamodb_config: {
    table_name: "String", # required
    aws_region: "String", # required
    use_caller_credentials: false,
    delta_sync_config: {
      base_table_ttl: 1,
      delta_sync_table_name: "String",
      delta_sync_table_ttl: 1,
    },
    versioned: false,
  },
  lambda_config: {
    lambda_function_arn: "String", # required
  },
  elasticsearch_config: {
    endpoint: "String", # required
    aws_region: "String", # required
  },
  open_search_service_config: {
    endpoint: "String", # required
    aws_region: "String", # required
  },
  http_config: {
    endpoint: "String",
    authorization_config: {
      authorization_type: "AWS_IAM", # required, accepts AWS_IAM
      aws_iam_config: {
        signing_region: "String",
        signing_service_name: "String",
      },
    },
  },
  relational_database_config: {
    relational_database_source_type: "RDS_HTTP_ENDPOINT", # accepts RDS_HTTP_ENDPOINT
    rds_http_endpoint_config: {
      aws_region: "String",
      db_cluster_identifier: "String",
      database_name: "String",
      schema: "String",
      aws_secret_store_arn: "String",
    },
  },
  event_bridge_config: {
    event_bus_arn: "String", # required
  },
  metrics_config: "ENABLED", # accepts ENABLED, DISABLED
})

Response structure


resp.data_source.data_source_arn #=> String
resp.data_source.name #=> String
resp.data_source.description #=> String
resp.data_source.type #=> String, one of "AWS_LAMBDA", "AMAZON_DYNAMODB", "AMAZON_ELASTICSEARCH", "NONE", "HTTP", "RELATIONAL_DATABASE", "AMAZON_OPENSEARCH_SERVICE", "AMAZON_EVENTBRIDGE"
resp.data_source.service_role_arn #=> String
resp.data_source.dynamodb_config.table_name #=> String
resp.data_source.dynamodb_config.aws_region #=> String
resp.data_source.dynamodb_config.use_caller_credentials #=> Boolean
resp.data_source.dynamodb_config.delta_sync_config.base_table_ttl #=> Integer
resp.data_source.dynamodb_config.delta_sync_config.delta_sync_table_name #=> String
resp.data_source.dynamodb_config.delta_sync_config.delta_sync_table_ttl #=> Integer
resp.data_source.dynamodb_config.versioned #=> Boolean
resp.data_source.lambda_config.lambda_function_arn #=> String
resp.data_source.elasticsearch_config.endpoint #=> String
resp.data_source.elasticsearch_config.aws_region #=> String
resp.data_source.open_search_service_config.endpoint #=> String
resp.data_source.open_search_service_config.aws_region #=> String
resp.data_source.http_config.endpoint #=> String
resp.data_source.http_config.authorization_config.authorization_type #=> String, one of "AWS_IAM"
resp.data_source.http_config.authorization_config.aws_iam_config.signing_region #=> String
resp.data_source.http_config.authorization_config.aws_iam_config.signing_service_name #=> String
resp.data_source.relational_database_config.relational_database_source_type #=> String, one of "RDS_HTTP_ENDPOINT"
resp.data_source.relational_database_config.rds_http_endpoint_config.aws_region #=> String
resp.data_source.relational_database_config.rds_http_endpoint_config.db_cluster_identifier #=> String
resp.data_source.relational_database_config.rds_http_endpoint_config.database_name #=> String
resp.data_source.relational_database_config.rds_http_endpoint_config.schema #=> String
resp.data_source.relational_database_config.rds_http_endpoint_config.aws_secret_store_arn #=> String
resp.data_source.event_bridge_config.event_bus_arn #=> String
resp.data_source.metrics_config #=> String, one of "ENABLED", "DISABLED"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :api_id (required, String)

    The API ID for the GraphQL API for the ‘DataSource`.

  • :name (required, String)

    A user-supplied name for the ‘DataSource`.

  • :description (String)

    A description of the ‘DataSource`.

  • :type (required, String)

    The type of the ‘DataSource`.

  • :service_role_arn (String)

    The Identity and Access Management (IAM) service role Amazon Resource Name (ARN) for the data source. The system assumes this role when accessing the data source.

  • :dynamodb_config (Types::DynamodbDataSourceConfig)

    Amazon DynamoDB settings.

  • :lambda_config (Types::LambdaDataSourceConfig)

    Lambda settings.

  • :elasticsearch_config (Types::ElasticsearchDataSourceConfig)

    Amazon OpenSearch Service settings.

    As of September 2021, Amazon Elasticsearch service is Amazon OpenSearch Service. This configuration is deprecated. For new data sources, use CreateDataSourceRequest$openSearchServiceConfig to create an OpenSearch data source.

  • :open_search_service_config (Types::OpenSearchServiceDataSourceConfig)

    Amazon OpenSearch Service settings.

  • :http_config (Types::HttpDataSourceConfig)

    HTTP endpoint settings.

  • :relational_database_config (Types::RelationalDatabaseDataSourceConfig)

    Relational database settings.

  • :event_bridge_config (Types::EventBridgeDataSourceConfig)

    Amazon EventBridge settings.

  • :metrics_config (String)

    Enables or disables enhanced data source metrics for specified data sources. Note that ‘metricsConfig` won’t be used unless the ‘dataSourceLevelMetricsBehavior` value is set to `PER_DATA_SOURCE_METRICS`. If the `dataSourceLevelMetricsBehavior` is set to `FULL_REQUEST_DATA_SOURCE_METRICS` instead, `metricsConfig` will be ignored. However, you can still set its value.

    ‘metricsConfig` can be `ENABLED` or `DISABLED`.

Returns:

See Also:



907
908
909
910
# File 'lib/aws-sdk-appsync/client.rb', line 907

def create_data_source(params = {}, options = {})
  req = build_request(:create_data_source, params)
  req.send_request(options)
end

#create_domain_name(params = {}) ⇒ Types::CreateDomainNameResponse

Creates a custom ‘DomainName` object.

Examples:

Request syntax with placeholder values


resp = client.create_domain_name({
  domain_name: "DomainName", # required
  certificate_arn: "CertificateArn", # required
  description: "Description",
})

Response structure


resp.domain_name_config.domain_name #=> String
resp.domain_name_config.description #=> String
resp.domain_name_config.certificate_arn #=> String
resp.domain_name_config.appsync_domain_name #=> String
resp.domain_name_config.hosted_zone_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :domain_name (required, String)

    The domain name.

  • :certificate_arn (required, String)

    The Amazon Resource Name (ARN) of the certificate. This can be an Certificate Manager (ACM) certificate or an Identity and Access Management (IAM) server certificate.

  • :description (String)

    A description of the ‘DomainName`.

Returns:

See Also:



949
950
951
952
# File 'lib/aws-sdk-appsync/client.rb', line 949

def create_domain_name(params = {}, options = {})
  req = build_request(:create_domain_name, params)
  req.send_request(options)
end

#create_function(params = {}) ⇒ Types::CreateFunctionResponse

Creates a ‘Function` object.

A function is a reusable entity. You can use multiple functions to compose the resolver logic.

Examples:

Request syntax with placeholder values


resp = client.create_function({
  api_id: "String", # required
  name: "ResourceName", # required
  description: "String",
  data_source_name: "ResourceName", # required
  request_mapping_template: "MappingTemplate",
  response_mapping_template: "MappingTemplate",
  function_version: "String",
  sync_config: {
    conflict_handler: "OPTIMISTIC_CONCURRENCY", # accepts OPTIMISTIC_CONCURRENCY, LAMBDA, AUTOMERGE, NONE
    conflict_detection: "VERSION", # accepts VERSION, NONE
    lambda_conflict_handler_config: {
      lambda_conflict_handler_arn: "String",
    },
  },
  max_batch_size: 1,
  runtime: {
    name: "APPSYNC_JS", # required, accepts APPSYNC_JS
    runtime_version: "String", # required
  },
  code: "Code",
})

Response structure


resp.function_configuration.function_id #=> String
resp.function_configuration.function_arn #=> String
resp.function_configuration.name #=> String
resp.function_configuration.description #=> String
resp.function_configuration.data_source_name #=> String
resp.function_configuration.request_mapping_template #=> String
resp.function_configuration.response_mapping_template #=> String
resp.function_configuration.function_version #=> String
resp.function_configuration.sync_config.conflict_handler #=> String, one of "OPTIMISTIC_CONCURRENCY", "LAMBDA", "AUTOMERGE", "NONE"
resp.function_configuration.sync_config.conflict_detection #=> String, one of "VERSION", "NONE"
resp.function_configuration.sync_config.lambda_conflict_handler_config.lambda_conflict_handler_arn #=> String
resp.function_configuration.max_batch_size #=> Integer
resp.function_configuration.runtime.name #=> String, one of "APPSYNC_JS"
resp.function_configuration.runtime.runtime_version #=> String
resp.function_configuration.code #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :api_id (required, String)

    The GraphQL API ID.

  • :name (required, String)

    The ‘Function` name. The function name does not have to be unique.

  • :description (String)

    The ‘Function` description.

  • :data_source_name (required, String)

    The ‘Function` `DataSource` name.

  • :request_mapping_template (String)

    The ‘Function` request mapping template. Functions support only the 2018-05-29 version of the request mapping template.

  • :response_mapping_template (String)

    The ‘Function` response mapping template.

  • :function_version (String)

    The ‘version` of the request mapping template. Currently, the supported value is 2018-05-29. Note that when using VTL and mapping templates, the `functionVersion` is required.

  • :sync_config (Types::SyncConfig)

    Describes a Sync configuration for a resolver.

    Specifies which Conflict Detection strategy and Resolution strategy to use when the resolver is invoked.

  • :max_batch_size (Integer)

    The maximum batching size for a resolver.

  • :runtime (Types::AppSyncRuntime)

    Describes a runtime used by an Amazon Web Services AppSync pipeline resolver or Amazon Web Services AppSync function. Specifies the name and version of the runtime to use. Note that if a runtime is specified, code must also be specified.

  • :code (String)

    The ‘function` code that contains the request and response functions. When code is used, the `runtime` is required. The `runtime` value must be `APPSYNC_JS`.

Returns:

See Also:



1054
1055
1056
1057
# File 'lib/aws-sdk-appsync/client.rb', line 1054

def create_function(params = {}, options = {})
  req = build_request(:create_function, params)
  req.send_request(options)
end

#create_graphql_api(params = {}) ⇒ Types::CreateGraphqlApiResponse

Creates a ‘GraphqlApi` object.

Examples:

Request syntax with placeholder values


resp = client.create_graphql_api({
  name: "String", # required
  log_config: {
    field_log_level: "NONE", # required, accepts NONE, ERROR, ALL, INFO, DEBUG
    cloud_watch_logs_role_arn: "String", # required
    exclude_verbose_content: false,
  },
  authentication_type: "API_KEY", # required, accepts API_KEY, AWS_IAM, AMAZON_COGNITO_USER_POOLS, OPENID_CONNECT, AWS_LAMBDA
  user_pool_config: {
    user_pool_id: "String", # required
    aws_region: "String", # required
    default_action: "ALLOW", # required, accepts ALLOW, DENY
    app_id_client_regex: "String",
  },
  open_id_connect_config: {
    issuer: "String", # required
    client_id: "String",
    iat_ttl: 1,
    auth_ttl: 1,
  },
  tags: {
    "TagKey" => "TagValue",
  },
  additional_authentication_providers: [
    {
      authentication_type: "API_KEY", # accepts API_KEY, AWS_IAM, AMAZON_COGNITO_USER_POOLS, OPENID_CONNECT, AWS_LAMBDA
      open_id_connect_config: {
        issuer: "String", # required
        client_id: "String",
        iat_ttl: 1,
        auth_ttl: 1,
      },
      user_pool_config: {
        user_pool_id: "String", # required
        aws_region: "String", # required
        app_id_client_regex: "String",
      },
      lambda_authorizer_config: {
        authorizer_result_ttl_in_seconds: 1,
        authorizer_uri: "String", # required
        identity_validation_expression: "String",
      },
    },
  ],
  xray_enabled: false,
  lambda_authorizer_config: {
    authorizer_result_ttl_in_seconds: 1,
    authorizer_uri: "String", # required
    identity_validation_expression: "String",
  },
  visibility: "GLOBAL", # accepts GLOBAL, PRIVATE
  api_type: "GRAPHQL", # accepts GRAPHQL, MERGED
  merged_api_execution_role_arn: "String",
  owner_contact: "String",
  introspection_config: "ENABLED", # accepts ENABLED, DISABLED
  query_depth_limit: 1,
  resolver_count_limit: 1,
  enhanced_metrics_config: {
    resolver_level_metrics_behavior: "FULL_REQUEST_RESOLVER_METRICS", # required, accepts FULL_REQUEST_RESOLVER_METRICS, PER_RESOLVER_METRICS
    data_source_level_metrics_behavior: "FULL_REQUEST_DATA_SOURCE_METRICS", # required, accepts FULL_REQUEST_DATA_SOURCE_METRICS, PER_DATA_SOURCE_METRICS
    operation_level_metrics_config: "ENABLED", # required, accepts ENABLED, DISABLED
  },
})

Response structure


resp.graphql_api.name #=> String
resp.graphql_api.api_id #=> String
resp.graphql_api.authentication_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
resp.graphql_api.log_config.field_log_level #=> String, one of "NONE", "ERROR", "ALL", "INFO", "DEBUG"
resp.graphql_api.log_config.cloud_watch_logs_role_arn #=> String
resp.graphql_api.log_config.exclude_verbose_content #=> Boolean
resp.graphql_api.user_pool_config.user_pool_id #=> String
resp.graphql_api.user_pool_config.aws_region #=> String
resp.graphql_api.user_pool_config.default_action #=> String, one of "ALLOW", "DENY"
resp.graphql_api.user_pool_config.app_id_client_regex #=> String
resp.graphql_api.open_id_connect_config.issuer #=> String
resp.graphql_api.open_id_connect_config.client_id #=> String
resp.graphql_api.open_id_connect_config.iat_ttl #=> Integer
resp.graphql_api.open_id_connect_config.auth_ttl #=> Integer
resp.graphql_api.arn #=> String
resp.graphql_api.uris #=> Hash
resp.graphql_api.uris["String"] #=> String
resp.graphql_api.tags #=> Hash
resp.graphql_api.tags["TagKey"] #=> String
resp.graphql_api.additional_authentication_providers #=> Array
resp.graphql_api.additional_authentication_providers[0].authentication_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
resp.graphql_api.additional_authentication_providers[0].open_id_connect_config.issuer #=> String
resp.graphql_api.additional_authentication_providers[0].open_id_connect_config.client_id #=> String
resp.graphql_api.additional_authentication_providers[0].open_id_connect_config.iat_ttl #=> Integer
resp.graphql_api.additional_authentication_providers[0].open_id_connect_config.auth_ttl #=> Integer
resp.graphql_api.additional_authentication_providers[0].user_pool_config.user_pool_id #=> String
resp.graphql_api.additional_authentication_providers[0].user_pool_config.aws_region #=> String
resp.graphql_api.additional_authentication_providers[0].user_pool_config.app_id_client_regex #=> String
resp.graphql_api.additional_authentication_providers[0].lambda_authorizer_config.authorizer_result_ttl_in_seconds #=> Integer
resp.graphql_api.additional_authentication_providers[0].lambda_authorizer_config.authorizer_uri #=> String
resp.graphql_api.additional_authentication_providers[0].lambda_authorizer_config.identity_validation_expression #=> String
resp.graphql_api.xray_enabled #=> Boolean
resp.graphql_api.waf_web_acl_arn #=> String
resp.graphql_api.lambda_authorizer_config.authorizer_result_ttl_in_seconds #=> Integer
resp.graphql_api.lambda_authorizer_config.authorizer_uri #=> String
resp.graphql_api.lambda_authorizer_config.identity_validation_expression #=> String
resp.graphql_api.dns #=> Hash
resp.graphql_api.dns["String"] #=> String
resp.graphql_api.visibility #=> String, one of "GLOBAL", "PRIVATE"
resp.graphql_api.api_type #=> String, one of "GRAPHQL", "MERGED"
resp.graphql_api.merged_api_execution_role_arn #=> String
resp.graphql_api.owner #=> String
resp.graphql_api.owner_contact #=> String
resp.graphql_api.introspection_config #=> String, one of "ENABLED", "DISABLED"
resp.graphql_api.query_depth_limit #=> Integer
resp.graphql_api.resolver_count_limit #=> Integer
resp.graphql_api.enhanced_metrics_config.resolver_level_metrics_behavior #=> String, one of "FULL_REQUEST_RESOLVER_METRICS", "PER_RESOLVER_METRICS"
resp.graphql_api.enhanced_metrics_config.data_source_level_metrics_behavior #=> String, one of "FULL_REQUEST_DATA_SOURCE_METRICS", "PER_DATA_SOURCE_METRICS"
resp.graphql_api.enhanced_metrics_config.operation_level_metrics_config #=> String, one of "ENABLED", "DISABLED"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    A user-supplied name for the ‘GraphqlApi`.

  • :log_config (Types::LogConfig)

    The Amazon CloudWatch Logs configuration.

  • :authentication_type (required, String)

    The authentication type: API key, Identity and Access Management (IAM), OpenID Connect (OIDC), Amazon Cognito user pools, or Lambda.

  • :user_pool_config (Types::UserPoolConfig)

    The Amazon Cognito user pool configuration.

  • :open_id_connect_config (Types::OpenIDConnectConfig)

    The OIDC configuration.

  • :tags (Hash<String,String>)

    A ‘TagMap` object.

  • :additional_authentication_providers (Array<Types::AdditionalAuthenticationProvider>)

    A list of additional authentication providers for the ‘GraphqlApi` API.

  • :xray_enabled (Boolean)

    A flag indicating whether to use X-Ray tracing for the ‘GraphqlApi`.

  • :lambda_authorizer_config (Types::LambdaAuthorizerConfig)

    Configuration for Lambda function authorization.

  • :visibility (String)

    Sets the value of the GraphQL API to public (‘GLOBAL`) or private (`PRIVATE`). If no value is provided, the visibility will be set to `GLOBAL` by default. This value cannot be changed once the API has been created.

  • :api_type (String)

    The value that indicates whether the GraphQL API is a standard API (‘GRAPHQL`) or merged API (`MERGED`).

  • :merged_api_execution_role_arn (String)

    The Identity and Access Management service role ARN for a merged API. The AppSync service assumes this role on behalf of the Merged API to validate access to source APIs at runtime and to prompt the ‘AUTO_MERGE` to update the merged API endpoint with the source API changes automatically.

  • :owner_contact (String)

    The owner contact information for an API resource.

    This field accepts any string input with a length of 0 - 256 characters.

  • :introspection_config (String)

    Sets the value of the GraphQL API to enable (‘ENABLED`) or disable (`DISABLED`) introspection. If no value is provided, the introspection configuration will be set to `ENABLED` by default. This field will produce an error if the operation attempts to use the introspection feature while this field is disabled.

    For more information about introspection, see [GraphQL introspection].

    [1]: graphql.org/learn/introspection/

  • :query_depth_limit (Integer)

    The maximum depth a query can have in a single request. Depth refers to the amount of nested levels allowed in the body of query. The default value is ‘0` (or unspecified), which indicates there’s no depth limit. If you set a limit, it can be between ‘1` and `75` nested levels. This field will produce a limit error if the operation falls out of bounds.

    Note that fields can still be set to nullable or non-nullable. If a non-nullable field produces an error, the error will be thrown upwards to the first nullable field available.

  • :resolver_count_limit (Integer)

    The maximum number of resolvers that can be invoked in a single request. The default value is ‘0` (or unspecified), which will set the limit to `10000`. When specified, the limit value can be between `1` and `10000`. This field will produce a limit error if the operation falls out of bounds.

  • :enhanced_metrics_config (Types::EnhancedMetricsConfig)

    The ‘enhancedMetricsConfig` object.

Returns:

See Also:



1275
1276
1277
1278
# File 'lib/aws-sdk-appsync/client.rb', line 1275

def create_graphql_api(params = {}, options = {})
  req = build_request(:create_graphql_api, params)
  req.send_request(options)
end

#create_resolver(params = {}) ⇒ Types::CreateResolverResponse

Creates a ‘Resolver` object.

A resolver converts incoming requests into a format that a data source can understand, and converts the data source’s responses into GraphQL.

Examples:

Request syntax with placeholder values


resp = client.create_resolver({
  api_id: "String", # required
  type_name: "ResourceName", # required
  field_name: "ResourceName", # required
  data_source_name: "ResourceName",
  request_mapping_template: "MappingTemplate",
  response_mapping_template: "MappingTemplate",
  kind: "UNIT", # accepts UNIT, PIPELINE
  pipeline_config: {
    functions: ["String"],
  },
  sync_config: {
    conflict_handler: "OPTIMISTIC_CONCURRENCY", # accepts OPTIMISTIC_CONCURRENCY, LAMBDA, AUTOMERGE, NONE
    conflict_detection: "VERSION", # accepts VERSION, NONE
    lambda_conflict_handler_config: {
      lambda_conflict_handler_arn: "String",
    },
  },
  caching_config: {
    ttl: 1, # required
    caching_keys: ["String"],
  },
  max_batch_size: 1,
  runtime: {
    name: "APPSYNC_JS", # required, accepts APPSYNC_JS
    runtime_version: "String", # required
  },
  code: "Code",
  metrics_config: "ENABLED", # accepts ENABLED, DISABLED
})

Response structure


resp.resolver.type_name #=> String
resp.resolver.field_name #=> String
resp.resolver.data_source_name #=> String
resp.resolver.resolver_arn #=> String
resp.resolver.request_mapping_template #=> String
resp.resolver.response_mapping_template #=> String
resp.resolver.kind #=> String, one of "UNIT", "PIPELINE"
resp.resolver.pipeline_config.functions #=> Array
resp.resolver.pipeline_config.functions[0] #=> String
resp.resolver.sync_config.conflict_handler #=> String, one of "OPTIMISTIC_CONCURRENCY", "LAMBDA", "AUTOMERGE", "NONE"
resp.resolver.sync_config.conflict_detection #=> String, one of "VERSION", "NONE"
resp.resolver.sync_config.lambda_conflict_handler_config.lambda_conflict_handler_arn #=> String
resp.resolver.caching_config.ttl #=> Integer
resp.resolver.caching_config.caching_keys #=> Array
resp.resolver.caching_config.caching_keys[0] #=> String
resp.resolver.max_batch_size #=> Integer
resp.resolver.runtime.name #=> String, one of "APPSYNC_JS"
resp.resolver.runtime.runtime_version #=> String
resp.resolver.code #=> String
resp.resolver.metrics_config #=> String, one of "ENABLED", "DISABLED"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :api_id (required, String)

    The ID for the GraphQL API for which the resolver is being created.

  • :type_name (required, String)

    The name of the ‘Type`.

  • :field_name (required, String)

    The name of the field to attach the resolver to.

  • :data_source_name (String)

    The name of the data source for which the resolver is being created.

  • :request_mapping_template (String)

    The mapping template to use for requests.

    A resolver uses a request mapping template to convert a GraphQL expression into a format that a data source can understand. Mapping templates are written in Apache Velocity Template Language (VTL).

    VTL request mapping templates are optional when using an Lambda data source. For all other data sources, VTL request and response mapping templates are required.

  • :response_mapping_template (String)

    The mapping template to use for responses from the data source.

  • :kind (String)

    The resolver type.

    • UNIT: A UNIT resolver type. A UNIT resolver is the default resolver type. You can use a UNIT resolver to run a GraphQL query against a single data source.

    • PIPELINE: A PIPELINE resolver type. You can use a PIPELINE resolver to invoke a series of ‘Function` objects in a serial manner. You can use a pipeline resolver to run a GraphQL query against multiple data sources.

  • :pipeline_config (Types::PipelineConfig)

    The ‘PipelineConfig`.

  • :sync_config (Types::SyncConfig)

    The ‘SyncConfig` for a resolver attached to a versioned data source.

  • :caching_config (Types::CachingConfig)

    The caching configuration for the resolver.

  • :max_batch_size (Integer)

    The maximum batching size for a resolver.

  • :runtime (Types::AppSyncRuntime)

    Describes a runtime used by an Amazon Web Services AppSync pipeline resolver or Amazon Web Services AppSync function. Specifies the name and version of the runtime to use. Note that if a runtime is specified, code must also be specified.

  • :code (String)

    The ‘resolver` code that contains the request and response functions. When code is used, the `runtime` is required. The `runtime` value must be `APPSYNC_JS`.

  • :metrics_config (String)

    Enables or disables enhanced resolver metrics for specified resolvers. Note that ‘metricsConfig` won’t be used unless the ‘resolverLevelMetricsBehavior` value is set to `PER_RESOLVER_METRICS`. If the `resolverLevelMetricsBehavior` is set to `FULL_REQUEST_RESOLVER_METRICS` instead, `metricsConfig` will be ignored. However, you can still set its value.

    ‘metricsConfig` can be `ENABLED` or `DISABLED`.

Returns:

See Also:



1421
1422
1423
1424
# File 'lib/aws-sdk-appsync/client.rb', line 1421

def create_resolver(params = {}, options = {})
  req = build_request(:create_resolver, params)
  req.send_request(options)
end

#create_type(params = {}) ⇒ Types::CreateTypeResponse

Creates a ‘Type` object.

Examples:

Request syntax with placeholder values


resp = client.create_type({
  api_id: "String", # required
  definition: "String", # required
  format: "SDL", # required, accepts SDL, JSON
})

Response structure


resp.type.name #=> String
resp.type.description #=> String
resp.type.arn #=> String
resp.type.definition #=> String
resp.type.format #=> String, one of "SDL", "JSON"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :api_id (required, String)

    The API ID.

  • :definition (required, String)

    The type definition, in GraphQL Schema Definition Language (SDL) format.

    For more information, see the [GraphQL SDL documentation].

    [1]: graphql.org/learn/schema/

  • :format (required, String)

    The type format: SDL or JSON.

Returns:

See Also:



1468
1469
1470
1471
# File 'lib/aws-sdk-appsync/client.rb', line 1468

def create_type(params = {}, options = {})
  req = build_request(:create_type, params)
  req.send_request(options)
end

#delete_api_cache(params = {}) ⇒ Struct

Deletes an ‘ApiCache` object.

Examples:

Request syntax with placeholder values


resp = client.delete_api_cache({
  api_id: "String", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :api_id (required, String)

    The API ID.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1490
1491
1492
1493
# File 'lib/aws-sdk-appsync/client.rb', line 1490

def delete_api_cache(params = {}, options = {})
  req = build_request(:delete_api_cache, params)
  req.send_request(options)
end

#delete_api_key(params = {}) ⇒ Struct

Deletes an API key.

Examples:

Request syntax with placeholder values


resp = client.delete_api_key({
  api_id: "String", # required
  id: "String", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :api_id (required, String)

    The API ID.

  • :id (required, String)

    The ID for the API key.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1516
1517
1518
1519
# File 'lib/aws-sdk-appsync/client.rb', line 1516

def delete_api_key(params = {}, options = {})
  req = build_request(:delete_api_key, params)
  req.send_request(options)
end

#delete_data_source(params = {}) ⇒ Struct

Deletes a ‘DataSource` object.

Examples:

Request syntax with placeholder values


resp = client.delete_data_source({
  api_id: "String", # required
  name: "ResourceName", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :api_id (required, String)

    The API ID.

  • :name (required, String)

    The name of the data source.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1542
1543
1544
1545
# File 'lib/aws-sdk-appsync/client.rb', line 1542

def delete_data_source(params = {}, options = {})
  req = build_request(:delete_data_source, params)
  req.send_request(options)
end

#delete_domain_name(params = {}) ⇒ Struct

Deletes a custom ‘DomainName` object.

Examples:

Request syntax with placeholder values


resp = client.delete_domain_name({
  domain_name: "DomainName", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :domain_name (required, String)

    The domain name.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1564
1565
1566
1567
# File 'lib/aws-sdk-appsync/client.rb', line 1564

def delete_domain_name(params = {}, options = {})
  req = build_request(:delete_domain_name, params)
  req.send_request(options)
end

#delete_function(params = {}) ⇒ Struct

Deletes a ‘Function`.

Examples:

Request syntax with placeholder values


resp = client.delete_function({
  api_id: "String", # required
  function_id: "ResourceName", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :api_id (required, String)

    The GraphQL API ID.

  • :function_id (required, String)

    The ‘Function` ID.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1590
1591
1592
1593
# File 'lib/aws-sdk-appsync/client.rb', line 1590

def delete_function(params = {}, options = {})
  req = build_request(:delete_function, params)
  req.send_request(options)
end

#delete_graphql_api(params = {}) ⇒ Struct

Deletes a ‘GraphqlApi` object.

Examples:

Request syntax with placeholder values


resp = client.delete_graphql_api({
  api_id: "String", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :api_id (required, String)

    The API ID.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1612
1613
1614
1615
# File 'lib/aws-sdk-appsync/client.rb', line 1612

def delete_graphql_api(params = {}, options = {})
  req = build_request(:delete_graphql_api, params)
  req.send_request(options)
end

#delete_resolver(params = {}) ⇒ Struct

Deletes a ‘Resolver` object.

Examples:

Request syntax with placeholder values


resp = client.delete_resolver({
  api_id: "String", # required
  type_name: "ResourceName", # required
  field_name: "ResourceName", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :api_id (required, String)

    The API ID.

  • :type_name (required, String)

    The name of the resolver type.

  • :field_name (required, String)

    The resolver field name.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1642
1643
1644
1645
# File 'lib/aws-sdk-appsync/client.rb', line 1642

def delete_resolver(params = {}, options = {})
  req = build_request(:delete_resolver, params)
  req.send_request(options)
end

#delete_type(params = {}) ⇒ Struct

Deletes a ‘Type` object.

Examples:

Request syntax with placeholder values


resp = client.delete_type({
  api_id: "String", # required
  type_name: "ResourceName", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :api_id (required, String)

    The API ID.

  • :type_name (required, String)

    The type name.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1668
1669
1670
1671
# File 'lib/aws-sdk-appsync/client.rb', line 1668

def delete_type(params = {}, options = {})
  req = build_request(:delete_type, params)
  req.send_request(options)
end

#disassociate_api(params = {}) ⇒ Struct

Removes an ‘ApiAssociation` object from a custom domain.

Examples:

Request syntax with placeholder values


resp = client.disassociate_api({
  domain_name: "DomainName", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :domain_name (required, String)

    The domain name.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1690
1691
1692
1693
# File 'lib/aws-sdk-appsync/client.rb', line 1690

def disassociate_api(params = {}, options = {})
  req = build_request(:disassociate_api, params)
  req.send_request(options)
end

#disassociate_merged_graphql_api(params = {}) ⇒ Types::DisassociateMergedGraphqlApiResponse

Deletes an association between a Merged API and source API using the source API’s identifier and the association ID.

Examples:

Request syntax with placeholder values


resp = client.disassociate_merged_graphql_api({
  source_api_identifier: "String", # required
  association_id: "String", # required
})

Response structure


resp.source_api_association_status #=> String, one of "MERGE_SCHEDULED", "MERGE_FAILED", "MERGE_SUCCESS", "MERGE_IN_PROGRESS", "AUTO_MERGE_SCHEDULE_FAILED", "DELETION_SCHEDULED", "DELETION_IN_PROGRESS", "DELETION_FAILED"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :source_api_identifier (required, String)

    The identifier of the AppSync Source API. This is generated by the AppSync service. In most cases, source APIs (especially in your account) only require the API ID value or ARN of the source API. However, source APIs from other accounts (cross-account use cases) strictly require the full resource ARN of the source API.

  • :association_id (required, String)

    The ID generated by the AppSync service for the source API association.

Returns:

See Also:



1728
1729
1730
1731
# File 'lib/aws-sdk-appsync/client.rb', line 1728

def disassociate_merged_graphql_api(params = {}, options = {})
  req = build_request(:disassociate_merged_graphql_api, params)
  req.send_request(options)
end

#disassociate_source_graphql_api(params = {}) ⇒ Types::DisassociateSourceGraphqlApiResponse

Deletes an association between a Merged API and source API using the Merged API’s identifier and the association ID.

Examples:

Request syntax with placeholder values


resp = client.disassociate_source_graphql_api({
  merged_api_identifier: "String", # required
  association_id: "String", # required
})

Response structure


resp.source_api_association_status #=> String, one of "MERGE_SCHEDULED", "MERGE_FAILED", "MERGE_SUCCESS", "MERGE_IN_PROGRESS", "AUTO_MERGE_SCHEDULE_FAILED", "DELETION_SCHEDULED", "DELETION_IN_PROGRESS", "DELETION_FAILED"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :merged_api_identifier (required, String)

    The identifier of the AppSync Merged API. This is generated by the AppSync service. In most cases, Merged APIs (especially in your account) only require the API ID value or ARN of the merged API. However, Merged APIs in other accounts (cross-account use cases) strictly require the full resource ARN of the merged API.

  • :association_id (required, String)

    The ID generated by the AppSync service for the source API association.

Returns:

See Also:



1766
1767
1768
1769
# File 'lib/aws-sdk-appsync/client.rb', line 1766

def disassociate_source_graphql_api(params = {}, options = {})
  req = build_request(:disassociate_source_graphql_api, params)
  req.send_request(options)
end

#evaluate_code(params = {}) ⇒ Types::EvaluateCodeResponse

Evaluates the given code and returns the response. The code definition requirements depend on the specified runtime. For ‘APPSYNC_JS` runtimes, the code defines the request and response functions. The request function takes the incoming request after a GraphQL operation is parsed and converts it into a request configuration for the selected data source operation. The response function interprets responses from the data source and maps it to the shape of the GraphQL field output type.

Examples:

Request syntax with placeholder values


resp = client.evaluate_code({
  runtime: { # required
    name: "APPSYNC_JS", # required, accepts APPSYNC_JS
    runtime_version: "String", # required
  },
  code: "Code", # required
  context: "Context", # required
  function: "String",
})

Response structure


resp.evaluation_result #=> String
resp.error.message #=> String
resp.error.code_errors #=> Array
resp.error.code_errors[0].error_type #=> String
resp.error.code_errors[0].value #=> String
resp.error.code_errors[0].location.line #=> Integer
resp.error.code_errors[0].location.column #=> Integer
resp.error.code_errors[0].location.span #=> Integer
resp.logs #=> Array
resp.logs[0] #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :runtime (required, Types::AppSyncRuntime)

    The runtime to be used when evaluating the code. Currently, only the ‘APPSYNC_JS` runtime is supported.

  • :code (required, String)

    The code definition to be evaluated. Note that ‘code` and `runtime` are both required for this action. The `runtime` value must be `APPSYNC_JS`.

  • :context (required, String)

    The map that holds all of the contextual information for your resolver invocation. A ‘context` is required for this action.

  • :function (String)

    The function within the code to be evaluated. If provided, the valid values are ‘request` and `response`.

Returns:

See Also:



1832
1833
1834
1835
# File 'lib/aws-sdk-appsync/client.rb', line 1832

def evaluate_code(params = {}, options = {})
  req = build_request(:evaluate_code, params)
  req.send_request(options)
end

#evaluate_mapping_template(params = {}) ⇒ Types::EvaluateMappingTemplateResponse

Evaluates a given template and returns the response. The mapping template can be a request or response template.

Request templates take the incoming request after a GraphQL operation is parsed and convert it into a request configuration for the selected data source operation. Response templates interpret responses from the data source and map it to the shape of the GraphQL field output type.

Mapping templates are written in the Apache Velocity Template Language (VTL).

Examples:

Request syntax with placeholder values


resp = client.evaluate_mapping_template({
  template: "Template", # required
  context: "Context", # required
})

Response structure


resp.evaluation_result #=> String
resp.error.message #=> String
resp.logs #=> Array
resp.logs[0] #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :template (required, String)

    The mapping template; this can be a request or response template. A ‘template` is required for this action.

  • :context (required, String)

    The map that holds all of the contextual information for your resolver invocation. A ‘context` is required for this action.

Returns:

See Also:



1880
1881
1882
1883
# File 'lib/aws-sdk-appsync/client.rb', line 1880

def evaluate_mapping_template(params = {}, options = {})
  req = build_request(:evaluate_mapping_template, params)
  req.send_request(options)
end

#flush_api_cache(params = {}) ⇒ Struct

Flushes an ‘ApiCache` object.

Examples:

Request syntax with placeholder values


resp = client.flush_api_cache({
  api_id: "String", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :api_id (required, String)

    The API ID.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1902
1903
1904
1905
# File 'lib/aws-sdk-appsync/client.rb', line 1902

def flush_api_cache(params = {}, options = {})
  req = build_request(:flush_api_cache, params)
  req.send_request(options)
end

#get_api_association(params = {}) ⇒ Types::GetApiAssociationResponse

Retrieves an ‘ApiAssociation` object.

Examples:

Request syntax with placeholder values


resp = client.get_api_association({
  domain_name: "DomainName", # required
})

Response structure


resp.api_association.domain_name #=> String
resp.api_association.api_id #=> String
resp.api_association.association_status #=> String, one of "PROCESSING", "FAILED", "SUCCESS"
resp.api_association.deployment_detail #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :domain_name (required, String)

    The domain name.

Returns:

See Also:



1933
1934
1935
1936
# File 'lib/aws-sdk-appsync/client.rb', line 1933

def get_api_association(params = {}, options = {})
  req = build_request(:get_api_association, params)
  req.send_request(options)
end

#get_api_cache(params = {}) ⇒ Types::GetApiCacheResponse

Retrieves an ‘ApiCache` object.

Examples:

Request syntax with placeholder values


resp = client.get_api_cache({
  api_id: "String", # required
})

Response structure


resp.api_cache.ttl #=> Integer
resp.api_cache.api_caching_behavior #=> String, one of "FULL_REQUEST_CACHING", "PER_RESOLVER_CACHING"
resp.api_cache.transit_encryption_enabled #=> Boolean
resp.api_cache.at_rest_encryption_enabled #=> Boolean
resp.api_cache.type #=> String, one of "T2_SMALL", "T2_MEDIUM", "R4_LARGE", "R4_XLARGE", "R4_2XLARGE", "R4_4XLARGE", "R4_8XLARGE", "SMALL", "MEDIUM", "LARGE", "XLARGE", "LARGE_2X", "LARGE_4X", "LARGE_8X", "LARGE_12X"
resp.api_cache.status #=> String, one of "AVAILABLE", "CREATING", "DELETING", "MODIFYING", "FAILED"
resp.api_cache.health_metrics_config #=> String, one of "ENABLED", "DISABLED"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :api_id (required, String)

    The API ID.

Returns:

See Also:



1967
1968
1969
1970
# File 'lib/aws-sdk-appsync/client.rb', line 1967

def get_api_cache(params = {}, options = {})
  req = build_request(:get_api_cache, params)
  req.send_request(options)
end

#get_data_source(params = {}) ⇒ Types::GetDataSourceResponse

Retrieves a ‘DataSource` object.

Examples:

Request syntax with placeholder values


resp = client.get_data_source({
  api_id: "String", # required
  name: "ResourceName", # required
})

Response structure


resp.data_source.data_source_arn #=> String
resp.data_source.name #=> String
resp.data_source.description #=> String
resp.data_source.type #=> String, one of "AWS_LAMBDA", "AMAZON_DYNAMODB", "AMAZON_ELASTICSEARCH", "NONE", "HTTP", "RELATIONAL_DATABASE", "AMAZON_OPENSEARCH_SERVICE", "AMAZON_EVENTBRIDGE"
resp.data_source.service_role_arn #=> String
resp.data_source.dynamodb_config.table_name #=> String
resp.data_source.dynamodb_config.aws_region #=> String
resp.data_source.dynamodb_config.use_caller_credentials #=> Boolean
resp.data_source.dynamodb_config.delta_sync_config.base_table_ttl #=> Integer
resp.data_source.dynamodb_config.delta_sync_config.delta_sync_table_name #=> String
resp.data_source.dynamodb_config.delta_sync_config.delta_sync_table_ttl #=> Integer
resp.data_source.dynamodb_config.versioned #=> Boolean
resp.data_source.lambda_config.lambda_function_arn #=> String
resp.data_source.elasticsearch_config.endpoint #=> String
resp.data_source.elasticsearch_config.aws_region #=> String
resp.data_source.open_search_service_config.endpoint #=> String
resp.data_source.open_search_service_config.aws_region #=> String
resp.data_source.http_config.endpoint #=> String
resp.data_source.http_config.authorization_config.authorization_type #=> String, one of "AWS_IAM"
resp.data_source.http_config.authorization_config.aws_iam_config.signing_region #=> String
resp.data_source.http_config.authorization_config.aws_iam_config.signing_service_name #=> String
resp.data_source.relational_database_config.relational_database_source_type #=> String, one of "RDS_HTTP_ENDPOINT"
resp.data_source.relational_database_config.rds_http_endpoint_config.aws_region #=> String
resp.data_source.relational_database_config.rds_http_endpoint_config.db_cluster_identifier #=> String
resp.data_source.relational_database_config.rds_http_endpoint_config.database_name #=> String
resp.data_source.relational_database_config.rds_http_endpoint_config.schema #=> String
resp.data_source.relational_database_config.rds_http_endpoint_config.aws_secret_store_arn #=> String
resp.data_source.event_bridge_config.event_bus_arn #=> String
resp.data_source.metrics_config #=> String, one of "ENABLED", "DISABLED"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :api_id (required, String)

    The API ID.

  • :name (required, String)

    The name of the data source.

Returns:

See Also:



2027
2028
2029
2030
# File 'lib/aws-sdk-appsync/client.rb', line 2027

def get_data_source(params = {}, options = {})
  req = build_request(:get_data_source, params)
  req.send_request(options)
end

#get_data_source_introspection(params = {}) ⇒ Types::GetDataSourceIntrospectionResponse

Retrieves the record of an existing introspection. If the retrieval is successful, the result of the instrospection will also be returned. If the retrieval fails the operation, an error message will be returned instead.

Examples:

Request syntax with placeholder values


resp = client.get_data_source_introspection({
  introspection_id: "String", # required
  include_models_sdl: false,
  next_token: "PaginationToken",
  max_results: 1,
})

Response structure


resp.introspection_id #=> String
resp.introspection_status #=> String, one of "PROCESSING", "FAILED", "SUCCESS"
resp.introspection_status_detail #=> String
resp.introspection_result.models #=> Array
resp.introspection_result.models[0].name #=> String
resp.introspection_result.models[0].fields #=> Array
resp.introspection_result.models[0].fields[0].name #=> String
resp.introspection_result.models[0].fields[0].type.kind #=> String
resp.introspection_result.models[0].fields[0].type.name #=> String
resp.introspection_result.models[0].fields[0].type.type #=> Types::DataSourceIntrospectionModelFieldType
resp.introspection_result.models[0].fields[0].type.values #=> Array
resp.introspection_result.models[0].fields[0].type.values[0] #=> String
resp.introspection_result.models[0].fields[0].length #=> Integer
resp.introspection_result.models[0].primary_key.name #=> String
resp.introspection_result.models[0].primary_key.fields #=> Array
resp.introspection_result.models[0].primary_key.fields[0] #=> String
resp.introspection_result.models[0].indexes #=> Array
resp.introspection_result.models[0].indexes[0].name #=> String
resp.introspection_result.models[0].indexes[0].fields #=> Array
resp.introspection_result.models[0].indexes[0].fields[0] #=> String
resp.introspection_result.models[0].sdl #=> String
resp.introspection_result.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :introspection_id (required, String)

    The introspection ID. Each introspection contains a unique ID that can be used to reference the instrospection record.

  • :include_models_sdl (Boolean)

    A boolean flag that determines whether SDL should be generated for introspected types or not. If set to ‘true`, each model will contain an `sdl` property that contains the SDL for that type. The SDL only contains the type data and no additional metadata or directives.

  • :next_token (String)

    Determines the number of types to be returned in a single response before paginating. This value is typically taken from ‘nextToken` value from the previous response.

  • :max_results (Integer)

    The maximum number of introspected types that will be returned in a single response.

Returns:

See Also:



2101
2102
2103
2104
# File 'lib/aws-sdk-appsync/client.rb', line 2101

def get_data_source_introspection(params = {}, options = {})
  req = build_request(:get_data_source_introspection, params)
  req.send_request(options)
end

#get_domain_name(params = {}) ⇒ Types::GetDomainNameResponse

Retrieves a custom ‘DomainName` object.

Examples:

Request syntax with placeholder values


resp = client.get_domain_name({
  domain_name: "DomainName", # required
})

Response structure


resp.domain_name_config.domain_name #=> String
resp.domain_name_config.description #=> String
resp.domain_name_config.certificate_arn #=> String
resp.domain_name_config.appsync_domain_name #=> String
resp.domain_name_config.hosted_zone_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :domain_name (required, String)

    The domain name.

Returns:

See Also:



2133
2134
2135
2136
# File 'lib/aws-sdk-appsync/client.rb', line 2133

def get_domain_name(params = {}, options = {})
  req = build_request(:get_domain_name, params)
  req.send_request(options)
end

#get_function(params = {}) ⇒ Types::GetFunctionResponse

Get a ‘Function`.

Examples:

Request syntax with placeholder values


resp = client.get_function({
  api_id: "String", # required
  function_id: "ResourceName", # required
})

Response structure


resp.function_configuration.function_id #=> String
resp.function_configuration.function_arn #=> String
resp.function_configuration.name #=> String
resp.function_configuration.description #=> String
resp.function_configuration.data_source_name #=> String
resp.function_configuration.request_mapping_template #=> String
resp.function_configuration.response_mapping_template #=> String
resp.function_configuration.function_version #=> String
resp.function_configuration.sync_config.conflict_handler #=> String, one of "OPTIMISTIC_CONCURRENCY", "LAMBDA", "AUTOMERGE", "NONE"
resp.function_configuration.sync_config.conflict_detection #=> String, one of "VERSION", "NONE"
resp.function_configuration.sync_config.lambda_conflict_handler_config.lambda_conflict_handler_arn #=> String
resp.function_configuration.max_batch_size #=> Integer
resp.function_configuration.runtime.name #=> String, one of "APPSYNC_JS"
resp.function_configuration.runtime.runtime_version #=> String
resp.function_configuration.code #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :api_id (required, String)

    The GraphQL API ID.

  • :function_id (required, String)

    The ‘Function` ID.

Returns:

See Also:



2179
2180
2181
2182
# File 'lib/aws-sdk-appsync/client.rb', line 2179

def get_function(params = {}, options = {})
  req = build_request(:get_function, params)
  req.send_request(options)
end

#get_graphql_api(params = {}) ⇒ Types::GetGraphqlApiResponse

Retrieves a ‘GraphqlApi` object.

Examples:

Request syntax with placeholder values


resp = client.get_graphql_api({
  api_id: "String", # required
})

Response structure


resp.graphql_api.name #=> String
resp.graphql_api.api_id #=> String
resp.graphql_api.authentication_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
resp.graphql_api.log_config.field_log_level #=> String, one of "NONE", "ERROR", "ALL", "INFO", "DEBUG"
resp.graphql_api.log_config.cloud_watch_logs_role_arn #=> String
resp.graphql_api.log_config.exclude_verbose_content #=> Boolean
resp.graphql_api.user_pool_config.user_pool_id #=> String
resp.graphql_api.user_pool_config.aws_region #=> String
resp.graphql_api.user_pool_config.default_action #=> String, one of "ALLOW", "DENY"
resp.graphql_api.user_pool_config.app_id_client_regex #=> String
resp.graphql_api.open_id_connect_config.issuer #=> String
resp.graphql_api.open_id_connect_config.client_id #=> String
resp.graphql_api.open_id_connect_config.iat_ttl #=> Integer
resp.graphql_api.open_id_connect_config.auth_ttl #=> Integer
resp.graphql_api.arn #=> String
resp.graphql_api.uris #=> Hash
resp.graphql_api.uris["String"] #=> String
resp.graphql_api.tags #=> Hash
resp.graphql_api.tags["TagKey"] #=> String
resp.graphql_api.additional_authentication_providers #=> Array
resp.graphql_api.additional_authentication_providers[0].authentication_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
resp.graphql_api.additional_authentication_providers[0].open_id_connect_config.issuer #=> String
resp.graphql_api.additional_authentication_providers[0].open_id_connect_config.client_id #=> String
resp.graphql_api.additional_authentication_providers[0].open_id_connect_config.iat_ttl #=> Integer
resp.graphql_api.additional_authentication_providers[0].open_id_connect_config.auth_ttl #=> Integer
resp.graphql_api.additional_authentication_providers[0].user_pool_config.user_pool_id #=> String
resp.graphql_api.additional_authentication_providers[0].user_pool_config.aws_region #=> String
resp.graphql_api.additional_authentication_providers[0].user_pool_config.app_id_client_regex #=> String
resp.graphql_api.additional_authentication_providers[0].lambda_authorizer_config.authorizer_result_ttl_in_seconds #=> Integer
resp.graphql_api.additional_authentication_providers[0].lambda_authorizer_config.authorizer_uri #=> String
resp.graphql_api.additional_authentication_providers[0].lambda_authorizer_config.identity_validation_expression #=> String
resp.graphql_api.xray_enabled #=> Boolean
resp.graphql_api.waf_web_acl_arn #=> String
resp.graphql_api.lambda_authorizer_config.authorizer_result_ttl_in_seconds #=> Integer
resp.graphql_api.lambda_authorizer_config.authorizer_uri #=> String
resp.graphql_api.lambda_authorizer_config.identity_validation_expression #=> String
resp.graphql_api.dns #=> Hash
resp.graphql_api.dns["String"] #=> String
resp.graphql_api.visibility #=> String, one of "GLOBAL", "PRIVATE"
resp.graphql_api.api_type #=> String, one of "GRAPHQL", "MERGED"
resp.graphql_api.merged_api_execution_role_arn #=> String
resp.graphql_api.owner #=> String
resp.graphql_api.owner_contact #=> String
resp.graphql_api.introspection_config #=> String, one of "ENABLED", "DISABLED"
resp.graphql_api.query_depth_limit #=> Integer
resp.graphql_api.resolver_count_limit #=> Integer
resp.graphql_api.enhanced_metrics_config.resolver_level_metrics_behavior #=> String, one of "FULL_REQUEST_RESOLVER_METRICS", "PER_RESOLVER_METRICS"
resp.graphql_api.enhanced_metrics_config.data_source_level_metrics_behavior #=> String, one of "FULL_REQUEST_DATA_SOURCE_METRICS", "PER_DATA_SOURCE_METRICS"
resp.graphql_api.enhanced_metrics_config.operation_level_metrics_config #=> String, one of "ENABLED", "DISABLED"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :api_id (required, String)

    The API ID for the GraphQL API.

Returns:

See Also:



2255
2256
2257
2258
# File 'lib/aws-sdk-appsync/client.rb', line 2255

def get_graphql_api(params = {}, options = {})
  req = build_request(:get_graphql_api, params)
  req.send_request(options)
end

#get_graphql_api_environment_variables(params = {}) ⇒ Types::GetGraphqlApiEnvironmentVariablesResponse

Retrieves the list of environmental variable key-value pairs associated with an API by its ID value.

Examples:

Request syntax with placeholder values


resp = client.get_graphql_api_environment_variables({
  api_id: "String", # required
})

Response structure


resp.environment_variables #=> Hash
resp.environment_variables["EnvironmentVariableKey"] #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :api_id (required, String)

    The ID of the API from which the environmental variable list will be retrieved.

Returns:

See Also:



2286
2287
2288
2289
# File 'lib/aws-sdk-appsync/client.rb', line 2286

def get_graphql_api_environment_variables(params = {}, options = {})
  req = build_request(:get_graphql_api_environment_variables, params)
  req.send_request(options)
end

#get_introspection_schema(params = {}) ⇒ Types::GetIntrospectionSchemaResponse

Retrieves the introspection schema for a GraphQL API.

Examples:

Request syntax with placeholder values


resp = client.get_introspection_schema({
  api_id: "String", # required
  format: "SDL", # required, accepts SDL, JSON
  include_directives: false,
})

Response structure


resp.schema #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :api_id (required, String)

    The API ID.

  • :format (required, String)

    The schema format: SDL or JSON.

  • :include_directives (Boolean)

    A flag that specifies whether the schema introspection should contain directives.

Returns:

See Also:



2323
2324
2325
2326
# File 'lib/aws-sdk-appsync/client.rb', line 2323

def get_introspection_schema(params = {}, options = {})
  req = build_request(:get_introspection_schema, params)
  req.send_request(options)
end

#get_resolver(params = {}) ⇒ Types::GetResolverResponse

Retrieves a ‘Resolver` object.

Examples:

Request syntax with placeholder values


resp = client.get_resolver({
  api_id: "String", # required
  type_name: "ResourceName", # required
  field_name: "ResourceName", # required
})

Response structure


resp.resolver.type_name #=> String
resp.resolver.field_name #=> String
resp.resolver.data_source_name #=> String
resp.resolver.resolver_arn #=> String
resp.resolver.request_mapping_template #=> String
resp.resolver.response_mapping_template #=> String
resp.resolver.kind #=> String, one of "UNIT", "PIPELINE"
resp.resolver.pipeline_config.functions #=> Array
resp.resolver.pipeline_config.functions[0] #=> String
resp.resolver.sync_config.conflict_handler #=> String, one of "OPTIMISTIC_CONCURRENCY", "LAMBDA", "AUTOMERGE", "NONE"
resp.resolver.sync_config.conflict_detection #=> String, one of "VERSION", "NONE"
resp.resolver.sync_config.lambda_conflict_handler_config.lambda_conflict_handler_arn #=> String
resp.resolver.caching_config.ttl #=> Integer
resp.resolver.caching_config.caching_keys #=> Array
resp.resolver.caching_config.caching_keys[0] #=> String
resp.resolver.max_batch_size #=> Integer
resp.resolver.runtime.name #=> String, one of "APPSYNC_JS"
resp.resolver.runtime.runtime_version #=> String
resp.resolver.code #=> String
resp.resolver.metrics_config #=> String, one of "ENABLED", "DISABLED"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :api_id (required, String)

    The API ID.

  • :type_name (required, String)

    The resolver type name.

  • :field_name (required, String)

    The resolver field name.

Returns:

See Also:



2378
2379
2380
2381
# File 'lib/aws-sdk-appsync/client.rb', line 2378

def get_resolver(params = {}, options = {})
  req = build_request(:get_resolver, params)
  req.send_request(options)
end

#get_schema_creation_status(params = {}) ⇒ Types::GetSchemaCreationStatusResponse

Retrieves the current status of a schema creation operation.

Examples:

Request syntax with placeholder values


resp = client.get_schema_creation_status({
  api_id: "String", # required
})

Response structure


resp.status #=> String, one of "PROCESSING", "ACTIVE", "DELETING", "FAILED", "SUCCESS", "NOT_APPLICABLE"
resp.details #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :api_id (required, String)

    The API ID.

Returns:

See Also:



2408
2409
2410
2411
# File 'lib/aws-sdk-appsync/client.rb', line 2408

def get_schema_creation_status(params = {}, options = {})
  req = build_request(:get_schema_creation_status, params)
  req.send_request(options)
end

#get_source_api_association(params = {}) ⇒ Types::GetSourceApiAssociationResponse

Retrieves a ‘SourceApiAssociation` object.

Examples:

Request syntax with placeholder values


resp = client.get_source_api_association({
  merged_api_identifier: "String", # required
  association_id: "String", # required
})

Response structure


resp.source_api_association.association_id #=> String
resp.source_api_association.association_arn #=> String
resp.source_api_association.source_api_id #=> String
resp.source_api_association.source_api_arn #=> String
resp.source_api_association.merged_api_arn #=> String
resp.source_api_association.merged_api_id #=> String
resp.source_api_association.description #=> String
resp.source_api_association.source_api_association_config.merge_type #=> String, one of "MANUAL_MERGE", "AUTO_MERGE"
resp.source_api_association.source_api_association_status #=> String, one of "MERGE_SCHEDULED", "MERGE_FAILED", "MERGE_SUCCESS", "MERGE_IN_PROGRESS", "AUTO_MERGE_SCHEDULE_FAILED", "DELETION_SCHEDULED", "DELETION_IN_PROGRESS", "DELETION_FAILED"
resp.source_api_association.source_api_association_status_detail #=> String
resp.source_api_association.last_successful_merge_date #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :merged_api_identifier (required, String)

    The identifier of the AppSync Merged API. This is generated by the AppSync service. In most cases, Merged APIs (especially in your account) only require the API ID value or ARN of the merged API. However, Merged APIs in other accounts (cross-account use cases) strictly require the full resource ARN of the merged API.

  • :association_id (required, String)

    The ID generated by the AppSync service for the source API association.

Returns:

See Also:



2455
2456
2457
2458
# File 'lib/aws-sdk-appsync/client.rb', line 2455

def get_source_api_association(params = {}, options = {})
  req = build_request(:get_source_api_association, params)
  req.send_request(options)
end

#get_type(params = {}) ⇒ Types::GetTypeResponse

Retrieves a ‘Type` object.

Examples:

Request syntax with placeholder values


resp = client.get_type({
  api_id: "String", # required
  type_name: "ResourceName", # required
  format: "SDL", # required, accepts SDL, JSON
})

Response structure


resp.type.name #=> String
resp.type.description #=> String
resp.type.arn #=> String
resp.type.definition #=> String
resp.type.format #=> String, one of "SDL", "JSON"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :api_id (required, String)

    The API ID.

  • :type_name (required, String)

    The type name.

  • :format (required, String)

    The type format: SDL or JSON.

Returns:

See Also:



2495
2496
2497
2498
# File 'lib/aws-sdk-appsync/client.rb', line 2495

def get_type(params = {}, options = {})
  req = build_request(:get_type, params)
  req.send_request(options)
end

#list_api_keys(params = {}) ⇒ Types::ListApiKeysResponse

Lists the API keys for a given API.

<note markdown=“1”> API keys are deleted automatically 60 days after they expire. However, they may still be included in the response until they have actually been deleted. You can safely call ‘DeleteApiKey` to manually delete a key before it’s automatically deleted.

</note>

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_api_keys({
  api_id: "String", # required
  next_token: "PaginationToken",
  max_results: 1,
})

Response structure


resp.api_keys #=> Array
resp.api_keys[0].id #=> String
resp.api_keys[0].description #=> String
resp.api_keys[0].expires #=> Integer
resp.api_keys[0].deletes #=> Integer
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :api_id (required, String)

    The API ID.

  • :next_token (String)

    An identifier that was returned from the previous call to this operation, which you can use to return the next set of items in the list.

  • :max_results (Integer)

    The maximum number of results that you want the request to return.

Returns:

See Also:



2548
2549
2550
2551
# File 'lib/aws-sdk-appsync/client.rb', line 2548

def list_api_keys(params = {}, options = {})
  req = build_request(:list_api_keys, params)
  req.send_request(options)
end

#list_data_sources(params = {}) ⇒ Types::ListDataSourcesResponse

Lists the data sources for a given API.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_data_sources({
  api_id: "String", # required
  next_token: "PaginationToken",
  max_results: 1,
})

Response structure


resp.data_sources #=> Array
resp.data_sources[0].data_source_arn #=> String
resp.data_sources[0].name #=> String
resp.data_sources[0].description #=> String
resp.data_sources[0].type #=> String, one of "AWS_LAMBDA", "AMAZON_DYNAMODB", "AMAZON_ELASTICSEARCH", "NONE", "HTTP", "RELATIONAL_DATABASE", "AMAZON_OPENSEARCH_SERVICE", "AMAZON_EVENTBRIDGE"
resp.data_sources[0].service_role_arn #=> String
resp.data_sources[0].dynamodb_config.table_name #=> String
resp.data_sources[0].dynamodb_config.aws_region #=> String
resp.data_sources[0].dynamodb_config.use_caller_credentials #=> Boolean
resp.data_sources[0].dynamodb_config.delta_sync_config.base_table_ttl #=> Integer
resp.data_sources[0].dynamodb_config.delta_sync_config.delta_sync_table_name #=> String
resp.data_sources[0].dynamodb_config.delta_sync_config.delta_sync_table_ttl #=> Integer
resp.data_sources[0].dynamodb_config.versioned #=> Boolean
resp.data_sources[0].lambda_config.lambda_function_arn #=> String
resp.data_sources[0].elasticsearch_config.endpoint #=> String
resp.data_sources[0].elasticsearch_config.aws_region #=> String
resp.data_sources[0].open_search_service_config.endpoint #=> String
resp.data_sources[0].open_search_service_config.aws_region #=> String
resp.data_sources[0].http_config.endpoint #=> String
resp.data_sources[0].http_config.authorization_config.authorization_type #=> String, one of "AWS_IAM"
resp.data_sources[0].http_config.authorization_config.aws_iam_config.signing_region #=> String
resp.data_sources[0].http_config.authorization_config.aws_iam_config.signing_service_name #=> String
resp.data_sources[0].relational_database_config.relational_database_source_type #=> String, one of "RDS_HTTP_ENDPOINT"
resp.data_sources[0].relational_database_config.rds_http_endpoint_config.aws_region #=> String
resp.data_sources[0].relational_database_config.rds_http_endpoint_config.db_cluster_identifier #=> String
resp.data_sources[0].relational_database_config.rds_http_endpoint_config.database_name #=> String
resp.data_sources[0].relational_database_config.rds_http_endpoint_config.schema #=> String
resp.data_sources[0].relational_database_config.rds_http_endpoint_config.aws_secret_store_arn #=> String
resp.data_sources[0].event_bridge_config.event_bus_arn #=> String
resp.data_sources[0].metrics_config #=> String, one of "ENABLED", "DISABLED"
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :api_id (required, String)

    The API ID.

  • :next_token (String)

    An identifier that was returned from the previous call to this operation, which you can use to return the next set of items in the list.

  • :max_results (Integer)

    The maximum number of results that you want the request to return.

Returns:

See Also:



2619
2620
2621
2622
# File 'lib/aws-sdk-appsync/client.rb', line 2619

def list_data_sources(params = {}, options = {})
  req = build_request(:list_data_sources, params)
  req.send_request(options)
end

#list_domain_names(params = {}) ⇒ Types::ListDomainNamesResponse

Lists multiple custom domain names.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_domain_names({
  next_token: "PaginationToken",
  max_results: 1,
})

Response structure


resp.domain_name_configs #=> Array
resp.domain_name_configs[0].domain_name #=> String
resp.domain_name_configs[0].description #=> String
resp.domain_name_configs[0].certificate_arn #=> String
resp.domain_name_configs[0].appsync_domain_name #=> String
resp.domain_name_configs[0].hosted_zone_id #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :next_token (String)

    An identifier that was returned from the previous call to this operation, which you can use to return the next set of items in the list.

  • :max_results (Integer)

    The maximum number of results that you want the request to return.

Returns:

See Also:



2662
2663
2664
2665
# File 'lib/aws-sdk-appsync/client.rb', line 2662

def list_domain_names(params = {}, options = {})
  req = build_request(:list_domain_names, params)
  req.send_request(options)
end

#list_functions(params = {}) ⇒ Types::ListFunctionsResponse

List multiple functions.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_functions({
  api_id: "String", # required
  next_token: "PaginationToken",
  max_results: 1,
})

Response structure


resp.functions #=> Array
resp.functions[0].function_id #=> String
resp.functions[0].function_arn #=> String
resp.functions[0].name #=> String
resp.functions[0].description #=> String
resp.functions[0].data_source_name #=> String
resp.functions[0].request_mapping_template #=> String
resp.functions[0].response_mapping_template #=> String
resp.functions[0].function_version #=> String
resp.functions[0].sync_config.conflict_handler #=> String, one of "OPTIMISTIC_CONCURRENCY", "LAMBDA", "AUTOMERGE", "NONE"
resp.functions[0].sync_config.conflict_detection #=> String, one of "VERSION", "NONE"
resp.functions[0].sync_config.lambda_conflict_handler_config.lambda_conflict_handler_arn #=> String
resp.functions[0].max_batch_size #=> Integer
resp.functions[0].runtime.name #=> String, one of "APPSYNC_JS"
resp.functions[0].runtime.runtime_version #=> String
resp.functions[0].code #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :api_id (required, String)

    The GraphQL API ID.

  • :next_token (String)

    An identifier that was returned from the previous call to this operation, which you can use to return the next set of items in the list.

  • :max_results (Integer)

    The maximum number of results that you want the request to return.

Returns:

See Also:



2719
2720
2721
2722
# File 'lib/aws-sdk-appsync/client.rb', line 2719

def list_functions(params = {}, options = {})
  req = build_request(:list_functions, params)
  req.send_request(options)
end

#list_graphql_apis(params = {}) ⇒ Types::ListGraphqlApisResponse

Lists your GraphQL APIs.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_graphql_apis({
  next_token: "PaginationToken",
  max_results: 1,
  api_type: "GRAPHQL", # accepts GRAPHQL, MERGED
  owner: "CURRENT_ACCOUNT", # accepts CURRENT_ACCOUNT, OTHER_ACCOUNTS
})

Response structure


resp.graphql_apis #=> Array
resp.graphql_apis[0].name #=> String
resp.graphql_apis[0].api_id #=> String
resp.graphql_apis[0].authentication_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
resp.graphql_apis[0].log_config.field_log_level #=> String, one of "NONE", "ERROR", "ALL", "INFO", "DEBUG"
resp.graphql_apis[0].log_config.cloud_watch_logs_role_arn #=> String
resp.graphql_apis[0].log_config.exclude_verbose_content #=> Boolean
resp.graphql_apis[0].user_pool_config.user_pool_id #=> String
resp.graphql_apis[0].user_pool_config.aws_region #=> String
resp.graphql_apis[0].user_pool_config.default_action #=> String, one of "ALLOW", "DENY"
resp.graphql_apis[0].user_pool_config.app_id_client_regex #=> String
resp.graphql_apis[0].open_id_connect_config.issuer #=> String
resp.graphql_apis[0].open_id_connect_config.client_id #=> String
resp.graphql_apis[0].open_id_connect_config.iat_ttl #=> Integer
resp.graphql_apis[0].open_id_connect_config.auth_ttl #=> Integer
resp.graphql_apis[0].arn #=> String
resp.graphql_apis[0].uris #=> Hash
resp.graphql_apis[0].uris["String"] #=> String
resp.graphql_apis[0].tags #=> Hash
resp.graphql_apis[0].tags["TagKey"] #=> String
resp.graphql_apis[0].additional_authentication_providers #=> Array
resp.graphql_apis[0].additional_authentication_providers[0].authentication_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
resp.graphql_apis[0].additional_authentication_providers[0].open_id_connect_config.issuer #=> String
resp.graphql_apis[0].additional_authentication_providers[0].open_id_connect_config.client_id #=> String
resp.graphql_apis[0].additional_authentication_providers[0].open_id_connect_config.iat_ttl #=> Integer
resp.graphql_apis[0].additional_authentication_providers[0].open_id_connect_config.auth_ttl #=> Integer
resp.graphql_apis[0].additional_authentication_providers[0].user_pool_config.user_pool_id #=> String
resp.graphql_apis[0].additional_authentication_providers[0].user_pool_config.aws_region #=> String
resp.graphql_apis[0].additional_authentication_providers[0].user_pool_config.app_id_client_regex #=> String
resp.graphql_apis[0].additional_authentication_providers[0].lambda_authorizer_config.authorizer_result_ttl_in_seconds #=> Integer
resp.graphql_apis[0].additional_authentication_providers[0].lambda_authorizer_config.authorizer_uri #=> String
resp.graphql_apis[0].additional_authentication_providers[0].lambda_authorizer_config.identity_validation_expression #=> String
resp.graphql_apis[0].xray_enabled #=> Boolean
resp.graphql_apis[0].waf_web_acl_arn #=> String
resp.graphql_apis[0].lambda_authorizer_config.authorizer_result_ttl_in_seconds #=> Integer
resp.graphql_apis[0].lambda_authorizer_config.authorizer_uri #=> String
resp.graphql_apis[0].lambda_authorizer_config.identity_validation_expression #=> String
resp.graphql_apis[0].dns #=> Hash
resp.graphql_apis[0].dns["String"] #=> String
resp.graphql_apis[0].visibility #=> String, one of "GLOBAL", "PRIVATE"
resp.graphql_apis[0].api_type #=> String, one of "GRAPHQL", "MERGED"
resp.graphql_apis[0].merged_api_execution_role_arn #=> String
resp.graphql_apis[0].owner #=> String
resp.graphql_apis[0].owner_contact #=> String
resp.graphql_apis[0].introspection_config #=> String, one of "ENABLED", "DISABLED"
resp.graphql_apis[0].query_depth_limit #=> Integer
resp.graphql_apis[0].resolver_count_limit #=> Integer
resp.graphql_apis[0].enhanced_metrics_config.resolver_level_metrics_behavior #=> String, one of "FULL_REQUEST_RESOLVER_METRICS", "PER_RESOLVER_METRICS"
resp.graphql_apis[0].enhanced_metrics_config.data_source_level_metrics_behavior #=> String, one of "FULL_REQUEST_DATA_SOURCE_METRICS", "PER_DATA_SOURCE_METRICS"
resp.graphql_apis[0].enhanced_metrics_config.operation_level_metrics_config #=> String, one of "ENABLED", "DISABLED"
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :next_token (String)

    An identifier that was returned from the previous call to this operation, which you can use to return the next set of items in the list.

  • :max_results (Integer)

    The maximum number of results that you want the request to return.

  • :api_type (String)

    The value that indicates whether the GraphQL API is a standard API (‘GRAPHQL`) or merged API (`MERGED`).

  • :owner (String)

    The account owner of the GraphQL API.

Returns:

See Also:



2815
2816
2817
2818
# File 'lib/aws-sdk-appsync/client.rb', line 2815

def list_graphql_apis(params = {}, options = {})
  req = build_request(:list_graphql_apis, params)
  req.send_request(options)
end

#list_resolvers(params = {}) ⇒ Types::ListResolversResponse

Lists the resolvers for a given API and type.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_resolvers({
  api_id: "String", # required
  type_name: "String", # required
  next_token: "PaginationToken",
  max_results: 1,
})

Response structure


resp.resolvers #=> Array
resp.resolvers[0].type_name #=> String
resp.resolvers[0].field_name #=> String
resp.resolvers[0].data_source_name #=> String
resp.resolvers[0].resolver_arn #=> String
resp.resolvers[0].request_mapping_template #=> String
resp.resolvers[0].response_mapping_template #=> String
resp.resolvers[0].kind #=> String, one of "UNIT", "PIPELINE"
resp.resolvers[0].pipeline_config.functions #=> Array
resp.resolvers[0].pipeline_config.functions[0] #=> String
resp.resolvers[0].sync_config.conflict_handler #=> String, one of "OPTIMISTIC_CONCURRENCY", "LAMBDA", "AUTOMERGE", "NONE"
resp.resolvers[0].sync_config.conflict_detection #=> String, one of "VERSION", "NONE"
resp.resolvers[0].sync_config.lambda_conflict_handler_config.lambda_conflict_handler_arn #=> String
resp.resolvers[0].caching_config.ttl #=> Integer
resp.resolvers[0].caching_config.caching_keys #=> Array
resp.resolvers[0].caching_config.caching_keys[0] #=> String
resp.resolvers[0].max_batch_size #=> Integer
resp.resolvers[0].runtime.name #=> String, one of "APPSYNC_JS"
resp.resolvers[0].runtime.runtime_version #=> String
resp.resolvers[0].code #=> String
resp.resolvers[0].metrics_config #=> String, one of "ENABLED", "DISABLED"
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :api_id (required, String)

    The API ID.

  • :type_name (required, String)

    The type name.

  • :next_token (String)

    An identifier that was returned from the previous call to this operation, which you can use to return the next set of items in the list.

  • :max_results (Integer)

    The maximum number of results that you want the request to return.

Returns:

See Also:



2881
2882
2883
2884
# File 'lib/aws-sdk-appsync/client.rb', line 2881

def list_resolvers(params = {}, options = {})
  req = build_request(:list_resolvers, params)
  req.send_request(options)
end

#list_resolvers_by_function(params = {}) ⇒ Types::ListResolversByFunctionResponse

List the resolvers that are associated with a specific function.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_resolvers_by_function({
  api_id: "String", # required
  function_id: "String", # required
  next_token: "PaginationToken",
  max_results: 1,
})

Response structure


resp.resolvers #=> Array
resp.resolvers[0].type_name #=> String
resp.resolvers[0].field_name #=> String
resp.resolvers[0].data_source_name #=> String
resp.resolvers[0].resolver_arn #=> String
resp.resolvers[0].request_mapping_template #=> String
resp.resolvers[0].response_mapping_template #=> String
resp.resolvers[0].kind #=> String, one of "UNIT", "PIPELINE"
resp.resolvers[0].pipeline_config.functions #=> Array
resp.resolvers[0].pipeline_config.functions[0] #=> String
resp.resolvers[0].sync_config.conflict_handler #=> String, one of "OPTIMISTIC_CONCURRENCY", "LAMBDA", "AUTOMERGE", "NONE"
resp.resolvers[0].sync_config.conflict_detection #=> String, one of "VERSION", "NONE"
resp.resolvers[0].sync_config.lambda_conflict_handler_config.lambda_conflict_handler_arn #=> String
resp.resolvers[0].caching_config.ttl #=> Integer
resp.resolvers[0].caching_config.caching_keys #=> Array
resp.resolvers[0].caching_config.caching_keys[0] #=> String
resp.resolvers[0].max_batch_size #=> Integer
resp.resolvers[0].runtime.name #=> String, one of "APPSYNC_JS"
resp.resolvers[0].runtime.runtime_version #=> String
resp.resolvers[0].code #=> String
resp.resolvers[0].metrics_config #=> String, one of "ENABLED", "DISABLED"
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :api_id (required, String)

    The API ID.

  • :function_id (required, String)

    The function ID.

  • :next_token (String)

    An identifier that was returned from the previous call to this operation, which you can use to return the next set of items in the list.

  • :max_results (Integer)

    The maximum number of results that you want the request to return.

Returns:

See Also:



2947
2948
2949
2950
# File 'lib/aws-sdk-appsync/client.rb', line 2947

def list_resolvers_by_function(params = {}, options = {})
  req = build_request(:list_resolvers_by_function, params)
  req.send_request(options)
end

#list_source_api_associations(params = {}) ⇒ Types::ListSourceApiAssociationsResponse

Lists the ‘SourceApiAssociationSummary` data.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_source_api_associations({
  api_id: "String", # required
  next_token: "PaginationToken",
  max_results: 1,
})

Response structure


resp.source_api_association_summaries #=> Array
resp.source_api_association_summaries[0].association_id #=> String
resp.source_api_association_summaries[0].association_arn #=> String
resp.source_api_association_summaries[0].source_api_id #=> String
resp.source_api_association_summaries[0].source_api_arn #=> String
resp.source_api_association_summaries[0].merged_api_id #=> String
resp.source_api_association_summaries[0].merged_api_arn #=> String
resp.source_api_association_summaries[0].description #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :api_id (required, String)

    The API ID.

  • :next_token (String)

    An identifier that was returned from the previous call to this operation, which you can use to return the next set of items in the list.

  • :max_results (Integer)

    The maximum number of results that you want the request to return.

Returns:

See Also:



2996
2997
2998
2999
# File 'lib/aws-sdk-appsync/client.rb', line 2996

def list_source_api_associations(params = {}, options = {})
  req = build_request(:list_source_api_associations, params)
  req.send_request(options)
end

#list_tags_for_resource(params = {}) ⇒ Types::ListTagsForResourceResponse

Lists the tags for a resource.

Examples:

Request syntax with placeholder values


resp = client.list_tags_for_resource({
  resource_arn: "ResourceArn", # required
})

Response structure


resp.tags #=> Hash
resp.tags["TagKey"] #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    The ‘GraphqlApi` Amazon Resource Name (ARN).

Returns:

See Also:



3025
3026
3027
3028
# File 'lib/aws-sdk-appsync/client.rb', line 3025

def list_tags_for_resource(params = {}, options = {})
  req = build_request(:list_tags_for_resource, params)
  req.send_request(options)
end

#list_types(params = {}) ⇒ Types::ListTypesResponse

Lists the types for a given API.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_types({
  api_id: "String", # required
  format: "SDL", # required, accepts SDL, JSON
  next_token: "PaginationToken",
  max_results: 1,
})

Response structure


resp.types #=> Array
resp.types[0].name #=> String
resp.types[0].description #=> String
resp.types[0].arn #=> String
resp.types[0].definition #=> String
resp.types[0].format #=> String, one of "SDL", "JSON"
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :api_id (required, String)

    The API ID.

  • :format (required, String)

    The type format: SDL or JSON.

  • :next_token (String)

    An identifier that was returned from the previous call to this operation, which you can use to return the next set of items in the list.

  • :max_results (Integer)

    The maximum number of results that you want the request to return.

Returns:

See Also:



3076
3077
3078
3079
# File 'lib/aws-sdk-appsync/client.rb', line 3076

def list_types(params = {}, options = {})
  req = build_request(:list_types, params)
  req.send_request(options)
end

#list_types_by_association(params = {}) ⇒ Types::ListTypesByAssociationResponse

Lists ‘Type` objects by the source API association ID.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_types_by_association({
  merged_api_identifier: "String", # required
  association_id: "String", # required
  format: "SDL", # required, accepts SDL, JSON
  next_token: "PaginationToken",
  max_results: 1,
})

Response structure


resp.types #=> Array
resp.types[0].name #=> String
resp.types[0].description #=> String
resp.types[0].arn #=> String
resp.types[0].definition #=> String
resp.types[0].format #=> String, one of "SDL", "JSON"
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :merged_api_identifier (required, String)

    The identifier of the AppSync Merged API. This is generated by the AppSync service. In most cases, Merged APIs (especially in your account) only require the API ID value or ARN of the merged API. However, Merged APIs in other accounts (cross-account use cases) strictly require the full resource ARN of the merged API.

  • :association_id (required, String)

    The ID generated by the AppSync service for the source API association.

  • :format (required, String)

    The format type.

  • :next_token (String)

    An identifier that was returned from the previous call to this operation, which you can use to return the next set of items in the list.

  • :max_results (Integer)

    The maximum number of results that you want the request to return.

Returns:

See Also:



3136
3137
3138
3139
# File 'lib/aws-sdk-appsync/client.rb', line 3136

def list_types_by_association(params = {}, options = {})
  req = build_request(:list_types_by_association, params)
  req.send_request(options)
end

#put_graphql_api_environment_variables(params = {}) ⇒ Types::PutGraphqlApiEnvironmentVariablesResponse

Creates a list of environmental variables in an API by its ID value.

When creating an environmental variable, it must follow the constraints below:

  • Both JavaScript and VTL templates support environmental variables.

  • Environmental variables are not evaluated before function invocation.

  • Environmental variables only support string values.

  • Any defined value in an environmental variable is considered a string literal and not expanded.

  • Variable evaluations should ideally be performed in the function code.

When creating an environmental variable key-value pair, it must follow the additional constraints below:

  • Keys must begin with a letter.

  • Keys must be at least two characters long.

  • Keys can only contain letters, numbers, and the underscore character (_).

  • Values can be up to 512 characters long.

  • You can configure up to 50 key-value pairs in a GraphQL API.

You can create a list of environmental variables by adding it to the ‘environmentVariables` payload as a list in the format `…`. Note that each call of the `PutGraphqlApiEnvironmentVariables` action will result in the overwriting of the existing environmental variable list of that API. This means the existing environmental variables will be lost. To avoid this, you must include all existing and new environmental variables in the list each time you call this action.

Examples:

Request syntax with placeholder values


resp = client.put_graphql_api_environment_variables({
  api_id: "String", # required
  environment_variables: { # required
    "EnvironmentVariableKey" => "EnvironmentVariableValue",
  },
})

Response structure


resp.environment_variables #=> Hash
resp.environment_variables["EnvironmentVariableKey"] #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :api_id (required, String)

    The ID of the API to which the environmental variable list will be written.

  • :environment_variables (required, Hash<String,String>)

    The list of environmental variables to add to the API.

    When creating an environmental variable key-value pair, it must follow the additional constraints below:

    • Keys must begin with a letter.

    • Keys must be at least two characters long.

    • Keys can only contain letters, numbers, and the underscore character (_).

    • Values can be up to 512 characters long.

    • You can configure up to 50 key-value pairs in a GraphQL API.

    You can create a list of environmental variables by adding it to the ‘environmentVariables` payload as a list in the format `…`. Note that each call of the `PutGraphqlApiEnvironmentVariables` action will result in the overwriting of the existing environmental variable list of that API. This means the existing environmental variables will be lost. To avoid this, you must include all existing and new environmental variables in the list each time you call this action.

Returns:

See Also:



3234
3235
3236
3237
# File 'lib/aws-sdk-appsync/client.rb', line 3234

def put_graphql_api_environment_variables(params = {}, options = {})
  req = build_request(:put_graphql_api_environment_variables, params)
  req.send_request(options)
end

#start_data_source_introspection(params = {}) ⇒ Types::StartDataSourceIntrospectionResponse

Creates a new introspection. Returns the ‘introspectionId` of the new introspection after its creation.

Examples:

Request syntax with placeholder values


resp = client.start_data_source_introspection({
  rds_data_api_config: {
    resource_arn: "RdsDataApiConfigResourceArn", # required
    secret_arn: "RdsDataApiConfigSecretArn", # required
    database_name: "RdsDataApiConfigDatabaseName", # required
  },
})

Response structure


resp.introspection_id #=> String
resp.introspection_status #=> String, one of "PROCESSING", "FAILED", "SUCCESS"
resp.introspection_status_detail #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

Returns:

See Also:



3271
3272
3273
3274
# File 'lib/aws-sdk-appsync/client.rb', line 3271

def start_data_source_introspection(params = {}, options = {})
  req = build_request(:start_data_source_introspection, params)
  req.send_request(options)
end

#start_schema_creation(params = {}) ⇒ Types::StartSchemaCreationResponse

Adds a new schema to your GraphQL API.

This operation is asynchronous. Use to determine when it has completed.

Examples:

Request syntax with placeholder values


resp = client.start_schema_creation({
  api_id: "String", # required
  definition: "data", # required
})

Response structure


resp.status #=> String, one of "PROCESSING", "ACTIVE", "DELETING", "FAILED", "SUCCESS", "NOT_APPLICABLE"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :api_id (required, String)

    The API ID.

  • :definition (required, String, StringIO, File)

    The schema definition, in GraphQL schema language format.

Returns:

See Also:



3306
3307
3308
3309
# File 'lib/aws-sdk-appsync/client.rb', line 3306

def start_schema_creation(params = {}, options = {})
  req = build_request(:start_schema_creation, params)
  req.send_request(options)
end

#start_schema_merge(params = {}) ⇒ Types::StartSchemaMergeResponse

Initiates a merge operation. Returns a status that shows the result of the merge operation.

Examples:

Request syntax with placeholder values


resp = client.start_schema_merge({
  association_id: "String", # required
  merged_api_identifier: "String", # required
})

Response structure


resp.source_api_association_status #=> String, one of "MERGE_SCHEDULED", "MERGE_FAILED", "MERGE_SUCCESS", "MERGE_IN_PROGRESS", "AUTO_MERGE_SCHEDULE_FAILED", "DELETION_SCHEDULED", "DELETION_IN_PROGRESS", "DELETION_FAILED"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :association_id (required, String)

    The ID generated by the AppSync service for the source API association.

  • :merged_api_identifier (required, String)

    The identifier of the AppSync Merged API. This is generated by the AppSync service. In most cases, Merged APIs (especially in your account) only require the API ID value or ARN of the merged API. However, Merged APIs in other accounts (cross-account use cases) strictly require the full resource ARN of the merged API.

Returns:

See Also:



3344
3345
3346
3347
# File 'lib/aws-sdk-appsync/client.rb', line 3344

def start_schema_merge(params = {}, options = {})
  req = build_request(:start_schema_merge, params)
  req.send_request(options)
end

#tag_resource(params = {}) ⇒ Struct

Tags a resource with user-supplied tags.

Examples:

Request syntax with placeholder values


resp = client.tag_resource({
  resource_arn: "ResourceArn", # required
  tags: { # required
    "TagKey" => "TagValue",
  },
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    The ‘GraphqlApi` Amazon Resource Name (ARN).

  • :tags (required, Hash<String,String>)

    A ‘TagMap` object.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



3372
3373
3374
3375
# File 'lib/aws-sdk-appsync/client.rb', line 3372

def tag_resource(params = {}, options = {})
  req = build_request(:tag_resource, params)
  req.send_request(options)
end

#untag_resource(params = {}) ⇒ Struct

Untags a resource.

Examples:

Request syntax with placeholder values


resp = client.untag_resource({
  resource_arn: "ResourceArn", # required
  tag_keys: ["TagKey"], # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    The ‘GraphqlApi` Amazon Resource Name (ARN).

  • :tag_keys (required, Array<String>)

    A list of ‘TagKey` objects.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



3398
3399
3400
3401
# File 'lib/aws-sdk-appsync/client.rb', line 3398

def untag_resource(params = {}, options = {})
  req = build_request(:untag_resource, params)
  req.send_request(options)
end

#update_api_cache(params = {}) ⇒ Types::UpdateApiCacheResponse

Updates the cache for the GraphQL API.

Examples:

Request syntax with placeholder values


resp = client.update_api_cache({
  api_id: "String", # required
  ttl: 1, # required
  api_caching_behavior: "FULL_REQUEST_CACHING", # required, accepts FULL_REQUEST_CACHING, PER_RESOLVER_CACHING
  type: "T2_SMALL", # required, accepts T2_SMALL, T2_MEDIUM, R4_LARGE, R4_XLARGE, R4_2XLARGE, R4_4XLARGE, R4_8XLARGE, SMALL, MEDIUM, LARGE, XLARGE, LARGE_2X, LARGE_4X, LARGE_8X, LARGE_12X
  health_metrics_config: "ENABLED", # accepts ENABLED, DISABLED
})

Response structure


resp.api_cache.ttl #=> Integer
resp.api_cache.api_caching_behavior #=> String, one of "FULL_REQUEST_CACHING", "PER_RESOLVER_CACHING"
resp.api_cache.transit_encryption_enabled #=> Boolean
resp.api_cache.at_rest_encryption_enabled #=> Boolean
resp.api_cache.type #=> String, one of "T2_SMALL", "T2_MEDIUM", "R4_LARGE", "R4_XLARGE", "R4_2XLARGE", "R4_4XLARGE", "R4_8XLARGE", "SMALL", "MEDIUM", "LARGE", "XLARGE", "LARGE_2X", "LARGE_4X", "LARGE_8X", "LARGE_12X"
resp.api_cache.status #=> String, one of "AVAILABLE", "CREATING", "DELETING", "MODIFYING", "FAILED"
resp.api_cache.health_metrics_config #=> String, one of "ENABLED", "DISABLED"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :api_id (required, String)

    The GraphQL API ID.

  • :ttl (required, Integer)

    TTL in seconds for cache entries.

    Valid values are 1–3,600 seconds.

  • :api_caching_behavior (required, String)

    Caching behavior.

    • FULL_REQUEST_CACHING: All requests are fully cached.

    • PER_RESOLVER_CACHING: Individual resolvers that you specify are cached.

  • :type (required, String)

    The cache instance type. Valid values are

    • ‘SMALL`

    • ‘MEDIUM`

    • ‘LARGE`

    • ‘XLARGE`

    • ‘LARGE_2X`

    • ‘LARGE_4X`

    • ‘LARGE_8X` (not available in all regions)

    • ‘LARGE_12X`

    Historically, instance types were identified by an EC2-style value. As of July 2020, this is deprecated, and the generic identifiers above should be used.

    The following legacy instance types are available, but their use is discouraged:

    • T2_SMALL: A t2.small instance type.

    • T2_MEDIUM: A t2.medium instance type.

    • R4_LARGE: A r4.large instance type.

    • R4_XLARGE: A r4.xlarge instance type.

    • R4_2XLARGE: A r4.2xlarge instance type.

    • R4_4XLARGE: A r4.4xlarge instance type.

    • R4_8XLARGE: A r4.8xlarge instance type.

  • :health_metrics_config (String)

    Controls how cache health metrics will be emitted to CloudWatch. Cache health metrics include:

    • NetworkBandwidthOutAllowanceExceeded: The network packets dropped because the throughput exceeded the aggregated bandwidth limit. This is useful for diagnosing bottlenecks in a cache configuration.

    • EngineCPUUtilization: The CPU utilization (percentage) allocated to the Redis process. This is useful for diagnosing bottlenecks in a cache configuration.

    Metrics will be recorded by API ID. You can set the value to ‘ENABLED` or `DISABLED`.

Returns:

See Also:



3504
3505
3506
3507
# File 'lib/aws-sdk-appsync/client.rb', line 3504

def update_api_cache(params = {}, options = {})
  req = build_request(:update_api_cache, params)
  req.send_request(options)
end

#update_api_key(params = {}) ⇒ Types::UpdateApiKeyResponse

Updates an API key. You can update the key as long as it’s not deleted.

Examples:

Request syntax with placeholder values


resp = client.update_api_key({
  api_id: "String", # required
  id: "String", # required
  description: "String",
  expires: 1,
})

Response structure


resp.api_key.id #=> String
resp.api_key.description #=> String
resp.api_key.expires #=> Integer
resp.api_key.deletes #=> Integer

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :api_id (required, String)

    The ID for the GraphQL API.

  • :id (required, String)

    The API key ID.

  • :description (String)

    A description of the purpose of the API key.

  • :expires (Integer)

    From the update time, the time after which the API key expires. The date is represented as seconds since the epoch. For more information, see .

Returns:

See Also:



3550
3551
3552
3553
# File 'lib/aws-sdk-appsync/client.rb', line 3550

def update_api_key(params = {}, options = {})
  req = build_request(:update_api_key, params)
  req.send_request(options)
end

#update_data_source(params = {}) ⇒ Types::UpdateDataSourceResponse

Updates a ‘DataSource` object.

Examples:

Request syntax with placeholder values


resp = client.update_data_source({
  api_id: "String", # required
  name: "ResourceName", # required
  description: "String",
  type: "AWS_LAMBDA", # required, accepts AWS_LAMBDA, AMAZON_DYNAMODB, AMAZON_ELASTICSEARCH, NONE, HTTP, RELATIONAL_DATABASE, AMAZON_OPENSEARCH_SERVICE, AMAZON_EVENTBRIDGE
  service_role_arn: "String",
  dynamodb_config: {
    table_name: "String", # required
    aws_region: "String", # required
    use_caller_credentials: false,
    delta_sync_config: {
      base_table_ttl: 1,
      delta_sync_table_name: "String",
      delta_sync_table_ttl: 1,
    },
    versioned: false,
  },
  lambda_config: {
    lambda_function_arn: "String", # required
  },
  elasticsearch_config: {
    endpoint: "String", # required
    aws_region: "String", # required
  },
  open_search_service_config: {
    endpoint: "String", # required
    aws_region: "String", # required
  },
  http_config: {
    endpoint: "String",
    authorization_config: {
      authorization_type: "AWS_IAM", # required, accepts AWS_IAM
      aws_iam_config: {
        signing_region: "String",
        signing_service_name: "String",
      },
    },
  },
  relational_database_config: {
    relational_database_source_type: "RDS_HTTP_ENDPOINT", # accepts RDS_HTTP_ENDPOINT
    rds_http_endpoint_config: {
      aws_region: "String",
      db_cluster_identifier: "String",
      database_name: "String",
      schema: "String",
      aws_secret_store_arn: "String",
    },
  },
  event_bridge_config: {
    event_bus_arn: "String", # required
  },
  metrics_config: "ENABLED", # accepts ENABLED, DISABLED
})

Response structure


resp.data_source.data_source_arn #=> String
resp.data_source.name #=> String
resp.data_source.description #=> String
resp.data_source.type #=> String, one of "AWS_LAMBDA", "AMAZON_DYNAMODB", "AMAZON_ELASTICSEARCH", "NONE", "HTTP", "RELATIONAL_DATABASE", "AMAZON_OPENSEARCH_SERVICE", "AMAZON_EVENTBRIDGE"
resp.data_source.service_role_arn #=> String
resp.data_source.dynamodb_config.table_name #=> String
resp.data_source.dynamodb_config.aws_region #=> String
resp.data_source.dynamodb_config.use_caller_credentials #=> Boolean
resp.data_source.dynamodb_config.delta_sync_config.base_table_ttl #=> Integer
resp.data_source.dynamodb_config.delta_sync_config.delta_sync_table_name #=> String
resp.data_source.dynamodb_config.delta_sync_config.delta_sync_table_ttl #=> Integer
resp.data_source.dynamodb_config.versioned #=> Boolean
resp.data_source.lambda_config.lambda_function_arn #=> String
resp.data_source.elasticsearch_config.endpoint #=> String
resp.data_source.elasticsearch_config.aws_region #=> String
resp.data_source.open_search_service_config.endpoint #=> String
resp.data_source.open_search_service_config.aws_region #=> String
resp.data_source.http_config.endpoint #=> String
resp.data_source.http_config.authorization_config.authorization_type #=> String, one of "AWS_IAM"
resp.data_source.http_config.authorization_config.aws_iam_config.signing_region #=> String
resp.data_source.http_config.authorization_config.aws_iam_config.signing_service_name #=> String
resp.data_source.relational_database_config.relational_database_source_type #=> String, one of "RDS_HTTP_ENDPOINT"
resp.data_source.relational_database_config.rds_http_endpoint_config.aws_region #=> String
resp.data_source.relational_database_config.rds_http_endpoint_config.db_cluster_identifier #=> String
resp.data_source.relational_database_config.rds_http_endpoint_config.database_name #=> String
resp.data_source.relational_database_config.rds_http_endpoint_config.schema #=> String
resp.data_source.relational_database_config.rds_http_endpoint_config.aws_secret_store_arn #=> String
resp.data_source.event_bridge_config.event_bus_arn #=> String
resp.data_source.metrics_config #=> String, one of "ENABLED", "DISABLED"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :api_id (required, String)

    The API ID.

  • :name (required, String)

    The new name for the data source.

  • :description (String)

    The new description for the data source.

  • :type (required, String)

    The new data source type.

  • :service_role_arn (String)

    The new service role Amazon Resource Name (ARN) for the data source.

  • :dynamodb_config (Types::DynamodbDataSourceConfig)

    The new Amazon DynamoDB configuration.

  • :lambda_config (Types::LambdaDataSourceConfig)

    The new Lambda configuration.

  • :elasticsearch_config (Types::ElasticsearchDataSourceConfig)

    The new OpenSearch configuration.

    As of September 2021, Amazon Elasticsearch service is Amazon OpenSearch Service. This configuration is deprecated. Instead, use UpdateDataSourceRequest$openSearchServiceConfig to update an OpenSearch data source.

  • :open_search_service_config (Types::OpenSearchServiceDataSourceConfig)

    The new OpenSearch configuration.

  • :http_config (Types::HttpDataSourceConfig)

    The new HTTP endpoint configuration.

  • :relational_database_config (Types::RelationalDatabaseDataSourceConfig)

    The new relational database configuration.

  • :event_bridge_config (Types::EventBridgeDataSourceConfig)

    The new Amazon EventBridge settings.

  • :metrics_config (String)

    Enables or disables enhanced data source metrics for specified data sources. Note that ‘metricsConfig` won’t be used unless the ‘dataSourceLevelMetricsBehavior` value is set to `PER_DATA_SOURCE_METRICS`. If the `dataSourceLevelMetricsBehavior` is set to `FULL_REQUEST_DATA_SOURCE_METRICS` instead, `metricsConfig` will be ignored. However, you can still set its value.

    ‘metricsConfig` can be `ENABLED` or `DISABLED`.

Returns:

See Also:



3704
3705
3706
3707
# File 'lib/aws-sdk-appsync/client.rb', line 3704

def update_data_source(params = {}, options = {})
  req = build_request(:update_data_source, params)
  req.send_request(options)
end

#update_domain_name(params = {}) ⇒ Types::UpdateDomainNameResponse

Updates a custom ‘DomainName` object.

Examples:

Request syntax with placeholder values


resp = client.update_domain_name({
  domain_name: "DomainName", # required
  description: "Description",
})

Response structure


resp.domain_name_config.domain_name #=> String
resp.domain_name_config.description #=> String
resp.domain_name_config.certificate_arn #=> String
resp.domain_name_config.appsync_domain_name #=> String
resp.domain_name_config.hosted_zone_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :domain_name (required, String)

    The domain name.

  • :description (String)

    A description of the ‘DomainName`.

Returns:

See Also:



3740
3741
3742
3743
# File 'lib/aws-sdk-appsync/client.rb', line 3740

def update_domain_name(params = {}, options = {})
  req = build_request(:update_domain_name, params)
  req.send_request(options)
end

#update_function(params = {}) ⇒ Types::UpdateFunctionResponse

Updates a ‘Function` object.

Examples:

Request syntax with placeholder values


resp = client.update_function({
  api_id: "String", # required
  name: "ResourceName", # required
  description: "String",
  function_id: "ResourceName", # required
  data_source_name: "ResourceName", # required
  request_mapping_template: "MappingTemplate",
  response_mapping_template: "MappingTemplate",
  function_version: "String",
  sync_config: {
    conflict_handler: "OPTIMISTIC_CONCURRENCY", # accepts OPTIMISTIC_CONCURRENCY, LAMBDA, AUTOMERGE, NONE
    conflict_detection: "VERSION", # accepts VERSION, NONE
    lambda_conflict_handler_config: {
      lambda_conflict_handler_arn: "String",
    },
  },
  max_batch_size: 1,
  runtime: {
    name: "APPSYNC_JS", # required, accepts APPSYNC_JS
    runtime_version: "String", # required
  },
  code: "Code",
})

Response structure


resp.function_configuration.function_id #=> String
resp.function_configuration.function_arn #=> String
resp.function_configuration.name #=> String
resp.function_configuration.description #=> String
resp.function_configuration.data_source_name #=> String
resp.function_configuration.request_mapping_template #=> String
resp.function_configuration.response_mapping_template #=> String
resp.function_configuration.function_version #=> String
resp.function_configuration.sync_config.conflict_handler #=> String, one of "OPTIMISTIC_CONCURRENCY", "LAMBDA", "AUTOMERGE", "NONE"
resp.function_configuration.sync_config.conflict_detection #=> String, one of "VERSION", "NONE"
resp.function_configuration.sync_config.lambda_conflict_handler_config.lambda_conflict_handler_arn #=> String
resp.function_configuration.max_batch_size #=> Integer
resp.function_configuration.runtime.name #=> String, one of "APPSYNC_JS"
resp.function_configuration.runtime.runtime_version #=> String
resp.function_configuration.code #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :api_id (required, String)

    The GraphQL API ID.

  • :name (required, String)

    The ‘Function` name.

  • :description (String)

    The ‘Function` description.

  • :function_id (required, String)

    The function ID.

  • :data_source_name (required, String)

    The ‘Function` `DataSource` name.

  • :request_mapping_template (String)

    The ‘Function` request mapping template. Functions support only the 2018-05-29 version of the request mapping template.

  • :response_mapping_template (String)

    The ‘Function` request mapping template.

  • :function_version (String)

    The ‘version` of the request mapping template. Currently, the supported value is 2018-05-29. Note that when using VTL and mapping templates, the `functionVersion` is required.

  • :sync_config (Types::SyncConfig)

    Describes a Sync configuration for a resolver.

    Specifies which Conflict Detection strategy and Resolution strategy to use when the resolver is invoked.

  • :max_batch_size (Integer)

    The maximum batching size for a resolver.

  • :runtime (Types::AppSyncRuntime)

    Describes a runtime used by an Amazon Web Services AppSync pipeline resolver or Amazon Web Services AppSync function. Specifies the name and version of the runtime to use. Note that if a runtime is specified, code must also be specified.

  • :code (String)

    The ‘function` code that contains the request and response functions. When code is used, the `runtime` is required. The `runtime` value must be `APPSYNC_JS`.

Returns:

See Also:



3846
3847
3848
3849
# File 'lib/aws-sdk-appsync/client.rb', line 3846

def update_function(params = {}, options = {})
  req = build_request(:update_function, params)
  req.send_request(options)
end

#update_graphql_api(params = {}) ⇒ Types::UpdateGraphqlApiResponse

Updates a ‘GraphqlApi` object.

Examples:

Request syntax with placeholder values


resp = client.update_graphql_api({
  api_id: "String", # required
  name: "String", # required
  log_config: {
    field_log_level: "NONE", # required, accepts NONE, ERROR, ALL, INFO, DEBUG
    cloud_watch_logs_role_arn: "String", # required
    exclude_verbose_content: false,
  },
  authentication_type: "API_KEY", # required, accepts API_KEY, AWS_IAM, AMAZON_COGNITO_USER_POOLS, OPENID_CONNECT, AWS_LAMBDA
  user_pool_config: {
    user_pool_id: "String", # required
    aws_region: "String", # required
    default_action: "ALLOW", # required, accepts ALLOW, DENY
    app_id_client_regex: "String",
  },
  open_id_connect_config: {
    issuer: "String", # required
    client_id: "String",
    iat_ttl: 1,
    auth_ttl: 1,
  },
  additional_authentication_providers: [
    {
      authentication_type: "API_KEY", # accepts API_KEY, AWS_IAM, AMAZON_COGNITO_USER_POOLS, OPENID_CONNECT, AWS_LAMBDA
      open_id_connect_config: {
        issuer: "String", # required
        client_id: "String",
        iat_ttl: 1,
        auth_ttl: 1,
      },
      user_pool_config: {
        user_pool_id: "String", # required
        aws_region: "String", # required
        app_id_client_regex: "String",
      },
      lambda_authorizer_config: {
        authorizer_result_ttl_in_seconds: 1,
        authorizer_uri: "String", # required
        identity_validation_expression: "String",
      },
    },
  ],
  xray_enabled: false,
  lambda_authorizer_config: {
    authorizer_result_ttl_in_seconds: 1,
    authorizer_uri: "String", # required
    identity_validation_expression: "String",
  },
  merged_api_execution_role_arn: "String",
  owner_contact: "String",
  introspection_config: "ENABLED", # accepts ENABLED, DISABLED
  query_depth_limit: 1,
  resolver_count_limit: 1,
  enhanced_metrics_config: {
    resolver_level_metrics_behavior: "FULL_REQUEST_RESOLVER_METRICS", # required, accepts FULL_REQUEST_RESOLVER_METRICS, PER_RESOLVER_METRICS
    data_source_level_metrics_behavior: "FULL_REQUEST_DATA_SOURCE_METRICS", # required, accepts FULL_REQUEST_DATA_SOURCE_METRICS, PER_DATA_SOURCE_METRICS
    operation_level_metrics_config: "ENABLED", # required, accepts ENABLED, DISABLED
  },
})

Response structure


resp.graphql_api.name #=> String
resp.graphql_api.api_id #=> String
resp.graphql_api.authentication_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
resp.graphql_api.log_config.field_log_level #=> String, one of "NONE", "ERROR", "ALL", "INFO", "DEBUG"
resp.graphql_api.log_config.cloud_watch_logs_role_arn #=> String
resp.graphql_api.log_config.exclude_verbose_content #=> Boolean
resp.graphql_api.user_pool_config.user_pool_id #=> String
resp.graphql_api.user_pool_config.aws_region #=> String
resp.graphql_api.user_pool_config.default_action #=> String, one of "ALLOW", "DENY"
resp.graphql_api.user_pool_config.app_id_client_regex #=> String
resp.graphql_api.open_id_connect_config.issuer #=> String
resp.graphql_api.open_id_connect_config.client_id #=> String
resp.graphql_api.open_id_connect_config.iat_ttl #=> Integer
resp.graphql_api.open_id_connect_config.auth_ttl #=> Integer
resp.graphql_api.arn #=> String
resp.graphql_api.uris #=> Hash
resp.graphql_api.uris["String"] #=> String
resp.graphql_api.tags #=> Hash
resp.graphql_api.tags["TagKey"] #=> String
resp.graphql_api.additional_authentication_providers #=> Array
resp.graphql_api.additional_authentication_providers[0].authentication_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
resp.graphql_api.additional_authentication_providers[0].open_id_connect_config.issuer #=> String
resp.graphql_api.additional_authentication_providers[0].open_id_connect_config.client_id #=> String
resp.graphql_api.additional_authentication_providers[0].open_id_connect_config.iat_ttl #=> Integer
resp.graphql_api.additional_authentication_providers[0].open_id_connect_config.auth_ttl #=> Integer
resp.graphql_api.additional_authentication_providers[0].user_pool_config.user_pool_id #=> String
resp.graphql_api.additional_authentication_providers[0].user_pool_config.aws_region #=> String
resp.graphql_api.additional_authentication_providers[0].user_pool_config.app_id_client_regex #=> String
resp.graphql_api.additional_authentication_providers[0].lambda_authorizer_config.authorizer_result_ttl_in_seconds #=> Integer
resp.graphql_api.additional_authentication_providers[0].lambda_authorizer_config.authorizer_uri #=> String
resp.graphql_api.additional_authentication_providers[0].lambda_authorizer_config.identity_validation_expression #=> String
resp.graphql_api.xray_enabled #=> Boolean
resp.graphql_api.waf_web_acl_arn #=> String
resp.graphql_api.lambda_authorizer_config.authorizer_result_ttl_in_seconds #=> Integer
resp.graphql_api.lambda_authorizer_config.authorizer_uri #=> String
resp.graphql_api.lambda_authorizer_config.identity_validation_expression #=> String
resp.graphql_api.dns #=> Hash
resp.graphql_api.dns["String"] #=> String
resp.graphql_api.visibility #=> String, one of "GLOBAL", "PRIVATE"
resp.graphql_api.api_type #=> String, one of "GRAPHQL", "MERGED"
resp.graphql_api.merged_api_execution_role_arn #=> String
resp.graphql_api.owner #=> String
resp.graphql_api.owner_contact #=> String
resp.graphql_api.introspection_config #=> String, one of "ENABLED", "DISABLED"
resp.graphql_api.query_depth_limit #=> Integer
resp.graphql_api.resolver_count_limit #=> Integer
resp.graphql_api.enhanced_metrics_config.resolver_level_metrics_behavior #=> String, one of "FULL_REQUEST_RESOLVER_METRICS", "PER_RESOLVER_METRICS"
resp.graphql_api.enhanced_metrics_config.data_source_level_metrics_behavior #=> String, one of "FULL_REQUEST_DATA_SOURCE_METRICS", "PER_DATA_SOURCE_METRICS"
resp.graphql_api.enhanced_metrics_config.operation_level_metrics_config #=> String, one of "ENABLED", "DISABLED"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :api_id (required, String)

    The API ID.

  • :name (required, String)

    The new name for the ‘GraphqlApi` object.

  • :log_config (Types::LogConfig)

    The Amazon CloudWatch Logs configuration for the ‘GraphqlApi` object.

  • :authentication_type (required, String)

    The new authentication type for the ‘GraphqlApi` object.

  • :user_pool_config (Types::UserPoolConfig)

    The new Amazon Cognito user pool configuration for the ‘~GraphqlApi` object.

  • :open_id_connect_config (Types::OpenIDConnectConfig)

    The OpenID Connect configuration for the ‘GraphqlApi` object.

  • :additional_authentication_providers (Array<Types::AdditionalAuthenticationProvider>)

    A list of additional authentication providers for the ‘GraphqlApi` API.

  • :xray_enabled (Boolean)

    A flag indicating whether to use X-Ray tracing for the ‘GraphqlApi`.

  • :lambda_authorizer_config (Types::LambdaAuthorizerConfig)

    Configuration for Lambda function authorization.

  • :merged_api_execution_role_arn (String)

    The Identity and Access Management service role ARN for a merged API. The AppSync service assumes this role on behalf of the Merged API to validate access to source APIs at runtime and to prompt the ‘AUTO_MERGE` to update the merged API endpoint with the source API changes automatically.

  • :owner_contact (String)

    The owner contact information for an API resource.

    This field accepts any string input with a length of 0 - 256 characters.

  • :introspection_config (String)

    Sets the value of the GraphQL API to enable (‘ENABLED`) or disable (`DISABLED`) introspection. If no value is provided, the introspection configuration will be set to `ENABLED` by default. This field will produce an error if the operation attempts to use the introspection feature while this field is disabled.

    For more information about introspection, see [GraphQL introspection].

    [1]: graphql.org/learn/introspection/

  • :query_depth_limit (Integer)

    The maximum depth a query can have in a single request. Depth refers to the amount of nested levels allowed in the body of query. The default value is ‘0` (or unspecified), which indicates there’s no depth limit. If you set a limit, it can be between ‘1` and `75` nested levels. This field will produce a limit error if the operation falls out of bounds.

    Note that fields can still be set to nullable or non-nullable. If a non-nullable field produces an error, the error will be thrown upwards to the first nullable field available.

  • :resolver_count_limit (Integer)

    The maximum number of resolvers that can be invoked in a single request. The default value is ‘0` (or unspecified), which will set the limit to `10000`. When specified, the limit value can be between `1` and `10000`. This field will produce a limit error if the operation falls out of bounds.

  • :enhanced_metrics_config (Types::EnhancedMetricsConfig)

    The ‘enhancedMetricsConfig` object.

Returns:

See Also:



4053
4054
4055
4056
# File 'lib/aws-sdk-appsync/client.rb', line 4053

def update_graphql_api(params = {}, options = {})
  req = build_request(:update_graphql_api, params)
  req.send_request(options)
end

#update_resolver(params = {}) ⇒ Types::UpdateResolverResponse

Updates a ‘Resolver` object.

Examples:

Request syntax with placeholder values


resp = client.update_resolver({
  api_id: "String", # required
  type_name: "ResourceName", # required
  field_name: "ResourceName", # required
  data_source_name: "ResourceName",
  request_mapping_template: "MappingTemplate",
  response_mapping_template: "MappingTemplate",
  kind: "UNIT", # accepts UNIT, PIPELINE
  pipeline_config: {
    functions: ["String"],
  },
  sync_config: {
    conflict_handler: "OPTIMISTIC_CONCURRENCY", # accepts OPTIMISTIC_CONCURRENCY, LAMBDA, AUTOMERGE, NONE
    conflict_detection: "VERSION", # accepts VERSION, NONE
    lambda_conflict_handler_config: {
      lambda_conflict_handler_arn: "String",
    },
  },
  caching_config: {
    ttl: 1, # required
    caching_keys: ["String"],
  },
  max_batch_size: 1,
  runtime: {
    name: "APPSYNC_JS", # required, accepts APPSYNC_JS
    runtime_version: "String", # required
  },
  code: "Code",
  metrics_config: "ENABLED", # accepts ENABLED, DISABLED
})

Response structure


resp.resolver.type_name #=> String
resp.resolver.field_name #=> String
resp.resolver.data_source_name #=> String
resp.resolver.resolver_arn #=> String
resp.resolver.request_mapping_template #=> String
resp.resolver.response_mapping_template #=> String
resp.resolver.kind #=> String, one of "UNIT", "PIPELINE"
resp.resolver.pipeline_config.functions #=> Array
resp.resolver.pipeline_config.functions[0] #=> String
resp.resolver.sync_config.conflict_handler #=> String, one of "OPTIMISTIC_CONCURRENCY", "LAMBDA", "AUTOMERGE", "NONE"
resp.resolver.sync_config.conflict_detection #=> String, one of "VERSION", "NONE"
resp.resolver.sync_config.lambda_conflict_handler_config.lambda_conflict_handler_arn #=> String
resp.resolver.caching_config.ttl #=> Integer
resp.resolver.caching_config.caching_keys #=> Array
resp.resolver.caching_config.caching_keys[0] #=> String
resp.resolver.max_batch_size #=> Integer
resp.resolver.runtime.name #=> String, one of "APPSYNC_JS"
resp.resolver.runtime.runtime_version #=> String
resp.resolver.code #=> String
resp.resolver.metrics_config #=> String, one of "ENABLED", "DISABLED"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :api_id (required, String)

    The API ID.

  • :type_name (required, String)

    The new type name.

  • :field_name (required, String)

    The new field name.

  • :data_source_name (String)

    The new data source name.

  • :request_mapping_template (String)

    The new request mapping template.

    A resolver uses a request mapping template to convert a GraphQL expression into a format that a data source can understand. Mapping templates are written in Apache Velocity Template Language (VTL).

    VTL request mapping templates are optional when using an Lambda data source. For all other data sources, VTL request and response mapping templates are required.

  • :response_mapping_template (String)

    The new response mapping template.

  • :kind (String)

    The resolver type.

    • UNIT: A UNIT resolver type. A UNIT resolver is the default resolver type. You can use a UNIT resolver to run a GraphQL query against a single data source.

    • PIPELINE: A PIPELINE resolver type. You can use a PIPELINE resolver to invoke a series of ‘Function` objects in a serial manner. You can use a pipeline resolver to run a GraphQL query against multiple data sources.

  • :pipeline_config (Types::PipelineConfig)

    The ‘PipelineConfig`.

  • :sync_config (Types::SyncConfig)

    The ‘SyncConfig` for a resolver attached to a versioned data source.

  • :caching_config (Types::CachingConfig)

    The caching configuration for the resolver.

  • :max_batch_size (Integer)

    The maximum batching size for a resolver.

  • :runtime (Types::AppSyncRuntime)

    Describes a runtime used by an Amazon Web Services AppSync pipeline resolver or Amazon Web Services AppSync function. Specifies the name and version of the runtime to use. Note that if a runtime is specified, code must also be specified.

  • :code (String)

    The ‘resolver` code that contains the request and response functions. When code is used, the `runtime` is required. The `runtime` value must be `APPSYNC_JS`.

  • :metrics_config (String)

    Enables or disables enhanced resolver metrics for specified resolvers. Note that ‘metricsConfig` won’t be used unless the ‘resolverLevelMetricsBehavior` value is set to `PER_RESOLVER_METRICS`. If the `resolverLevelMetricsBehavior` is set to `FULL_REQUEST_RESOLVER_METRICS` instead, `metricsConfig` will be ignored. However, you can still set its value.

    ‘metricsConfig` can be `ENABLED` or `DISABLED`.

Returns:

See Also:



4195
4196
4197
4198
# File 'lib/aws-sdk-appsync/client.rb', line 4195

def update_resolver(params = {}, options = {})
  req = build_request(:update_resolver, params)
  req.send_request(options)
end

#update_source_api_association(params = {}) ⇒ Types::UpdateSourceApiAssociationResponse

Updates some of the configuration choices of a particular source API association.

Examples:

Request syntax with placeholder values


resp = client.update_source_api_association({
  association_id: "String", # required
  merged_api_identifier: "String", # required
  description: "String",
  source_api_association_config: {
    merge_type: "MANUAL_MERGE", # accepts MANUAL_MERGE, AUTO_MERGE
  },
})

Response structure


resp.source_api_association.association_id #=> String
resp.source_api_association.association_arn #=> String
resp.source_api_association.source_api_id #=> String
resp.source_api_association.source_api_arn #=> String
resp.source_api_association.merged_api_arn #=> String
resp.source_api_association.merged_api_id #=> String
resp.source_api_association.description #=> String
resp.source_api_association.source_api_association_config.merge_type #=> String, one of "MANUAL_MERGE", "AUTO_MERGE"
resp.source_api_association.source_api_association_status #=> String, one of "MERGE_SCHEDULED", "MERGE_FAILED", "MERGE_SUCCESS", "MERGE_IN_PROGRESS", "AUTO_MERGE_SCHEDULE_FAILED", "DELETION_SCHEDULED", "DELETION_IN_PROGRESS", "DELETION_FAILED"
resp.source_api_association.source_api_association_status_detail #=> String
resp.source_api_association.last_successful_merge_date #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :association_id (required, String)

    The ID generated by the AppSync service for the source API association.

  • :merged_api_identifier (required, String)

    The identifier of the AppSync Merged API. This is generated by the AppSync service. In most cases, Merged APIs (especially in your account) only require the API ID value or ARN of the merged API. However, Merged APIs in other accounts (cross-account use cases) strictly require the full resource ARN of the merged API.

  • :description (String)

    The description field.

  • :source_api_association_config (Types::SourceApiAssociationConfig)

    The ‘SourceApiAssociationConfig` object data.

Returns:

See Also:



4253
4254
4255
4256
# File 'lib/aws-sdk-appsync/client.rb', line 4253

def update_source_api_association(params = {}, options = {})
  req = build_request(:update_source_api_association, params)
  req.send_request(options)
end

#update_type(params = {}) ⇒ Types::UpdateTypeResponse

Updates a ‘Type` object.

Examples:

Request syntax with placeholder values


resp = client.update_type({
  api_id: "String", # required
  type_name: "ResourceName", # required
  definition: "String",
  format: "SDL", # required, accepts SDL, JSON
})

Response structure


resp.type.name #=> String
resp.type.description #=> String
resp.type.arn #=> String
resp.type.definition #=> String
resp.type.format #=> String, one of "SDL", "JSON"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :api_id (required, String)

    The API ID.

  • :type_name (required, String)

    The new type name.

  • :definition (String)

    The new definition.

  • :format (required, String)

    The new type format: SDL or JSON.

Returns:

See Also:



4297
4298
4299
4300
# File 'lib/aws-sdk-appsync/client.rb', line 4297

def update_type(params = {}, options = {})
  req = build_request(:update_type, params)
  req.send_request(options)
end

#waiter_namesObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Deprecated.


4326
4327
4328
# File 'lib/aws-sdk-appsync/client.rb', line 4326

def waiter_names
  []
end