in samtranslator/model/sam_resources.py [0:0]
def to_cloudformation(self, **kwargs: Any) -> List[Resource]:
model = self.validate_properties_and_return_model(aws_serverless_graphqlapi.Properties)
appsync_api, cloudwatch_role, auth_connectors = self._construct_appsync_api_resources(model)
api_id = appsync_api.get_runtime_attr("api_id")
appsync_schema = self._construct_appsync_schema(model, api_id)
resources: List[Resource] = [appsync_api, appsync_schema]
for connector in auth_connectors:
resources.extend(connector.to_cloudformation(**kwargs))
if cloudwatch_role:
resources.append(cloudwatch_role)
if model.ApiKeys:
api_keys = self._construct_appsync_api_keys(model.ApiKeys, api_id)
resources.extend(api_keys)
if model.Cache:
api_cache = self._construct_appsync_api_cache(model.Cache, api_id)
resources.append(api_cache)
if model.DataSources:
datasource_resources = self._construct_datasource_resources(model.DataSources, api_id, kwargs)
resources.extend(datasource_resources)
if model.DomainName:
domain_name_resources = self._construct_domain_name_resources(model.DomainName, api_id)
resources.extend(domain_name_resources)
if model.Functions:
function_configurations = self._construct_appsync_function_configurations(model.Functions, api_id)
resources.extend(function_configurations)
if model.Resolvers:
appsync_resolver_resources = self._construct_appsync_resolver_resources(
model.Resolvers, api_id, appsync_schema.logical_id
)
resources.extend(appsync_resolver_resources)
if self._none_datasource:
resources.append(self._none_datasource)
return resources