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_checksum_calculation (String) — default: "when_supported"

    Determines when a checksum will be calculated for request payloads. Values are:

    • ‘when_supported` - (default) When set, a checksum will be calculated for all request payloads of operations modeled with the `httpChecksum` trait where `requestChecksumRequired` is `true` and/or a `requestAlgorithmMember` is modeled.

    • ‘when_required` - When set, a checksum will only be calculated for request payloads of operations modeled with the `httpChecksum` trait where `requestChecksumRequired` is `true` or where a `requestAlgorithmMember` is modeled and supplied.

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

  • :response_checksum_validation (String) — default: "when_supported"

    Determines when checksum validation will be performed on response payloads. Values are:

    • ‘when_supported` - (default) When set, checksum validation is performed on all response payloads of operations modeled with the `httpChecksum` trait where `responseAlgorithms` is modeled, except when no modeled checksum algorithms are supported.

    • ‘when_required` - When set, checksum validation is not performed on response payloads of operations unless the checksum algorithm is supported and the `requestValidationModeMember` member is set to `ENABLED`.

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



467
468
469
# File 'lib/aws-sdk-appsync/client.rb', line 467

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.



5037
5038
5039
# File 'lib/aws-sdk-appsync/client.rb', line 5037

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.



5040
5041
5042
# File 'lib/aws-sdk-appsync/client.rb', line 5040

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:



503
504
505
506
# File 'lib/aws-sdk-appsync/client.rb', line 503

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:



564
565
566
567
# File 'lib/aws-sdk-appsync/client.rb', line 564

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:



625
626
627
628
# File 'lib/aws-sdk-appsync/client.rb', line 625

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


5010
5011
5012
5013
5014
5015
5016
5017
5018
5019
5020
5021
5022
5023
5024
5025
5026
# File 'lib/aws-sdk-appsync/client.rb', line 5010

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



743
744
745
746
# File 'lib/aws-sdk-appsync/client.rb', line 743

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, OPERATION_LEVEL_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", "OPERATION_LEVEL_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 from the same user are cached. Individual resolvers are automatically cached. All API calls will try to return responses from the cache.

    • PER_RESOLVER_CACHING: Individual resolvers that you specify are cached.

    • OPERATION_LEVEL_CACHING: Full requests are cached together and returned without executing resolvers.

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



864
865
866
867
# File 'lib/aws-sdk-appsync/client.rb', line 864

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:



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

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:



982
983
984
985
# File 'lib/aws-sdk-appsync/client.rb', line 982

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, AMAZON_BEDROCK_RUNTIME
  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", "AMAZON_BEDROCK_RUNTIME"
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:



1138
1139
1140
1141
# File 'lib/aws-sdk-appsync/client.rb', line 1138

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:



1180
1181
1182
1183
# File 'lib/aws-sdk-appsync/client.rb', line 1180

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:



1285
1286
1287
1288
# File 'lib/aws-sdk-appsync/client.rb', line 1285

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:



1506
1507
1508
1509
# File 'lib/aws-sdk-appsync/client.rb', line 1506

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:



1652
1653
1654
1655
# File 'lib/aws-sdk-appsync/client.rb', line 1652

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:



1699
1700
1701
1702
# File 'lib/aws-sdk-appsync/client.rb', line 1699

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:



1721
1722
1723
1724
# File 'lib/aws-sdk-appsync/client.rb', line 1721

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:



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

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:



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

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:



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

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:



1821
1822
1823
1824
# File 'lib/aws-sdk-appsync/client.rb', line 1821

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:



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

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:



1869
1870
1871
1872
# File 'lib/aws-sdk-appsync/client.rb', line 1869

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:



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

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:



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

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:



1947
1948
1949
1950
# File 'lib/aws-sdk-appsync/client.rb', line 1947

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:



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

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:



2007
2008
2009
2010
# File 'lib/aws-sdk-appsync/client.rb', line 2007

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:



2045
2046
2047
2048
# File 'lib/aws-sdk-appsync/client.rb', line 2045

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
resp.stash #=> String
resp.out_errors #=> 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:



2115
2116
2117
2118
# File 'lib/aws-sdk-appsync/client.rb', line 2115

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
resp.stash #=> String
resp.out_errors #=> 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:



2167
2168
2169
2170
# File 'lib/aws-sdk-appsync/client.rb', line 2167

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:



2189
2190
2191
2192
# File 'lib/aws-sdk-appsync/client.rb', line 2189

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:



2247
2248
2249
2250
# File 'lib/aws-sdk-appsync/client.rb', line 2247

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:



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

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", "OPERATION_LEVEL_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:



2312
2313
2314
2315
# File 'lib/aws-sdk-appsync/client.rb', line 2312

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:



2355
2356
2357
2358
# File 'lib/aws-sdk-appsync/client.rb', line 2355

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", "AMAZON_BEDROCK_RUNTIME"
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:



2415
2416
2417
2418
# File 'lib/aws-sdk-appsync/client.rb', line 2415

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:



2489
2490
2491
2492
# File 'lib/aws-sdk-appsync/client.rb', line 2489

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:



2521
2522
2523
2524
# File 'lib/aws-sdk-appsync/client.rb', line 2521

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:



