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`, `:session_token`, and `:account_id` options.

    • ENV, ENV, ENV, and 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::InstanceProfileCredentials` 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)
  • :account_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_cert (OpenSSL::X509::Certificate)

    Sets a client certificate when creating http connections.

  • :ssl_key (OpenSSL::PKey)

    Sets a client key when creating http connections.

  • :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.



444
445
446
# File 'lib/aws-sdk-appsync/client.rb', line 444

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.



4996
4997
4998
# File 'lib/aws-sdk-appsync/client.rb', line 4996

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.



4999
5000
5001
# File 'lib/aws-sdk-appsync/client.rb', line 4999

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:



480
481
482
483
# File 'lib/aws-sdk-appsync/client.rb', line 480

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:



541
542
543
544
# File 'lib/aws-sdk-appsync/client.rb', line 541

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:



602
603
604
605
# File 'lib/aws-sdk-appsync/client.rb', line 602

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: {})


4969
4970
4971
4972
4973
4974
4975
4976
4977
4978
4979
4980
4981
4982
4983
4984
4985
# File 'lib/aws-sdk-appsync/client.rb', line 4969

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.93.0'
  Seahorse::Client::Request.new(handlers, context)
end

#create_api(params = {}) ⇒ Types::CreateApiResponse

Creates an ‘Api` object. Use this operation to create an AppSync API with your preferred configuration, such as an Event API that provides real-time message publishing and message subscriptions over WebSockets.

Examples:

Request syntax with placeholder values


resp = client.create_api({
  name: "ApiName", # required
  owner_contact: "String",
  tags: {
    "TagKey" => "TagValue",
  },
  event_config: {
    auth_providers: [ # required
      {
        auth_type: "API_KEY", # required, accepts API_KEY, AWS_IAM, AMAZON_COGNITO_USER_POOLS, OPENID_CONNECT, AWS_LAMBDA
        cognito_config: {
          user_pool_id: "String", # required
          aws_region: "String", # required
          app_id_client_regex: "String",
        },
        open_id_connect_config: {
          issuer: "String", # required
          client_id: "String",
          iat_ttl: 1,
          auth_ttl: 1,
        },
        lambda_authorizer_config: {
          authorizer_result_ttl_in_seconds: 1,
          authorizer_uri: "String", # required
          identity_validation_expression: "String",
        },
      },
    ],
    connection_auth_modes: [ # required
      {
        auth_type: "API_KEY", # required, accepts API_KEY, AWS_IAM, AMAZON_COGNITO_USER_POOLS, OPENID_CONNECT, AWS_LAMBDA
      },
    ],
    default_publish_auth_modes: [ # required
      {
        auth_type: "API_KEY", # required, accepts API_KEY, AWS_IAM, AMAZON_COGNITO_USER_POOLS, OPENID_CONNECT, AWS_LAMBDA
      },
    ],
    default_subscribe_auth_modes: [ # required
      {
        auth_type: "API_KEY", # required, accepts API_KEY, AWS_IAM, AMAZON_COGNITO_USER_POOLS, OPENID_CONNECT, AWS_LAMBDA
      },
    ],
    log_config: {
      log_level: "NONE", # required, accepts NONE, ERROR, ALL, INFO, DEBUG
      cloud_watch_logs_role_arn: "String", # required
    },
  },
})

Response structure


resp.api.api_id #=> String
resp.api.name #=> String
resp.api.owner_contact #=> String
resp.api.tags #=> Hash
resp.api.tags["TagKey"] #=> String
resp.api.dns #=> Hash
resp.api.dns["String"] #=> String
resp.api.api_arn #=> String
resp.api.created #=> Time
resp.api.xray_enabled #=> Boolean
resp.api.waf_web_acl_arn #=> String
resp.api.event_config.auth_providers #=> Array
resp.api.event_config.auth_providers[0].auth_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
resp.api.event_config.auth_providers[0].cognito_config.user_pool_id #=> String
resp.api.event_config.auth_providers[0].cognito_config.aws_region #=> String
resp.api.event_config.auth_providers[0].cognito_config.app_id_client_regex #=> String
resp.api.event_config.auth_providers[0].open_id_connect_config.issuer #=> String
resp.api.event_config.auth_providers[0].open_id_connect_config.client_id #=> String
resp.api.event_config.auth_providers[0].open_id_connect_config.iat_ttl #=> Integer
resp.api.event_config.auth_providers[0].open_id_connect_config.auth_ttl #=> Integer
resp.api.event_config.auth_providers[0].lambda_authorizer_config.authorizer_result_ttl_in_seconds #=> Integer
resp.api.event_config.auth_providers[0].lambda_authorizer_config.authorizer_uri #=> String
resp.api.event_config.auth_providers[0].lambda_authorizer_config.identity_validation_expression #=> String
resp.api.event_config.connection_auth_modes #=> Array
resp.api.event_config.connection_auth_modes[0].auth_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
resp.api.event_config.default_publish_auth_modes #=> Array
resp.api.event_config.default_publish_auth_modes[0].auth_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
resp.api.event_config.default_subscribe_auth_modes #=> Array
resp.api.event_config.default_subscribe_auth_modes[0].auth_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
resp.api.event_config.log_config.log_level #=> String, one of "NONE", "ERROR", "ALL", "INFO", "DEBUG"
resp.api.event_config.log_config.cloud_watch_logs_role_arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :name (required, String)

    The name for the ‘Api`.

  • :owner_contact (String)

    The owner contact information for the ‘Api`.

  • :tags (Hash<String,String>)

    A map with keys of ‘TagKey` objects and values of `TagValue` objects.

  • :event_config (Types::EventConfig)

    The Event API configuration. This includes the default authorization configuration for connecting, publishing, and subscribing to an Event API.

