You are viewing documentation for version 2 of the AWS SDK for Ruby. Version 3 documentation can be found here.

Class: Aws::AppSync::Client

Inherits:
Seahorse::Client::Base show all
Defined in:
(unknown)

Overview

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

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

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

Region

You can configure a default region in the following locations:

  • ENV['AWS_REGION']
  • Aws.config[:region]

Go here for a list of supported regions.

Credentials

Default credentials are loaded automatically from the following locations:

  • ENV['AWS_ACCESS_KEY_ID'] and ENV['AWS_SECRET_ACCESS_KEY']
  • Aws.config[:credentials]
  • The shared credentials ini file at ~/.aws/credentials (more information)
  • From an instance profile when running on EC2

You can also construct a credentials object from one of the following classes:

Alternatively, you configure credentials with :access_key_id and :secret_access_key:

# load credentials from disk
creds = YAML.load(File.read('/path/to/secrets'))

Aws::AppSync::Client.new(
  access_key_id: creds['access_key_id'],
  secret_access_key: creds['secret_access_key']
)

Always load your credentials from outside your application. Avoid configuring credentials statically and never commit them to source control.

Instance Attribute Summary

Attributes inherited from Seahorse::Client::Base

#config, #handlers

Constructor collapse

API Operations collapse

Instance Method Summary collapse

Methods inherited from Seahorse::Client::Base

add_plugin, api, #build_request, clear_plugins, define, new, #operation, #operation_names, plugins, remove_plugin, set_api, set_plugins

Methods included from Seahorse::Client::HandlerBuilder

#handle, #handle_request, #handle_response

Constructor Details

#initialize(options = {}) ⇒ Aws::AppSync::Client

Constructs an API client.

Options Hash (options):

  • :access_key_id (String)

    Used to set credentials statically. See Plugins::RequestSigner for more details.

  • :active_endpoint_cache (Boolean)

    When set to true, a thread polling for endpoints will be running in the background every 60 secs (default). Defaults to false. See Plugins::EndpointDiscovery for more details.

  • :convert_params (Boolean) — default: true

    When true, an attempt is made to coerce request parameters into the required types. See Plugins::ParamConverter for more details.

  • :credentials (required, Credentials)

    Your AWS credentials. The following locations will be searched in order for credentials:

    • :access_key_id, :secret_access_key, and :session_token options
    • ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
    • HOME/.aws/credentials shared credentials file
    • EC2 instance profile credentials See Plugins::RequestSigner for more details.
  • :disable_host_prefix_injection (Boolean)

    Set to true to disable SDK automatically adding host prefix to default service endpoint when available. See Plugins::EndpointPattern for more details.

  • :endpoint (String)

    A default endpoint is constructed from the :region. See Plugins::RegionalEndpoint for more details.

  • :endpoint_cache_max_entries (Integer)

    Used for the maximum size limit of the LRU cache storing endpoints data for endpoint discovery enabled operations. Defaults to 1000. See Plugins::EndpointDiscovery for more details.

  • :endpoint_cache_max_threads (Integer)

    Used for the maximum threads in use for polling endpoints to be cached, defaults to 10. See Plugins::EndpointDiscovery for more details.

  • :endpoint_cache_poll_interval (Integer)

    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. See Plugins::EndpointDiscovery for more details.

  • :endpoint_discovery (Boolean)

    When set to true, endpoint discovery will be enabled for operations when available. Defaults to false. See Plugins::EndpointDiscovery for more details.

  • :http_continue_timeout (Float) — default: 1

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_idle_timeout (Integer) — default: 5

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_open_timeout (Integer) — default: 15

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_proxy (String)

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_read_timeout (Integer) — default: 60

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_wire_trace (Boolean) — default: false

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :log_level (Symbol) — default: :info

    The log level to send messages to the logger at. See Plugins::Logging for more details.

  • :log_formatter (Logging::LogFormatter)

    The log formatter. Defaults to Seahorse::Client::Logging::Formatter.default. See Plugins::Logging for more details.

  • :logger (Logger) — default: nil

    The Logger instance to send log messages to. If this option is not set, logging will be disabled. See Plugins::Logging for more details.

  • :profile (String)

    Used when loading credentials from the shared credentials file at HOME/.aws/credentials. When not specified, 'default' is used. See Plugins::RequestSigner for more details.

  • :raise_response_errors (Boolean) — default: true

    When true, response errors are raised. See Seahorse::Client::Plugins::RaiseResponseErrors for more details.

  • :region (required, String)

    The AWS region to connect to. The region is used to construct the client endpoint. Defaults to ENV['AWS_REGION']. Also checks AMAZON_REGION and AWS_DEFAULT_REGION. See Plugins::RegionalEndpoint for more details.

  • :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 and auth errors from expired credentials. See Plugins::RetryErrors for more details.

  • :secret_access_key (String)

    Used to set credentials statically. See Plugins::RequestSigner for more details.

  • :session_token (String)

    Used to set credentials statically. See Plugins::RequestSigner for more details.

  • :ssl_ca_bundle (String)

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :ssl_ca_directory (String)

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :ssl_ca_store (String)

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :ssl_verify_peer (Boolean) — default: true

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :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. See Plugins::StubResponses for more details.

  • :validate_params (Boolean) — default: true

    When true, request parameters are validated before sending the request. See Plugins::ParamValidator for more details.

