本文整理匯總了Python中webhook2lambda2sqs.terraform_runner.TerraformRunner._get_outputs方法的典型用法代碼示例。如果您正苦於以下問題:Python TerraformRunner._get_outputs方法的具體用法?Python TerraformRunner._get_outputs怎麽用?Python TerraformRunner._get_outputs使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類webhook2lambda2sqs.terraform_runner.TerraformRunner
的用法示例。
在下文中一共展示了TerraformRunner._get_outputs方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: get_base_url
# 需要導入模塊: from webhook2lambda2sqs.terraform_runner import TerraformRunner [as 別名]
# 或者: from webhook2lambda2sqs.terraform_runner.TerraformRunner import _get_outputs [as 別名]
def get_base_url(config, args):
"""
Get the API base url. Try Terraform state first, then
:py:class:`~.AWSInfo`.
:param config: configuration
:type config: :py:class:`~.Config`
:param args: command line arguments
:type args: :py:class:`argparse.Namespace`
:return: API base URL
:rtype: str
"""
try:
logger.debug('Trying to get Terraform base_url output')
runner = TerraformRunner(config, args.tf_path)
outputs = runner._get_outputs()
base_url = outputs['base_url']
logger.debug("Terraform base_url output: '%s'", base_url)
except Exception:
logger.info('Unable to find API base_url from Terraform state; '
'querying AWS.', exc_info=1)
aws = AWSInfo(config)
base_url = aws.get_api_base_url()
logger.debug("AWS api_base_url: '%s'", base_url)
if not base_url.endswith('/'):
base_url += '/'
return base_url
示例2: get_base_url
# 需要導入模塊: from webhook2lambda2sqs.terraform_runner import TerraformRunner [as 別名]
# 或者: from webhook2lambda2sqs.terraform_runner.TerraformRunner import _get_outputs [as 別名]
def get_base_url(dir_path):
"""
get the base url to the API
"""
os.chdir(dir_path)
conf = Config(os.path.join(dir_path, 'config.json'))
tf_runner = TerraformRunner(conf, 'terraform')
outs = tf_runner._get_outputs()
return outs['base_url']
示例3: test_get_outputs_0point7plus
# 需要導入模塊: from webhook2lambda2sqs.terraform_runner import TerraformRunner [as 別名]
# 或者: from webhook2lambda2sqs.terraform_runner.TerraformRunner import _get_outputs [as 別名]
def test_get_outputs_0point7plus(self):
expected = {
'base_url': 'https://ljgx260ix7.execute-api.us-east-1.ama/bar/',
'arn': 'arn:aws:iam::1234567890:role/foo',
'foobar': 'foo = bar = baz.w32'
}
resp = json.dumps(expected) + "\n"
with patch('%s._validate' % pb):
cls = TerraformRunner(self.mock_config(), 'terraform-bin')
cls.tf_version = (0, 7, 0)
with patch('%s.logger' % pbm, autospec=True) as mock_logger:
with patch('%s._run_tf' % pb, autospec=True) as mock_run:
mock_run.return_value = resp
res = cls._get_outputs()
assert res == expected
assert mock_run.mock_calls == [call(cls, 'output', cmd_args=['-json'])]
assert mock_logger.mock_calls == [
call.debug('Running: terraform output'),
call.debug('Terraform outputs: %s', expected)
]
示例4: test_get_outputs_pre0point7
# 需要導入模塊: from webhook2lambda2sqs.terraform_runner import TerraformRunner [as 別名]
# 或者: from webhook2lambda2sqs.terraform_runner.TerraformRunner import _get_outputs [as 別名]
def test_get_outputs_pre0point7(self):
resp = "base_url = https://ljgx260ix7.execute-api.us-east-1.ama/bar/\n"
resp += "arn = arn:aws:iam::1234567890:role/foo\n"
resp += "foobar = foo = bar = baz.w32\n\n"
expected = {
'base_url': 'https://ljgx260ix7.execute-api.us-east-1.ama/bar/',
'arn': 'arn:aws:iam::1234567890:role/foo',
'foobar': 'foo = bar = baz.w32'
}
with patch('%s._validate' % pb):
cls = TerraformRunner(self.mock_config(), 'terraform-bin')
cls.tf_version = (0, 6, 16)
with patch('%s.logger' % pbm, autospec=True) as mock_logger:
with patch('%s._run_tf' % pb, autospec=True) as mock_run:
mock_run.return_value = resp
res = cls._get_outputs()
assert res == expected
assert mock_run.mock_calls == [call(cls, 'output')]
assert mock_logger.mock_calls == [
call.debug('Running: terraform output'),
call.debug('Terraform outputs: %s', expected)
]
示例5: get_api_id
# 需要導入模塊: from webhook2lambda2sqs.terraform_runner import TerraformRunner [as 別名]
# 或者: from webhook2lambda2sqs.terraform_runner.TerraformRunner import _get_outputs [as 別名]
def get_api_id(config, args):
"""
Get the API ID from Terraform, or from AWS if that fails.
:param config: configuration
:type config: :py:class:`~.Config`
:param args: command line arguments
:type args: :py:class:`argparse.Namespace`
:return: API Gateway ID
:rtype: str
"""
try:
logger.debug('Trying to get Terraform rest_api_id output')
runner = TerraformRunner(config, args.tf_path)
outputs = runner._get_outputs()
depl_id = outputs['rest_api_id']
logger.debug("Terraform rest_api_id output: '%s'", depl_id)
except Exception:
logger.info('Unable to find API rest_api_id from Terraform state;'
' querying AWS.', exc_info=1)
aws = AWSInfo(config)
depl_id = aws.get_api_id()
logger.debug("AWS API ID: '%s'", depl_id)
return depl_id