Returns:

See Also:



720
721
722
723
# File 'lib/aws-sdk-appsync/client.rb', line 720

def create_api(params = {}, options = {})
  req = build_request(:create_api, params)
  req.send_request(options)
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:



836
837
838
839
# File 'lib/aws-sdk-appsync/client.rb', line 836

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:



879
880
881
882
# File 'lib/aws-sdk-appsync/client.rb', line 879

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

#create_channel_namespace(params = {}) ⇒ Types::CreateChannelNamespaceResponse

Creates a ‘ChannelNamespace` for an `Api`.

Examples:

Request syntax with placeholder values


resp = client.create_channel_namespace({
  api_id: "String", # required
  name: "Namespace", # required
  subscribe_auth_modes: [
    {
      auth_type: "API_KEY", # required, accepts API_KEY, AWS_IAM, AMAZON_COGNITO_USER_POOLS, OPENID_CONNECT, AWS_LAMBDA
    },
  ],
  publish_auth_modes: [
    {
      auth_type: "API_KEY", # required, accepts API_KEY, AWS_IAM, AMAZON_COGNITO_USER_POOLS, OPENID_CONNECT, AWS_LAMBDA
    },
  ],
  code_handlers: "Code",
  tags: {
    "TagKey" => "TagValue",
  },
})

Response structure


resp.channel_namespace.api_id #=> String
resp.channel_namespace.name #=> String
resp.channel_namespace.subscribe_auth_modes #=> Array
resp.channel_namespace.subscribe_auth_modes[0].auth_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
resp.channel_namespace.publish_auth_modes #=> Array
resp.channel_namespace.publish_auth_modes[0].auth_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
resp.channel_namespace.code_handlers #=> String
resp.channel_namespace.tags #=> Hash
resp.channel_namespace.tags["TagKey"] #=> String
resp.channel_namespace.channel_namespace_arn #=> String
resp.channel_namespace.created #=> Time
resp.channel_namespace.last_modified #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :api_id (required, String)

    The ‘Api` ID.

  • :name (required, String)

    The name of the ‘ChannelNamespace`. This name must be unique within the `Api`

  • :subscribe_auth_modes (Array<Types::AuthMode>)

    The authorization mode to use for subscribing to messages on the channel namespace. This configuration overrides the default ‘Api` authorization configuration.

  • :publish_auth_modes (Array<Types::AuthMode>)

    The authorization mode to use for publishing messages on the channel namespace. This configuration overrides the default ‘Api` authorization configuration.

  • :code_handlers (String)

    The event handler functions that run custom business logic to process published events and subscribe requests.

  • :tags (Hash<String,String>)

    A map with keys of ‘TagKey` objects and values of `TagValue` objects.

Returns:

See Also:



954
955
956
957
# File 'lib/aws-sdk-appsync/client.rb', line 954