Instance Method Details

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

Creates a cache for the GraphQL API.

Examples:

Request syntax with placeholder values


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

Response structure


resp.api_cache.ttl #=> Integer
resp.api_cache.api_caching_behavior #=> String, one of "FULL_REQUEST_CACHING", "PER_RESOLVER_CACHING"
resp.api_cache.transit_encryption_enabled #=> true/false
resp.api_cache.at_rest_encryption_enabled #=> true/false
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"

Options Hash (options):

  • :api_id (required, String)

    The GraphQL API Id.

  • :ttl (required, Integer)

    TTL in seconds for cache entries.

    Valid values are between 1 and 3600 seconds.

  • :transit_encryption_enabled (Boolean)

    Transit encryption flag when connecting to cache. This setting cannot be updated after creation.

  • :at_rest_encryption_enabled (Boolean)

    At rest encryption flag for cache. This setting cannot be updated after creation.

  • :api_caching_behavior (required, String)

    Caching behavior.

    • FULL_REQUEST_CACHING: All requests are fully cached.

    • PER_RESOLVER_CACHING: Individual resolvers that you specify are cached.

  • :type (required, String)

    The cache instance type. Valid values are

    • SMALL

    • MEDIUM

    • LARGE

    • XLARGE

    • LARGE_2X

    • LARGE_4X

    • LARGE_8X (not available in all regions)

    • LARGE_12X

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

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

    • T2_SMALL: A t2.small instance type.

    • T2_MEDIUM: A t2.medium instance type.

    • R4_LARGE: A r4.large instance type.

    • R4_XLARGE: A r4.xlarge instance type.

    • R4_2XLARGE: A r4.2xlarge instance type.

    • R4_4XLARGE: A r4.4xlarge instance type.

    • R4_8XLARGE: A r4.8xlarge instance type.

Returns:

See Also:

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

Creates a unique key that you can distribute to clients who are executing 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

Options Hash (options):

  • :api_id (required, String)

    The ID for your GraphQL API.

  • :description (String)

    A description of the purpose of the API key.

  • :expires (Integer)

    The time from creation 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:

#create_data_source(options = {}) ⇒ 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
  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
  },
  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",
    },
  },
})

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"
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 #=> true/false
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 #=> true/false
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.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

Options Hash (options):

  • :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 AWS IAM service role 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)

    AWS Lambda settings.

  • :elasticsearch_config (Types::ElasticsearchDataSourceConfig)

    Amazon Elasticsearch Service settings.

  • :http_config (Types::HttpDataSourceConfig)

    HTTP endpoint settings.

  • :relational_database_config (Types::RelationalDatabaseDataSourceConfig)

    Relational database settings.

