コード例 #1
0
def test_update_log_ingestion(aws_credentials, mock_function_config):
    mock_session = MagicMock()
    mock_client = mock_session.client.return_value
    mock_client.get_function.return_value = None

    assert (update_log_ingestion(integration_update(session=mock_session), ) is
            False)

    mock_client.get_function.reset_mock(return_value=True)
    mock_client.get_function.return_value = mock_function_config("python3.6")
    mock_client.describe_stacks.return_value = {
        "Stacks": [{
            "StackStatus": None
        }]
    }

    assert (update_log_ingestion(integration_update(session=mock_session), ) is
            False)

    mock_client.describe_stacks.reset_mock(return_value=True)
    mock_client.describe_stacks.return_value = {
        "Stacks": [{
            "StackStatus": "peachy"
        }]
    }

    assert (update_log_ingestion(integration_update(session=mock_session), ) is
            True)
コード例 #2
0
def update(**kwargs):
    """UpdateNew Relic AWS Lambda Integration"""
    input = IntegrationUpdate(session=None, **kwargs)

    input = input._replace(
        session=boto3.Session(
            profile_name=input.aws_profile, region_name=input.aws_region
        )
    )

    if input.aws_permissions_check:
        permissions.ensure_integration_install_permissions(input)

    update_success = True

    click.echo("Updating newrelic-log-ingestion Lambda function in AWS account")
    res = integrations.update_log_ingestion(input)
    update_success = res and update_success

    if input.enable_license_key_secret:
        update_success = update_success and integrations.auto_install_license_key(input)
    else:
        integrations.remove_license_key(input)

    if update_success:
        done("Update Complete")
    else:
        failure("Update Incomplete. See messages above for details.", exit=True)
コード例 #3
0
def update(
    aws_profile,
    aws_region,
    aws_permissions_check,
    enable_logs,
    memory_size,
    timeout,
    role_name,
):
    """UpdateNew Relic AWS Lambda Integration"""
    session = boto3.Session(profile_name=aws_profile, region_name=aws_region)

    if aws_permissions_check:
        permissions.ensure_integration_install_permissions(session)

    update_success = True

    click.echo(
        "Updating newrelic-log-ingestion Lambda function in AWS account")
    res = integrations.update_log_ingestion(session, None, enable_logs,
                                            memory_size, timeout, role_name)
    update_success = res and update_success

    if update_success:
        done("Update Complete")
    else:
        failure("Update Incomplete. See messages above for details.",
                exit=True)