def create_channel_namespace(params = {}, options = {})
  req = build_request(:create_channel_namespace, 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:



1110
1111
1112
1113
# File 'lib/aws-sdk-appsync/client.rb', line 1110

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:



1152
1153
1154
1155
# File 'lib/aws-sdk-appsync/client.rb', line 1152

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:



1257
1258
1259
1260
# File 'lib/aws-sdk-appsync/client.rb', line 1257

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",
  },
  api_type: "GRAPHQL", # accepts GRAPHQL, MERGED
  merged_api_execution_role_arn: "String",
  visibility: "GLOBAL", # accepts GLOBAL, PRIVATE
  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.

  • :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.

  • :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.

  • :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:



1478
1479
1480
1481
# File 'lib/aws-sdk-appsync/client.rb', line 1478

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:



1624
1625
1626
1627
# File 'lib/aws-sdk-appsync/client.rb', line 1624

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:



1671
1672
1673
1674
# File 'lib/aws-sdk-appsync/client.rb', line 1671

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

#delete_api(params = {}) ⇒ Struct

Deletes an ‘Api` object

Examples:

Request syntax with placeholder values


resp = client.delete_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:



1693
1694
1695
1696
# File 'lib/aws-sdk-appsync/client.rb', line 1693

def delete_api(params = {}, options = {})
  req = build_request(:delete_api, 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:



1715
1716
1717
1718
# File 'lib/aws-sdk-appsync/client.rb', line 1715

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:



1741
1742
1743
1744
# File 'lib/aws-sdk-appsync/client.rb', line 1741

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

#delete_channel_namespace(params = {}) ⇒ Struct

Deletes a ‘ChannelNamespace`.

Examples:

Request syntax with placeholder values


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

Parameters:

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

    ({})

Options Hash (params):

  • :api_id (required, String)

    The ID of the ‘Api` associated with the `ChannelNamespace`.

  • :name (required, String)

    The name of the ‘ChannelNamespace`.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



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