Returns:

See Also:

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

Creates a Function object.

A function is a reusable entity. Multiple functions can be used 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", # 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

Options Hash (options):

  • :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 (required, String)

    The version of the request mapping template. Currently the supported value is 2018-05-29.

Returns:

See Also:

#create_graphql_api(options = {}) ⇒ 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
    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
  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
      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",
      },
    },
  ],
  xray_enabled: false,
})

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"
resp.graphql_api.log_config.field_log_level #=> String, one of "NONE", "ERROR", "ALL"
resp.graphql_api.log_config.cloud_watch_logs_role_arn #=> String
resp.graphql_api.log_config.exclude_verbose_content #=> true/false
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"
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.xray_enabled #=> true/false
resp.graphql_api.waf_web_acl_arn #=> String

Options Hash (options):

  • :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, AWS IAM, OIDC, or Amazon Cognito user pools.

  • :user_pool_config (Types::UserPoolConfig)

    The Amazon Cognito user pool configuration.

  • :open_id_connect_config (Types::OpenIDConnectConfig)

    The OpenID Connect 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 enable X-Ray tracing for the GraphqlApi.

Returns:

See Also:

#create_resolver(options = {}) ⇒ 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,
    caching_keys: ["String"],
  },
})

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

Options Hash (options):

  • :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 be used 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 a Lambda data source. For all other data sources, VTL request and response mapping templates are required.

  • :response_mapping_template (String)

    The mapping template to be used for responses from the data source.

  • :kind (String)

    The resolver type.

    • UNIT: A UNIT resolver type. A UNIT resolver is the default resolver type. A UNIT resolver enables you to execute a GraphQL query against a single data source.

    • PIPELINE: A PIPELINE resolver type. A PIPELINE resolver enables you to execute a series of Function in a serial manner. You can use a pipeline resolver to execute 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 datasource.

  • :caching_config (Types::CachingConfig)

    The caching configuration for the resolver.

Returns:

See Also:

#create_type(options = {}) ⇒ 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"

Options Hash (options):

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

  • :format (required, String)

    The type format: SDL or JSON.

Returns:

See Also:

#delete_api_cache(options = {}) ⇒ Struct

Deletes an ApiCache object.

Examples:

Request syntax with placeholder values


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

Options Hash (options):

  • :api_id (required, String)

    The API ID.

Returns:

  • (Struct)

    Returns an empty response.

See Also:

#delete_api_key(options = {}) ⇒ Struct

Deletes an API key.

Examples:

Request syntax with placeholder values


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

Options Hash (options):

  • :api_id (required, String)

    The API ID.

  • :id (required, String)

    The ID for the API key.

Returns:

  • (Struct)

    Returns an empty response.

See Also:

#delete_data_source(options = {}) ⇒ Struct

Deletes a DataSource object.

Examples:

Request syntax with placeholder values


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

Options Hash (options):

  • :api_id (required, String)

    The API ID.

  • :name (required, String)

    The name of the data source.

Returns:

  • (Struct)

    Returns an empty response.

See Also:

#delete_function(options = {}) ⇒ Struct

Deletes a Function.

Examples:

Request syntax with placeholder values


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

Options Hash (options):

  • :api_id (required, String)

    The GraphQL API ID.

  • :function_id (required, String)

    The Function ID.

Returns:

  • (Struct)

    Returns an empty response.

See Also:

#delete_graphql_api(options = {}) ⇒ Struct

Deletes a GraphqlApi object.

Examples:

Request syntax with placeholder values


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

Options Hash (options):

  • :api_id (required, String)

    The API ID.

Returns:

  • (Struct)

    Returns an empty response.

See Also:

#delete_resolver(options = {}) ⇒ 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
})

Options Hash (options):

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

#delete_type(options = {}) ⇒ Struct

Deletes a Type object.

Examples:

