def _construct_stage(self, deployment, swagger):
<EOL>stage_name_prefix = self.stage_name if isinstance(self.stage_name, string_types) else "<STR_LIT>"<EOL>stage = ApiGatewayStage(self.logical_id + stage_name_prefix + '<STR_LIT>',<EOL>attributes=self.passthrough_resource_attributes)<EOL>stage.RestApiId = ref(self.logical_id)<EOL>stage.update_deployment_ref(deployment.logical_id)<EOL>stage.StageName = self.stage_name<EOL>stage.CacheClusterEnabled = self.cache_cluster_enabled<EOL>stage.CacheClusterSize = self.cache_cluster_size<EOL>stage.Variables = self.variables<EOL>stage.MethodSettings = self.method_settings<EOL>stage.AccessLogSetting = self.access_log_setting<EOL>stage.CanarySetting = self.canary_setting<EOL>stage.TracingEnabled = self.tracing_enabled<EOL>if swagger is not None:<EOL><INDENT>deployment.make_auto_deployable(stage, swagger)<EOL><DEDENT>return stage<EOL>
Constructs and returns the ApiGateway Stage.

        :param model.apigateway.ApiGatewayDeployment deployment: the Deployment for this Stage
        :returns: the Stage to which this SAM Api corresponds
        :rtype: model.apigateway.ApiGatewayStage