def delete_channel_namespace(params = {}, options = {})
  req = build_request(:delete_channel_namespace, 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:



1793
1794
1795
1796
# File 'lib/aws-sdk-appsync/client.rb', line 1793

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:



1815
1816
1817
1818
# File 'lib/aws-sdk-appsync/client.rb', line 1815

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:



1841
1842
1843
1844
# File 'lib/aws-sdk-appsync/client.rb', line 1841

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:



1863
1864
1865
1866
# File 'lib/aws-sdk-appsync/client.rb', line 1863

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:



1893
1894
1895
1896
# File 'lib/aws-sdk-appsync/client.rb', line 1893

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:



1919
1920
1921
1922
# File 'lib/aws-sdk-appsync/client.rb', line 1919

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:



1941
1942
1943
1944
# File 'lib/aws-sdk-appsync/client.rb', line 1941

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:



1979
1980
1981
1982
# File 'lib/aws-sdk-appsync/client.rb', line 1979

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:



2017
2018
2019
2020
# File 'lib/aws-sdk-appsync/client.rb', line 2017

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:



2083
2084
2085
2086
# File 'lib/aws-sdk-appsync/client.rb', line 2083

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:



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

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:



2153
2154
2155
2156
# File 'lib/aws-sdk-appsync/client.rb', line 2153

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

#get_api(params = {}) ⇒ Types::GetApiResponse

Retrieves an ‘Api` object.

Examples:

Request syntax with placeholder values


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

Response structure


resp.api.api_id #=> String
resp.api.name #=> String
resp.api.owner_contact #=> String
resp.api.tags #=> Hash
resp.api.tags["TagKey"] #=> String
resp.api.dns #=> Hash
resp.api.dns["String"] #=> String
resp.api.api_arn #=> String
resp.api.created #=> Time
resp.api.xray_enabled #=> Boolean
resp.api.waf_web_acl_arn #=> String
resp.api.event_config.auth_providers #=> Array
resp.api.event_config.auth_providers[0].auth_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
resp.api.event_config.auth_providers[0].cognito_config.user_pool_id #=> String
resp.api.event_config.auth_providers[0].cognito_config.aws_region #=> String
resp.api.event_config.auth_providers[0].cognito_config.app_id_client_regex #=> String
resp.api.event_config.auth_providers[0].open_id_connect_config.issuer #=> String
resp.api.event_config.auth_providers[0].open_id_connect_config.client_id #=> String
resp.api.event_config.auth_providers[0].open_id_connect_config.iat_ttl #=> Integer
resp.api.event_config.auth_providers[0].open_id_connect_config.auth_ttl #=> Integer
resp.api.event_config.auth_providers[0].lambda_authorizer_config.authorizer_result_ttl_in_seconds #=> Integer
resp.api.event_config.auth_providers[0].lambda_authorizer_config.authorizer_uri #=> String
resp.api.event_config.auth_providers[0].lambda_authorizer_config.identity_validation_expression #=> String
resp.api.event_config.connection_auth_modes #=> Array
resp.api.event_config.connection_auth_modes[0].auth_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
resp.api.event_config.default_publish_auth_modes #=> Array
resp.api.event_config.default_publish_auth_modes[0].auth_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
resp.api.event_config.default_subscribe_auth_modes #=> Array
resp.api.event_config.default_subscribe_auth_modes[0].auth_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
resp.api.event_config.log_config.log_level #=> String, one of "NONE", "ERROR", "ALL", "INFO", "DEBUG"
resp.api.event_config.log_config.cloud_watch_logs_role_arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :api_id (required, String)

    The ‘Api` ID.

Returns:

See Also:



2211
2212
2213
2214
# File 'lib/aws-sdk-appsync/client.rb', line 2211

def get_api(params = {}, options = {})
  req = build_request(:get_api, 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:



2242
2243
2244
2245
# File 'lib/aws-sdk-appsync/client.rb', line 2242

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:



2276
2277
2278
2279
# File 'lib/aws-sdk-appsync/client.rb', line 2276

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

#get_channel_namespace(params = {}) ⇒ Types::GetChannelNamespaceResponse

Retrieves the channel namespace for a specified ‘Api`.

Examples:

Request syntax with placeholder values


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

Response structure


resp.channel_namespace.api_id #=> String
resp.channel_namespace.name #=> String
resp.channel_namespace.subscribe_auth_modes #=> Array
resp.channel_namespace.subscribe_auth_modes[0].auth_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
resp.channel_namespace.publish_auth_modes #=> Array
resp.channel_namespace.publish_auth_modes[0].auth_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
resp.channel_namespace.code_handlers #=> String
resp.channel_namespace.tags #=> Hash
resp.channel_namespace.tags["TagKey"] #=> String
resp.channel_namespace.channel_namespace_arn #=> String
resp.channel_namespace.created #=> Time
resp.channel_namespace.last_modified #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :api_id (required, String)

    The ‘Api` ID.

  • :name (required, String)

    The name of the ‘ChannelNamespace`.

Returns:

See Also:



2319
2320
2321
2322
# File 'lib/aws-sdk-appsync/client.rb', line 2319

def get_channel_namespace(params = {}, options = {})
  req = build_request(:get_channel_namespace, 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:



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

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. 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:



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

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:



2485
2486
2487
2488
# File 'lib/aws-sdk-appsync/client.rb', line 2485

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:



2531
2532
2533
2534
# File 'lib/aws-sdk-appsync/client.rb', line 2531

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:



2607
2608
2609
2610
# File 'lib/aws-sdk-appsync/client.rb', line 2607

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:



2638
2639
2640
2641
# File 'lib/aws-sdk-appsync/client.rb', line 2638

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:



2675
2676
2677
2678
# File 'lib/aws-sdk-appsync/client.rb', line 2675

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:



2730
2731
2732
2733
# File 'lib/aws-sdk-appsync/client.rb', line 2730

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:



2760
2761
2762
2763
# File 'lib/aws-sdk-appsync/client.rb', line 2760

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:



2807
2808
2809
2810
# File 'lib/aws-sdk-appsync/client.rb', line 2807

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:



2847
2848
2849
2850
# File 'lib/aws-sdk-appsync/client.rb', line 2847

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:



2900
2901
2902
2903
# File 'lib/aws-sdk-appsync/client.rb', line 2900

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

#list_apis(params = {}) ⇒ Types::ListApisResponse

Lists the APIs in your AppSync account.

‘ListApis` returns only the high level API details. For more detailed information about an API, use `GetApi`.

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_apis({
  next_token: "PaginationToken",
  max_results: 1,
})

Response structure


resp.apis #=> Array
resp.apis[0].api_id #=> String
resp.apis[0].name #=> String
resp.apis[0].owner_contact #=> String
resp.apis[0].tags #=> Hash
resp.apis[0].tags["TagKey"] #=> String
resp.apis[0].dns #=> Hash
resp.apis[0].dns["String"] #=> String
resp.apis[0].api_arn #=> String
resp.apis[0].created #=> Time
resp.apis[0].xray_enabled #=> Boolean
resp.apis[0].waf_web_acl_arn #=> String
resp.apis[0].event_config.auth_providers #=> Array
resp.apis[0].event_config.auth_providers[0].auth_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
resp.apis[0].event_config.auth_providers[0].cognito_config.user_pool_id #=> String
resp.apis[0].event_config.auth_providers[0].cognito_config.aws_region #=> String
resp.apis[0].event_config.auth_providers[0].cognito_config.app_id_client_regex #=> String
resp.apis[0].event_config.auth_providers[0].open_id_connect_config.issuer #=> String
resp.apis[0].event_config.auth_providers[0].open_id_connect_config.client_id #=> String
resp.apis[0].event_config.auth_providers[0].open_id_connect_config.iat_ttl #=> Integer
resp.apis[0].event_config.auth_providers[0].open_id_connect_config.auth_ttl #=> Integer
resp.apis[0].event_config.auth_providers[0].lambda_authorizer_config.authorizer_result_ttl_in_seconds #=> Integer
resp.apis[0].event_config.auth_providers[0].lambda_authorizer_config.authorizer_uri #=> String
resp.apis[0].event_config.auth_providers[0].lambda_authorizer_config.identity_validation_expression #=> String
resp.apis[0].event_config.connection_auth_modes #=> Array
resp.apis[0].event_config.connection_auth_modes[0].auth_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
resp.apis[0].event_config.default_publish_auth_modes #=> Array
resp.apis[0].event_config.default_publish_auth_modes[0].auth_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
resp.apis[0].event_config.default_subscribe_auth_modes #=> Array
resp.apis[0].event_config.default_subscribe_auth_modes[0].auth_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
resp.apis[0].event_config.log_config.log_level #=> String, one of "NONE", "ERROR", "ALL", "INFO", "DEBUG"
resp.apis[0].event_config.log_config.cloud_watch_logs_role_arn #=> 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:



2972
2973
2974
2975
# File 'lib/aws-sdk-appsync/client.rb', line 2972

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

#list_channel_namespaces(params = {}) ⇒ Types::ListChannelNamespacesResponse

Lists the channel namespaces for a specified ‘Api`.

‘ListChannelNamespaces` returns only high level details for the channel namespace. To retrieve code handlers, use `GetChannelNamespace`.

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_channel_namespaces({
  api_id: "String", # required
  next_token: "PaginationToken",
  max_results: 1,
})

Response structure


resp.channel_namespaces #=> Array
resp.channel_namespaces[0].api_id #=> String
resp.channel_namespaces[0].name #=> String
resp.channel_namespaces[0].subscribe_auth_modes #=> Array
resp.channel_namespaces[0].subscribe_auth_modes[0].auth_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
resp.channel_namespaces[0].publish_auth_modes #=> Array
resp.channel_namespaces[0].publish_auth_modes[0].auth_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
resp.channel_namespaces[0].code_handlers #=> String
resp.channel_namespaces[0].tags #=> Hash
resp.channel_namespaces[0].tags["TagKey"] #=> String
resp.channel_namespaces[0].channel_namespace_arn #=> String
resp.channel_namespaces[0].created #=> Time
resp.channel_namespaces[0].last_modified #=> Time
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:



3030
3031
3032
3033
# File 'lib/aws-sdk-appsync/client.rb', line 3030

def list_channel_namespaces(params = {}, options = {})
  req = build_request(:list_channel_namespaces, 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:



3101
3102
3103
3104
# File 'lib/aws-sdk-appsync/client.rb', line 3101

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:



3144
3145
3146
3147
# File 'lib/aws-sdk-appsync/client.rb', line 3144

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:



3201
3202
3203
3204
# File 'lib/aws-sdk-appsync/client.rb', line 3201

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:



3297
3298
3299
3300
# File 'lib/aws-sdk-appsync/client.rb', line 3297

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:



3363
3364
3365
3366
# File 'lib/aws-sdk-appsync/client.rb', line 3363

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:



3429
3430
3431
3432
# File 'lib/aws-sdk-appsync/client.rb', line 3429

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:



3478
3479
3480
3481
# File 'lib/aws-sdk-appsync/client.rb', line 3478

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:



3507
3508
3509
3510
# File 'lib/aws-sdk-appsync/client.rb', line 3507

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:



3558
3559
3560
3561
# File 'lib/aws-sdk-appsync/client.rb', line 3558

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:



3618
3619
3620
3621
# File 'lib/aws-sdk-appsync/client.rb', line 3618

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:



3716
3717
3718
3719
# File 'lib/aws-sdk-appsync/client.rb', line 3716

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:



3753
3754
3755
3756
# File 'lib/aws-sdk-appsync/client.rb', line 3753

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:



3788
3789
3790
3791
# File 'lib/aws-sdk-appsync/client.rb', line 3788

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:



3826
3827
3828
3829
# File 'lib/aws-sdk-appsync/client.rb', line 3826

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:



3854
3855
3856
3857
# File 'lib/aws-sdk-appsync/client.rb', line 3854

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:



3880
3881
3882
3883
# File 'lib/aws-sdk-appsync/client.rb', line 3880

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

#update_api(params = {}) ⇒ Types::UpdateApiResponse

Updates an ‘Api`.

Examples:

Request syntax with placeholder values


resp = client.update_api({
  api_id: "String", # required
  name: "ApiName", # required
  owner_contact: "String",
  event_config: {
    auth_providers: [ # required
      {
        auth_type: "API_KEY", # required, accepts API_KEY, AWS_IAM, AMAZON_COGNITO_USER_POOLS, OPENID_CONNECT, AWS_LAMBDA
        cognito_config: {
          user_pool_id: "String", # required
          aws_region: "String", # required
          app_id_client_regex: "String",
        },
        open_id_connect_config: {
          issuer: "String", # required
          client_id: "String",
          iat_ttl: 1,
          auth_ttl: 1,
        },
        lambda_authorizer_config: {
          authorizer_result_ttl_in_seconds: 1,
          authorizer_uri: "String", # required
          identity_validation_expression: "String",
        },
      },
    ],
    connection_auth_modes: [ # required
      {
        auth_type: "API_KEY", # required, accepts API_KEY, AWS_IAM, AMAZON_COGNITO_USER_POOLS, OPENID_CONNECT, AWS_LAMBDA
      },
    ],
    default_publish_auth_modes: [ # required
      {
        auth_type: "API_KEY", # required, accepts API_KEY, AWS_IAM, AMAZON_COGNITO_USER_POOLS, OPENID_CONNECT, AWS_LAMBDA
      },
    ],
    default_subscribe_auth_modes: [ # required
      {
        auth_type: "API_KEY", # required, accepts API_KEY, AWS_IAM, AMAZON_COGNITO_USER_POOLS, OPENID_CONNECT, AWS_LAMBDA
      },
    ],
    log_config: {
      log_level: "NONE", # required, accepts NONE, ERROR, ALL, INFO, DEBUG
      cloud_watch_logs_role_arn: "String", # required
    },
  },
})

Response structure


resp.api.api_id #=> String
resp.api.name #=> String
resp.api.owner_contact #=> String
resp.api.tags #=> Hash
resp.api.tags["TagKey"] #=> String
resp.api.dns #=> Hash
resp.api.dns["String"] #=> String
resp.api.api_arn #=> String
resp.api.created #=> Time
resp.api.xray_enabled #=> Boolean
resp.api.waf_web_acl_arn #=> String
resp.api.event_config.auth_providers #=> Array
resp.api.event_config.auth_providers[0].auth_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
resp.api.event_config.auth_providers[0].cognito_config.user_pool_id #=> String
resp.api.event_config.auth_providers[0].cognito_config.aws_region #=> String
resp.api.event_config.auth_providers[0].cognito_config.app_id_client_regex #=> String
resp.api.event_config.auth_providers[0].open_id_connect_config.issuer #=> String
resp.api.event_config.auth_providers[0].open_id_connect_config.client_id #=> String
resp.api.event_config.auth_providers[0].open_id_connect_config.iat_ttl #=> Integer
resp.api.event_config.auth_providers[0].open_id_connect_config.auth_ttl #=> Integer
resp.api.event_config.auth_providers[0].lambda_authorizer_config.authorizer_result_ttl_in_seconds #=> Integer
resp.api.event_config.auth_providers[0].lambda_authorizer_config.authorizer_uri #=> String
resp.api.event_config.auth_providers[0].lambda_authorizer_config.identity_validation_expression #=> String
resp.api.event_config.connection_auth_modes #=> Array
resp.api.event_config.connection_auth_modes[0].auth_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
resp.api.event_config.default_publish_auth_modes #=> Array
resp.api.event_config.default_publish_auth_modes[0].auth_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
resp.api.event_config.default_subscribe_auth_modes #=> Array
resp.api.event_config.default_subscribe_auth_modes[0].auth_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
resp.api.event_config.log_config.log_level #=> String, one of "NONE", "ERROR", "ALL", "INFO", "DEBUG"
resp.api.event_config.log_config.cloud_watch_logs_role_arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :api_id (required, String)

    The ‘Api` ID.

  • :name (required, String)

    The name of the Api.

  • :owner_contact (String)

    The owner contact information for the ‘Api`.

  • :event_config (Types::EventConfig)

    The new event configuration. This includes the default authorization configuration for connecting, publishing, and subscribing to an Event API.

Returns:

See Also:



3993
3994
3995
3996
# File 'lib/aws-sdk-appsync/client.rb', line 3993

def update_api(params = {}, options = {})
  req = build_request(:update_api, 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:



4099
4100
4101
4102
# File 'lib/aws-sdk-appsync/client.rb', line 4099

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:



4145
4146
4147
4148
# File 'lib/aws-sdk-appsync/client.rb', line 4145

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

#update_channel_namespace(params = {}) ⇒ Types::UpdateChannelNamespaceResponse

Updates a ‘ChannelNamespace` associated with an `Api`.

Examples:

Request syntax with placeholder values


resp = client.update_channel_namespace({
  api_id: "String", # required
  name: "Namespace", # required
  subscribe_auth_modes: [
    {
      auth_type: "API_KEY", # required, accepts API_KEY, AWS_IAM, AMAZON_COGNITO_USER_POOLS, OPENID_CONNECT, AWS_LAMBDA
    },
  ],
  publish_auth_modes: [
    {
      auth_type: "API_KEY", # required, accepts API_KEY, AWS_IAM, AMAZON_COGNITO_USER_POOLS, OPENID_CONNECT, AWS_LAMBDA
    },
  ],
  code_handlers: "Code",
})

Response structure


resp.channel_namespace.api_id #=> String
resp.channel_namespace.name #=> String
resp.channel_namespace.subscribe_auth_modes #=> Array
resp.channel_namespace.subscribe_auth_modes[0].auth_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
resp.channel_namespace.publish_auth_modes #=> Array
resp.channel_namespace.publish_auth_modes[0].auth_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
resp.channel_namespace.code_handlers #=> String
resp.channel_namespace.tags #=> Hash
resp.channel_namespace.tags["TagKey"] #=> String
resp.channel_namespace.channel_namespace_arn #=> String
resp.channel_namespace.created #=> Time
resp.channel_namespace.last_modified #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :api_id (required, String)

    The ‘Api` ID.

  • :name (required, String)

    The name of the ‘ChannelNamespace`.

  • :subscribe_auth_modes (Array<Types::AuthMode>)

    The authorization mode to use for subscribing to messages on the channel namespace. This configuration overrides the default ‘Api` authorization configuration.

  • :publish_auth_modes (Array<Types::AuthMode>)

    The authorization mode to use for publishing messages on the channel namespace. This configuration overrides the default ‘Api` authorization configuration.

  • :code_handlers (String)

    The event handler functions that run custom business logic to process published events and subscribe requests.

Returns:

See Also:



4213
4214
4215
4216
# File 'lib/aws-sdk-appsync/client.rb', line 4213

def update_channel_namespace(params = {}, options = {})
  req = build_request(:update_channel_namespace, 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:



4367
4368
4369
4370
# File 'lib/aws-sdk-appsync/client.rb', line 4367

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:



4403
4404
4405
4406
# File 'lib/aws-sdk-appsync/client.rb', line 4403

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:



4509
4510
4511
4512
# File 'lib/aws-sdk-appsync/client.rb', line 4509

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", # 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 (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:



4716
4717
4718
4719
# File 'lib/aws-sdk-appsync/client.rb', line 4716

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:



4858
4859
4860
4861
# File 'lib/aws-sdk-appsync/client.rb', line 4858

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:



4916
4917
4918
4919
# File 'lib/aws-sdk-appsync/client.rb', line 4916

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:



4960
4961
4962
4963
# File 'lib/aws-sdk-appsync/client.rb', line 4960

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.


4989
4990
4991
# File 'lib/aws-sdk-appsync/client.rb', line 4989

def waiter_names
  []
end