2567
2568
2569
2570
# File 'lib/aws-sdk-appsync/client.rb', line 2567

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:



2643
2644
2645
2646
# File 'lib/aws-sdk-appsync/client.rb', line 2643

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:



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

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:



2711
2712
2713
2714
# File 'lib/aws-sdk-appsync/client.rb', line 2711

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:



2766
2767
2768
2769
# File 'lib/aws-sdk-appsync/client.rb', line 2766

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:



2796
2797
2798
2799
# File 'lib/aws-sdk-appsync/client.rb', line 2796

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:



2843
2844
2845
2846
# File 'lib/aws-sdk-appsync/client.rb', line 2843

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:



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

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:



2936
2937
2938
2939
# File 'lib/aws-sdk-appsync/client.rb', line 2936

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:



3008
3009
3010
3011
# File 'lib/aws-sdk-appsync/client.rb', line 3008

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:



3066
3067
3068
3069
# File 'lib/aws-sdk-appsync/client.rb', line 3066

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", "AMAZON_BEDROCK_RUNTIME"
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:



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

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:



3180
3181
3182
3183
# File 'lib/aws-sdk-appsync/client.rb', line 3180

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:



3237
3238
3239
3240
# File 'lib/aws-sdk-appsync/client.rb', line 3237

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:



3333
3334
3335
3336
# File 'lib/aws-sdk-appsync/client.rb', line 3333

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:



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

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:



3465
3466
3467
3468
# File 'lib/aws-sdk-appsync/client.rb', line 3465

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:



3514
3515
3516
3517
# File 'lib/aws-sdk-appsync/client.rb', line 3514

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:



3543
3544
3545
3546
# File 'lib/aws-sdk-appsync/client.rb', line 3543

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:



3594
3595
3596
3597
# File 'lib/aws-sdk-appsync/client.rb', line 3594

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:



3654
3655
3656
3657
# File 'lib/aws-sdk-appsync/client.rb', line 3654

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:



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

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:



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

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:



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

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:



3862
3863
3864
3865
# File 'lib/aws-sdk-appsync/client.rb', line 3862

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:



3890
3891
3892
3893
# File 'lib/aws-sdk-appsync/client.rb', line 3890

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:



3916
3917
3918
3919
# File 'lib/aws-sdk-appsync/client.rb', line 3916

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:



4029
4030
4031
4032
# File 'lib/aws-sdk-appsync/client.rb', line 4029

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, OPERATION_LEVEL_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", "OPERATION_LEVEL_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 from the same user are cached. Individual resolvers are automatically cached. All API calls will try to return responses from the cache.

    • PER_RESOLVER_CACHING: Individual resolvers that you specify are cached.

    • OPERATION_LEVEL_CACHING: Full requests are cached together and returned without executing resolvers.

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



4140
4141
4142
4143
# File 'lib/aws-sdk-appsync/client.rb', line 4140

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:



4186
4187
4188
4189
# File 'lib/aws-sdk-appsync/client.rb', line 4186

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:



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

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, AMAZON_BEDROCK_RUNTIME
  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", "AMAZON_BEDROCK_RUNTIME"
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:



4408
4409
4410
4411
# File 'lib/aws-sdk-appsync/client.rb', line 4408

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:



4444
4445
4446
4447
# File 'lib/aws-sdk-appsync/client.rb', line 4444

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:



4550
4551
4552
4553
# File 'lib/aws-sdk-appsync/client.rb', line 4550

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

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

Updates a ‘GraphqlApi` object.

Examples:

Request syntax with placeholder values


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

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :api_id (required, String)

    The API ID.

  • :name (required, String)

    The new name for the ‘GraphqlApi` object.

  • :log_config (Types::LogConfig)

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

  • :authentication_type (required, String)

    The new authentication type for the ‘GraphqlApi` object.

  • :user_pool_config (Types::UserPoolConfig)

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

  • :open_id_connect_config (Types::OpenIDConnectConfig)

    The OpenID Connect configuration for the ‘GraphqlApi` object.

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

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

  • :xray_enabled (Boolean)

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

  • :lambda_authorizer_config (Types::LambdaAuthorizerConfig)

    Configuration for Lambda function authorization.

  • :merged_api_execution_role_arn (String)

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

  • :owner_contact (String)

    The owner contact information for an API resource.

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

  • :introspection_config (String)

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

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

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

  • :query_depth_limit (Integer)

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

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

  • :resolver_count_limit (Integer)

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

  • :enhanced_metrics_config (Types::EnhancedMetricsConfig)

    The ‘enhancedMetricsConfig` object.

Returns:

See Also:



4757
4758
4759
4760
# File 'lib/aws-sdk-appsync/client.rb', line 4757

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:



4899
4900
4901
4902
# File 'lib/aws-sdk-appsync/client.rb', line 4899

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:



4957
4958
4959
4960
# File 'lib/aws-sdk-appsync/client.rb', line 4957

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:



5001
5002
5003
5004
# File 'lib/aws-sdk-appsync/client.rb', line 5001

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.


5030
5031
5032
# File 'lib/aws-sdk-appsync/client.rb', line 5030

def waiter_names
  []
end