Request syntax with placeholder values


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

Options Hash (options):

  • :api_id (required, String)

    The API ID.

  • :type_name (required, String)

    The type name.

Returns:

  • (Struct)

    Returns an empty response.

See Also:

#flush_api_cache(options = {}) ⇒ Struct

Flushes an ApiCache object.

Examples:

Request syntax with placeholder values


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

Options Hash (options):

  • :api_id (required, String)

    The API ID.

Returns:

  • (Struct)

    Returns an empty response.

See Also:

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

Retrieves an ApiCache object.

Examples:

Request syntax with placeholder values


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

Response structure


resp.api_cache.ttl #=> Integer
resp.api_cache.api_caching_behavior #=> String, one of "FULL_REQUEST_CACHING", "PER_RESOLVER_CACHING"
resp.api_cache.transit_encryption_enabled #=> true/false
resp.api_cache.at_rest_encryption_enabled #=> true/false
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"

Options Hash (options):

  • :api_id (required, String)

    The API ID.

Returns:

See Also:

#get_data_source(options = {}) ⇒ 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"
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 #=> true/false
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 #=> true/false
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.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

Options Hash (options):

  • :api_id (required, String)

    The API ID.

  • :name (required, String)

    The name of the data source.

Returns:

See Also:

#get_function(options = {}) ⇒ 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

Options Hash (options):

  • :api_id (required, String)

    The GraphQL API ID.

  • :function_id (required, String)

    The Function ID.

Returns:

See Also:

#get_graphql_api(options = {}) ⇒ 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"
resp.graphql_api.log_config.field_log_level #=> String, one of "NONE", "ERROR", "ALL"
resp.graphql_api.log_config.cloud_watch_logs_role_arn #=> String
resp.graphql_api.log_config.exclude_verbose_content #=> true/false
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"
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.xray_enabled #=> true/false
resp.graphql_api.waf_web_acl_arn #=> String

Options Hash (options):

  • :api_id (required, String)

    The API ID for the GraphQL API.

Returns:

See Also:

#get_introspection_schema(options = {}) ⇒ 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 #=> IO

Options Hash (options):

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

#get_resolver(options = {}) ⇒ 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

Options Hash (options):

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

#get_schema_creation_status(options = {}) ⇒ 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

Options Hash (options):

  • :api_id (required, String)

    The API ID.

Returns:

See Also:

#get_type(options = {}) ⇒ 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"

Options Hash (options):

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

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

Lists the API keys for a given API.

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.

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

Options Hash (options):

  • :api_id (required, String)

    The API ID.

  • :next_token (String)

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

  • :max_results (Integer)

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

Returns:

See Also:

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

Lists the data sources for a given API.

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"
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 #=> true/false
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 #=> true/false
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].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.next_token #=> String

Options Hash (options):

  • :api_id (required, String)

    The API ID.

  • :next_token (String)

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

  • :max_results (Integer)

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

Returns:

See Also:

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

List multiple functions.

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.next_token #=> String

Options Hash (options):

  • :api_id (required, String)

    The GraphQL API ID.

  • :next_token (String)

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

  • :max_results (Integer)

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

Returns:

See Also:

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

Lists your GraphQL APIs.

Examples:

Request syntax with placeholder values


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

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"
resp.graphql_apis[0].log_config.field_log_level #=> String, one of "NONE", "ERROR", "ALL"
resp.graphql_apis[0].log_config.cloud_watch_logs_role_arn #=> String
resp.graphql_apis[0].log_config.exclude_verbose_content #=> true/false
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"
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].xray_enabled #=> true/false
resp.graphql_apis[0].waf_web_acl_arn #=> String
resp.next_token #=> String

Options Hash (options):

  • :next_token (String)

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

  • :max_results (Integer)

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

Returns:

See Also:

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

Lists the resolvers for a given API and type.

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.next_token #=> String

Options Hash (options):

  • :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 can be used to return the next set of items in the list.

  • :max_results (Integer)

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

Returns:

See Also:

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

List the resolvers that are associated with a specific function.

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.next_token #=> String

Options Hash (options):

  • :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 you want the request to return.

Returns:

See Also:

#list_tags_for_resource(options = {}) ⇒ 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

Options Hash (options):

  • :resource_arn (required, String)

    The GraphqlApi ARN.

Returns:

See Also:

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

Lists the types for a given API.

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

Options Hash (options):

  • :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 can be used to return the next set of items in the list.

  • :max_results (Integer)

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

Returns:

See Also:

#start_schema_creation(options = {}) ⇒ 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"

Options Hash (options):

  • :api_id (required, String)

    The API ID.

  • :definition (required, IO, String)

    The schema definition, in GraphQL schema language format.

Returns:

See Also:

#tag_resource(options = {}) ⇒ 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",
  },
})

Options Hash (options):

  • :resource_arn (required, String)

    The GraphqlApi ARN.

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

    A TagMap object.

Returns:

  • (Struct)

    Returns an empty response.

See Also:

#untag_resource(options = {}) ⇒ Struct

Untags a resource.

Examples:

Request syntax with placeholder values


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

Options Hash (options):

  • :resource_arn (required, String)

    The GraphqlApi ARN.

  • :tag_keys (required, Array<String>)

    A list of TagKey objects.

Returns:

  • (Struct)

    Returns an empty response.

See Also:

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

Updates the cache for the GraphQL API.

Examples:

Request syntax with placeholder values


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

Response structure


resp.api_cache.ttl #=> Integer
resp.api_cache.api_caching_behavior #=> String, one of "FULL_REQUEST_CACHING", "PER_RESOLVER_CACHING"
resp.api_cache.transit_encryption_enabled #=> true/false
resp.api_cache.at_rest_encryption_enabled #=> true/false
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"

Options Hash (options):

  • :api_id (required, String)

    The GraphQL API Id.

  • :ttl (required, Integer)

    TTL in seconds for cache entries.

    Valid values are between 1 and 3600 seconds.

  • :api_caching_behavior (required, String)

    Caching behavior.

    • FULL_REQUEST_CACHING: All requests are fully cached.

    • PER_RESOLVER_CACHING: Individual resolvers that you specify are cached.

  • :type (required, String)

    The cache instance type. Valid values are

    • SMALL

    • MEDIUM

    • LARGE

    • XLARGE

    • LARGE_2X

    • LARGE_4X

    • LARGE_8X (not available in all regions)

    • LARGE_12X

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

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

    • T2_SMALL: A t2.small instance type.

    • T2_MEDIUM: A t2.medium instance type.

    • R4_LARGE: A r4.large instance type.

    • R4_XLARGE: A r4.xlarge instance type.

    • R4_2XLARGE: A r4.2xlarge instance type.

    • R4_4XLARGE: A r4.4xlarge instance type.

    • R4_8XLARGE: A r4.8xlarge instance type.

Returns:

See Also:

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

Updates an API key. The key can be updated while it is 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

Options Hash (options):

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

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

Returns:

See Also:

#update_data_source(options = {}) ⇒ 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
  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
  },
  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",
    },
  },
})

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"
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 #=> true/false
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 #=> true/false
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.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

Options Hash (options):

Returns:

See Also:

#update_function(options = {}) ⇒ 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", # 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

Options Hash (options):

  • :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 (required, String)

    The version of the request mapping template. Currently the supported value is 2018-05-29.

Returns:

See Also:

#update_graphql_api(options = {}) ⇒ 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
    cloud_watch_logs_role_arn: "String", # required
    exclude_verbose_content: false,
  },
  authentication_type: "API_KEY", # accepts API_KEY, AWS_IAM, AMAZON_COGNITO_USER_POOLS, OPENID_CONNECT
  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
      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",
      },
    },
  ],
  xray_enabled: false,
})

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"
resp.graphql_api.log_config.field_log_level #=> String, one of "NONE", "ERROR", "ALL"
resp.graphql_api.log_config.cloud_watch_logs_role_arn #=> String
resp.graphql_api.log_config.exclude_verbose_content #=> true/false
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"
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.xray_enabled #=> true/false
resp.graphql_api.waf_web_acl_arn #=> String

Options Hash (options):

  • :api_id (required, String)

    The API ID.

  • :name (required, String)

    The new name for the GraphqlApi object.

  • :log_config (Types::LogConfig)

    The Amazon CloudWatch Logs configuration for the GraphqlApi object.

  • :authentication_type (String)

    The new authentication type for the GraphqlApi object.

  • :user_pool_config (Types::UserPoolConfig)

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

  • :open_id_connect_config (Types::OpenIDConnectConfig)

    The OpenID Connect configuration for the GraphqlApi object.

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

    A list of additional authentication providers for the GraphqlApi API.

  • :xray_enabled (Boolean)

    A flag indicating whether to enable X-Ray tracing for the GraphqlApi.

Returns:

See Also:

#update_resolver(options = {}) ⇒ 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,
    caching_keys: ["String"],
  },
})

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

Options Hash (options):

  • :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 a 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. A UNIT resolver enables you to execute a GraphQL query against a single data source.

    • PIPELINE: A PIPELINE resolver type. A PIPELINE resolver enables you to execute a series of Function in a serial manner. You can use a pipeline resolver to execute 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 datasource.

  • :caching_config (Types::CachingConfig)

    The caching configuration for the resolver.

Returns:

See Also:

#update_type(options = {}) ⇒ 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"

Options Hash (options):

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

#wait_until(waiter_name, params = {}) {|waiter| ... } ⇒ Boolean

Waiters polls an API operation until a resource enters a desired state.

Basic Usage

Waiters will poll until they are succesful, they fail by entering a terminal state, or until a maximum number of attempts are made.

# polls in a loop, sleeping between attempts client.waiter_until(waiter_name, params)

Configuration

You can configure the maximum number of polling attempts, and the delay (in seconds) between each polling attempt. You configure waiters by passing a block to #wait_until:

# poll for ~25 seconds
client.wait_until(...) do |w|
  w.max_attempts = 5
  w.delay = 5
end

Callbacks

You can be notified before each polling attempt and before each delay. If you throw :success or :failure from these callbacks, it will terminate the waiter.

started_at = Time.now
client.wait_until(...) do |w|

  # disable max attempts
  w.max_attempts = nil

  # poll for 1 hour, instead of a number of attempts
  w.before_wait do |attempts, response|
    throw :failure if Time.now - started_at > 3600
  end

end

Handling Errors

When a waiter is successful, it returns true. When a waiter fails, it raises an error. All errors raised extend from Waiters::Errors::WaiterFailed.

begin
  client.wait_until(...)
rescue Aws::Waiters::Errors::WaiterFailed
  # resource did not enter the desired state in time
end

Parameters:

  • waiter_name (Symbol)

    The name of the waiter. See #waiter_names for a full list of supported waiters.

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

    Additional request parameters. See the #waiter_names for a list of supported waiters and what request they call. The called request determines the list of accepted parameters.

Yield Parameters:

Returns:

  • (Boolean)

    Returns true if the waiter was successful.

Raises:

  • (Errors::FailureStateError)

    Raised when the waiter terminates because the waiter has entered a state that it will not transition out of, preventing success.

  • (Errors::TooManyAttemptsError)

    Raised when the configured maximum number of attempts have been made, and the waiter is not yet successful.

  • (Errors::UnexpectedError)

    Raised when an error is encounted while polling for a resource that is not expected.

  • (Errors::NoSuchWaiterError)

    Raised when you request to wait for an unknown state.

#waiter_namesArray<Symbol>

Returns the list of supported waiters. The following table lists the supported waiters and the client method they call:

Waiter NameClient MethodDefault Delay:Default Max Attempts:

Returns:

  • (Array<Symbol>)

    the list of supported waiters.